Annotation of embedaddon/php/ext/pdo_sqlite/tests/bug43831.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #43831 ($this gets mangled when extending PDO with persistent connection)
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: class Foo extends PDO {
                      9:        function __construct($dsn) {
                     10:                parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
                     11:        }
                     12: }
                     13: 
                     14: class Baz extends PDO {
                     15:        function __construct($dsn) {
                     16:                parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
                     17:        }
                     18: }
                     19: 
                     20: class Bar extends Baz {
                     21:        function quux() {
                     22:                echo get_class($this), "\n";
                     23:                $foo = new Foo("sqlite::memory:");
                     24:                echo get_class($this), "\n";
                     25:        }
                     26: }
                     27: 
                     28: $bar = new Bar("sqlite::memory:");
                     29: $bar->quux();
                     30: 
                     31: 
                     32: class MyPDO extends PDO {}
                     33: 
                     34: $bar = new PDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
                     35: $baz = new MyPDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
                     36: 
                     37: var_dump($bar);
                     38: unset($bar);
                     39: var_dump($baz);
                     40: var_dump($bar);
                     41: 
                     42: 
                     43: ?>
                     44: --EXPECTF--
                     45: Bar
                     46: Bar
                     47: object(MyPDO)#%d (0) {
                     48: }
                     49: object(MyPDO)#%d (0) {
                     50: }
                     51: 
                     52: Notice: Undefined variable: bar in %s on line %d
                     53: NULL

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>