diff options
Diffstat (limited to 'Zend/tests/bug37212.phpt')
| -rw-r--r-- | 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 100644 index 0000000..212ef23 --- /dev/null +++ b/Zend/tests/bug37212.phpt @@ -0,0 +1,55 @@ +--TEST-- +Bug #37212 (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=== |
