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>