Annotation of embedaddon/php/ext/spl/tests/array_022.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: ArrayObject/Iterator and reference to self
3: --FILE--
4: ==ArrayObject===
5: <?php
6:
7: class MyArrayObject extends ArrayObject
8: {
9: public function __construct()
10: {
11: parent::__construct($this);
12: $this['bar'] = 'baz';
13: }
14: }
15:
16: $a = new MyArrayObject;
17:
18: $b = clone $a;
19: $b['baz'] = 'Foo';
20:
21: var_dump($a);
22: var_dump($b);
23:
24: ?>
25: ==ArrayIterator===
26: <?php
27:
28: class MyArrayIterator extends ArrayIterator
29: {
30: public function __construct()
31: {
32: parent::__construct($this);
33: $this['bar'] = 'baz';
34: }
35: }
36:
37: $a = new MyArrayIterator;
38:
39: $b = clone $a;
40: $b['baz'] = 'Foo';
41:
42: var_dump($a);
43: var_dump($b);
44:
45: ?>
46: ===DONE===
47: --EXPECTF--
48: ==ArrayObject===
49: object(MyArrayObject)#%d (1) {
50: ["bar"]=>
51: string(3) "baz"
52: }
53: object(MyArrayObject)#%d (3) {
54: ["bar"]=>
55: string(3) "baz"
56: ["baz"]=>
57: string(3) "Foo"
58: ["storage":"ArrayObject":private]=>
59: array(1) {
60: ["bar"]=>
61: string(3) "baz"
62: }
63: }
64: ==ArrayIterator===
65: object(MyArrayIterator)#%d (1) {
66: ["bar"]=>
67: string(3) "baz"
68: }
69: object(MyArrayIterator)#%d (3) {
70: ["bar"]=>
71: string(3) "baz"
72: ["baz"]=>
73: string(3) "Foo"
74: ["storage":"ArrayIterator":private]=>
75: object(MyArrayIterator)#%d (1) {
76: ["bar"]=>
77: string(3) "baz"
78: }
79: }
80: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>