diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:36:21 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:36:21 -0400 |
| commit | d29a4fd2dd3b5d4cf6e80b602544d7b71d794e76 (patch) | |
| tree | b38e2e5c6974b9a15f103e5cf884cba9fff90ef4 /Zend/tests/bug37212.phpt | |
| parent | a88a88d0986a4a32288c102cdbfebd78d7e91d99 (diff) | |
| download | php-upstream/5.2.0.tar.gz | |
Imported Upstream version 5.2.0upstream/5.2.0
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=== |
