Annotation of embedaddon/php/ext/pdo/tests/bug_44409.phpt, revision 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>