Annotation of embedaddon/php/ext/spl/tests/iterator_024.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: RecursiveIteratorIterator with custom iterator class
3: --FILE--
4: <?php
5:
6: $ar = array(1, 2, array(31, 32, array(331)), 4);
7:
8: foreach(new RecursiveIteratorIterator(new ArrayObject($ar, 0, "RecursiveArrayIterator")) as $v) echo "$v\n";
9:
10: $it = new ArrayObject($ar);
11: var_dump($it->getIteratorClass());
12:
13: try
14: {
15: foreach(new RecursiveIteratorIterator(new ArrayObject($ar)) as $v) echo "$v\n";
16: }
17: catch (InvalidArgumentException $e)
18: {
19: echo $e->getMessage() . "\n";
20: }
21:
22: echo "===MANUAL===\n";
23:
24: $it->setIteratorClass("RecursiveArrayIterator");
25: var_dump($it->getIteratorClass());
26: foreach(new RecursiveIteratorIterator($it) as $v) echo "$v\n";
27:
28:
29: ?>
30: ===DONE===
31: <?php exit(0); ?>
32: --EXPECT--
33: 1
34: 2
35: 31
36: 32
37: 331
38: 4
39: string(13) "ArrayIterator"
40: An instance of RecursiveIterator or IteratorAggregate creating it is required
41: ===MANUAL===
42: string(22) "RecursiveArrayIterator"
43: 1
44: 2
45: 31
46: 32
47: 331
48: 4
49: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>