Annotation of embedaddon/php/Zend/tests/bug37212.phpt, revision 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>