Annotation of embedaddon/php/ext/spl/tests/arrayObject_clone_basic3.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SPL: Cloning nested ArrayObjects. 
        !             3: --FILE--
        !             4: <?php
        !             5: class C {
        !             6:        public $p = 'C::p.orig';
        !             7: }
        !             8: 
        !             9: $wrappedObject = new C;
        !            10: $innerArrayObject = new ArrayObject($wrappedObject);
        !            11: 
        !            12: $outerArrayObject =  new ArrayObject($innerArrayObject);
        !            13: 
        !            14: $wrappedObject->dynamic1 = 'new prop added to $wrappedObject before clone';
        !            15: $clonedOuterArrayObject = clone $outerArrayObject;
        !            16: $wrappedObject->dynamic2 = 'new prop added to $wrappedObject after clone';
        !            17: 
        !            18: $innerArrayObject['new.iAO'] = 'new element added $innerArrayObject';
        !            19: $outerArrayObject['new.oAO'] = 'new element added to $outerArrayObject';
        !            20: $clonedOuterArrayObject['new.coAO'] = 'new element added to $clonedOuterArrayObject';
        !            21: 
        !            22: var_dump($wrappedObject, $innerArrayObject, $outerArrayObject, $clonedOuterArrayObject);
        !            23: ?>
        !            24: --EXPECTF--
        !            25: object(C)#1 (5) {
        !            26:   ["p"]=>
        !            27:   string(9) "C::p.orig"
        !            28:   ["dynamic1"]=>
        !            29:   string(45) "new prop added to $wrappedObject before clone"
        !            30:   ["dynamic2"]=>
        !            31:   string(44) "new prop added to $wrappedObject after clone"
        !            32:   ["new.iAO"]=>
        !            33:   string(35) "new element added $innerArrayObject"
        !            34:   ["new.oAO"]=>
        !            35:   string(38) "new element added to $outerArrayObject"
        !            36: }
        !            37: object(ArrayObject)#2 (1) {
        !            38:   ["storage":"ArrayObject":private]=>
        !            39:   object(C)#1 (5) {
        !            40:     ["p"]=>
        !            41:     string(9) "C::p.orig"
        !            42:     ["dynamic1"]=>
        !            43:     string(45) "new prop added to $wrappedObject before clone"
        !            44:     ["dynamic2"]=>
        !            45:     string(44) "new prop added to $wrappedObject after clone"
        !            46:     ["new.iAO"]=>
        !            47:     string(35) "new element added $innerArrayObject"
        !            48:     ["new.oAO"]=>
        !            49:     string(38) "new element added to $outerArrayObject"
        !            50:   }
        !            51: }
        !            52: object(ArrayObject)#3 (1) {
        !            53:   ["storage":"ArrayObject":private]=>
        !            54:   object(ArrayObject)#2 (1) {
        !            55:     ["storage":"ArrayObject":private]=>
        !            56:     object(C)#1 (5) {
        !            57:       ["p"]=>
        !            58:       string(9) "C::p.orig"
        !            59:       ["dynamic1"]=>
        !            60:       string(45) "new prop added to $wrappedObject before clone"
        !            61:       ["dynamic2"]=>
        !            62:       string(44) "new prop added to $wrappedObject after clone"
        !            63:       ["new.iAO"]=>
        !            64:       string(35) "new element added $innerArrayObject"
        !            65:       ["new.oAO"]=>
        !            66:       string(38) "new element added to $outerArrayObject"
        !            67:     }
        !            68:   }
        !            69: }
        !            70: object(ArrayObject)#4 (1) {
        !            71:   ["storage":"ArrayObject":private]=>
        !            72:   array(3) {
        !            73:     ["p"]=>
        !            74:     string(9) "C::p.orig"
        !            75:     ["dynamic1"]=>
        !            76:     string(45) "new prop added to $wrappedObject before clone"
        !            77:     ["new.coAO"]=>
        !            78:     string(44) "new element added to $clonedOuterArrayObject"
        !            79:   }
        !            80: }

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