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