Annotation of embedaddon/php/Zend/tests/bug29689.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #29689 (default value of protected member overrides default value of private)
        !             3: --FILE--
        !             4: <?php
        !             5: class foo {
        !             6:     private $foo = 'foo';
        !             7:     private $foo2 = 'foo2';
        !             8: 
        !             9:     function printFoo()
        !            10:     {
        !            11:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
        !            12:     }
        !            13: }
        !            14: 
        !            15: class bar extends foo {
        !            16:     protected $foo = 'bar';
        !            17: 
        !            18:     function printFoo()
        !            19:     {
        !            20:         parent::printFoo();
        !            21:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
        !            22:     }
        !            23: }
        !            24: 
        !            25: class baz extends bar {
        !            26:     protected $foo = 'baz';
        !            27:     protected $foo2 = 'baz2';
        !            28: }
        !            29: 
        !            30: class bar2 extends foo {
        !            31:     function printFoo()
        !            32:     {
        !            33:         parent::printFoo();
        !            34:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
        !            35:     }
        !            36: }
        !            37: 
        !            38: class baz2 extends bar2 {
        !            39:     protected $foo = 'baz2';
        !            40:     protected $foo2 = 'baz22';
        !            41: }
        !            42: 
        !            43: $bar = new bar;
        !            44: $bar->printFoo();
        !            45: echo "---baz--\n";
        !            46: $baz = new baz();
        !            47: $baz->printFoo();
        !            48: echo "---baz2--\n";
        !            49: $baz = new baz2();
        !            50: $baz->printFoo();
        !            51: ?>
        !            52: --EXPECTF--
        !            53: foo: foo foo2
        !            54: bar: bar 
        !            55: Notice: Undefined property: bar::$foo2 in %s on line %d
        !            56: 
        !            57: ---baz--
        !            58: foo: foo foo2
        !            59: bar: baz baz2
        !            60: ---baz2--
        !            61: foo: foo foo2
        !            62: bar2: baz2 baz22

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