Annotation of embedaddon/php/Zend/tests/bug29689.phpt, revision 1.1.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>