Annotation of embedaddon/php/ext/spl/tests/arrayObject_clone_basic3.phpt, revision 1.1.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>