diff options
author | Will Fitch <willfitch@php.net> | 2012-09-24 13:31:20 -0400 |
---|---|---|
committer | David Soria Parra <dsp@php.net> | 2012-10-30 14:32:16 +0100 |
commit | f0835c002d473a50d13d0fd7366224ffbd1431ab (patch) | |
tree | 19b07afdb25a82dd409f1ca86ec680af9b1ea104 | |
parent | 7ea4f73ad4510088936dc3679e603e2e8569398c (diff) | |
download | php-git-f0835c002d473a50d13d0fd7366224ffbd1431ab.tar.gz |
Bug #62593 Added test for change
-rw-r--r-- | ext/pdo_pgsql/tests/bug62593.phpt | 44 |
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 |