Annotation of embedaddon/php/Zend/tests/bug37212.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #37212 (Access to protected property of common base class)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class A
                      7: {
                      8:     protected $value;
                      9: 
                     10:     public function __construct($val)
                     11:     {
                     12:         $this->value = $val;
                     13:     }
                     14: 
                     15:     protected function getValue()
                     16:     {
                     17:         return $this->value;
                     18:     }
                     19: }
                     20: 
                     21: class B extends A
                     22: {
                     23:     public function copyValue($obj)
                     24:     {
                     25:         $this->value = $obj->getValue();
                     26:         $this->value = $obj->value; // value defined in common base class
                     27:     }
                     28: }
                     29: class C extends A {}
                     30: 
                     31: $B = new B("B");
                     32: var_dump($B);
                     33: $C = new C("C");
                     34: var_dump($C);
                     35: 
                     36: $B->copyValue($C);
                     37: 
                     38: var_dump($B);
                     39: 
                     40: ?>
                     41: ===DONE===
                     42: --EXPECTF--
                     43: object(B)#%d (1) {
                     44:   ["value":protected]=>
                     45:   string(1) "B"
                     46: }
                     47: object(C)#%d (1) {
                     48:   ["value":protected]=>
                     49:   string(1) "C"
                     50: }
                     51: object(B)#%d (1) {
                     52:   ["value":protected]=>
                     53:   string(1) "C"
                     54: }
                     55: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>