summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Fitch <willfitch@php.net>2012-09-24 13:31:20 -0400
committerDavid Soria Parra <dsp@php.net>2012-10-30 14:32:16 +0100
commitf0835c002d473a50d13d0fd7366224ffbd1431ab (patch)
tree19b07afdb25a82dd409f1ca86ec680af9b1ea104
parent7ea4f73ad4510088936dc3679e603e2e8569398c (diff)
downloadphp-git-f0835c002d473a50d13d0fd7366224ffbd1431ab.tar.gz
Bug #62593 Added test for change
-rw-r--r--ext/pdo_pgsql/tests/bug62593.phpt44
1 files changed, 44 insertions, 0 deletions
diff --git a/ext/pdo_pgsql/tests/bug62593.phpt b/ext/pdo_pgsql/tests/bug62593.phpt
new file mode 100644
index 0000000000..3caf30814a
--- /dev/null
+++ b/ext/pdo_pgsql/tests/bug62593.phpt
@@ -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