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>