]> granicus.if.org Git - php/commitdiff
Bug #62593 Added test for change
authorWill Fitch <willfitch@php.net>
Mon, 24 Sep 2012 17:31:20 +0000 (13:31 -0400)
committerDavid Soria Parra <dsp@php.net>
Tue, 30 Oct 2012 13:32:16 +0000 (14:32 +0100)
ext/pdo_pgsql/tests/bug62593.phpt [new file with mode: 0644]

diff --git a/ext/pdo_pgsql/tests/bug62593.phpt b/ext/pdo_pgsql/tests/bug62593.phpt
new file mode 100644 (file)
index 0000000..3caf308
--- /dev/null
@@ -0,0 +1,44 @@
+--TEST--
+PDO PgSQL Bug #62593 (Emulate prepares behave strangely with PARAM_BOOL)
+--SKIPIF--
+<?php
+if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
+require dirname(__FILE__) . '/config.inc';
+require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
+PDOTest::skip();
+?>
+--FILE--
+<?php
+require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
+$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
+$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
+$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
+$errors = array();
+
+$query = $db->prepare('SELECT :foo IS FALSE as val_is_false');
+$query->bindValue(':foo', true, PDO::PARAM_BOOL);
+$query->execute();
+$errors[] = $query->errorInfo();
+
+$query->bindValue(':foo', 0, PDO::PARAM_BOOL);
+$query->execute();
+$errors[] = $query->errorInfo();
+
+$query->bindValue(':foo', false, PDO::PARAM_BOOL);
+$query->execute();
+$errors[] = $query->errorInfo();
+
+$expect = 'No errors found';
+
+foreach ($errors as $error)
+{
+  if (strpos('Invalid text representation', $error[2]) !== false)
+  {
+    $expect = 'Invalid boolean found';
+  }
+}
+echo $expect;
+?>
+--EXPECTF--
+
+No errors found