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