diff options
Diffstat (limited to 'Zend/tests/bug37212.phpt')
| -rwxr-xr-x | Zend/tests/bug37212.phpt | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Zend/tests/bug37212.phpt b/Zend/tests/bug37212.phpt new file mode 100755 index 000000000..5320a6173 --- /dev/null +++ b/Zend/tests/bug37212.phpt @@ -0,0 +1,55 @@ +--TEST-- +Bug #3721 (Access to protected property of common base class) +--FILE-- +<?php + +class A +{ + protected $value; + + public function __construct($val) + { + $this->value = $val; + } + + protected function getValue() + { + return $this->value; + } +} + +class B extends A +{ + public function copyValue($obj) + { + $this->value = $obj->getValue(); + $this->value = $obj->value; // value defined in common base class + } +} +class C extends A {} + +$B = new B("B"); +var_dump($B); +$C = new C("C"); +var_dump($C); + +$B->copyValue($C); + +var_dump($B); + +?> +===DONE=== +--EXPECTF-- +object(B)#%d (1) { + ["value:protected"]=> + string(1) "B" +} +object(C)#%d (1) { + ["value:protected"]=> + string(1) "C" +} +object(B)#%d (1) { + ["value:protected"]=> + string(1) "C" +} +===DONE=== |
