Annotation of embedaddon/php/ext/spl/tests/iterator_028.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: RecursiveIteratorIterator and setMaxDepth()
3: --FILE--
4: <?php
5:
6: $ar = array(1, 2, array(31, 32, array(331, array(3321, array(33221)))), 4);
7:
8: $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($ar));
9:
10: echo "===?===\n";
11: var_dump($it->getMaxDepth());
12: foreach($it as $v) echo $it->getDepth() . ": $v\n";
13:
14: echo "===2===\n";
15: $it->setMaxDepth(2);
16: var_dump($it->getMaxDepth());
17: foreach($it as $v) echo $it->getDepth() . ": $v\n";
18:
19: echo "===X===\n";
20: $it->setMaxDepth();
21: var_dump($it->getMaxDepth());
22: foreach($it as $v) echo $it->getDepth() . ": $v\n";
23:
24: echo "===3===\n";
25: $it->setMaxDepth(3);
26: var_dump($it->getMaxDepth());
27: foreach($it as $v) echo $it->getDepth() . ": $v\n";
28:
29: echo "===5===\n";
30: $it->setMaxDepth(5);
31: var_dump($it->getMaxDepth());
32: foreach($it as $v) echo $it->getDepth() . ": $v\n";
33:
34: echo "===0===\n";
35: $it->setMaxDepth(0);
36: var_dump($it->getMaxDepth());
37: foreach($it as $v) echo $it->getDepth() . ": $v\n";
38:
39: echo "===-1===\n";
40: $it->setMaxDepth(-1);
41: var_dump($it->getMaxDepth());
42: try
43: {
44: $it->setMaxDepth(4);
45: $it->setMaxDepth(-2);
46: }
47: catch(Exception $e)
48: {
49: var_dump($e->getMessage());
50: }
51: var_dump($it->getMaxDepth());
52: ?>
53: ===DONE===
54: <?php exit(0); ?>
55: --EXPECT--
56: ===?===
57: bool(false)
58: 0: 1
59: 0: 2
60: 1: 31
61: 1: 32
62: 2: 331
63: 3: 3321
64: 4: 33221
65: 0: 4
66: ===2===
67: int(2)
68: 0: 1
69: 0: 2
70: 1: 31
71: 1: 32
72: 2: 331
73: 0: 4
74: ===X===
75: bool(false)
76: 0: 1
77: 0: 2
78: 1: 31
79: 1: 32
80: 2: 331
81: 3: 3321
82: 4: 33221
83: 0: 4
84: ===3===
85: int(3)
86: 0: 1
87: 0: 2
88: 1: 31
89: 1: 32
90: 2: 331
91: 3: 3321
92: 0: 4
93: ===5===
94: int(5)
95: 0: 1
96: 0: 2
97: 1: 31
98: 1: 32
99: 2: 331
100: 3: 3321
101: 4: 33221
102: 0: 4
103: ===0===
104: int(0)
105: 0: 1
106: 0: 2
107: 0: 4
108: ===-1===
109: bool(false)
110: string(33) "Parameter max_depth must be >= -1"
111: int(4)
112: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>