Annotation of embedaddon/php/ext/pdo/tests/bug_44409.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: PDO Common: Bug #44409 (PDO::FETCH_SERIALIZE calls __construct())
3: --SKIPIF--
4: <?php # vim:ft=php
5: if (!extension_loaded('pdo')) die('skip');
6: $dir = getenv('REDIR_TEST_DIR');
7: if (false == $dir) die('skip no driver');
8: require_once $dir . 'pdo_test.inc';
9: PDOTest::skip();
10: ?>
11: --FILE--
12: <?php
13: if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.dirname(__FILE__) . '/../../pdo/tests/');
14: require getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
15: $db = PDOTest::factory();
16:
17: $db->exec("CREATE TABLE test (dat varchar(100))");
18: $db->exec("INSERT INTO test (dat) VALUES ('Data from DB')");
19:
20: class bug44409 implements Serializable
21: {
22: public function __construct()
23: {
24: printf("Method called: %s()\n", __METHOD__);
25: }
26:
27: public function serialize()
28: {
29: return "any data from serizalize()";
30: }
31:
32: public function unserialize($dat)
33: {
34: printf("Method called: %s(%s)\n", __METHOD__, var_export($dat, true));
35: }
36: }
37:
38: $stmt = $db->query("SELECT * FROM test");
39:
40: print_r($stmt->fetchAll(PDO::FETCH_CLASS|PDO::FETCH_SERIALIZE, "bug44409"));
41:
42: ?>
43: --EXPECT--
44: Method called: bug44409::unserialize('Data from DB')
45: Array
46: (
47: [0] => bug44409 Object
48: (
49: )
50:
51: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>