Annotation of embedaddon/php/ext/spl/tests/iterator_027.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: CachingIterator::FULL_CACHE
3: --FILE--
4: <?php
5:
6: $ar = array(1, 2, array(31, 32, array(331)), 4);
7:
8: $it = new RecursiveArrayIterator($ar);
9: $it = new RecursiveIteratorIterator($it);
10: $it = new CachingIterator($it, CachingIterator::FULL_CACHE);
11:
12: foreach($it as $k=>$v)
13: {
14: echo "$k=>$v\n";
15: }
16:
17: echo "===CHECK===\n";
18:
19: for ($i = 0; $i < 4; $i++)
20: {
21: if (isset($it[$i]))
22: {
23: var_dump($i, $it[$i]);
24: }
25: }
26:
27: $it[2] = 'foo';
28: $it[3] = 'bar';
29: $it['baz'] = '25';
30:
31: var_dump($it[2]);
32: var_dump($it[3]);
33: var_dump($it['baz']);
34:
35: unset($it[0]);
36: unset($it[2]);
37: unset($it['baz']);
38:
39: var_dump(isset($it[0])); // unset
40: var_dump(isset($it[1])); // still present
41: var_dump(isset($it[2])); // unset
42: var_dump(isset($it[3])); // still present
43: var_dump(isset($it['baz']));
44:
45: echo "===REWIND===\n";
46:
47: $it->rewind(); // cleans and reads first element
48: var_dump(isset($it[0])); // pre-fetched
49: var_dump(isset($it[1])); // deleted
50: var_dump(isset($it[2])); // unset
51: var_dump(isset($it[3])); // deleted
52:
53: ?>
54: ===DONE===
55: <?php exit(0); ?>
56: --EXPECT--
57: 0=>1
58: 1=>2
59: 0=>31
60: 1=>32
61: 0=>331
62: 3=>4
63: ===CHECK===
64: int(0)
65: int(331)
66: int(1)
67: int(32)
68: int(3)
69: int(4)
70: string(3) "foo"
71: string(3) "bar"
72: string(2) "25"
73: bool(false)
74: bool(true)
75: bool(false)
76: bool(true)
77: bool(false)
78: ===REWIND===
79: bool(true)
80: bool(false)
81: bool(false)
82: bool(false)
83: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>