Annotation of embedaddon/php/ext/spl/tests/iterator_042.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: AppendIterator and its ArrayIterator
! 3: --FILE--
! 4: <?php
! 5:
! 6: function test_error_handler($errno, $msg, $filename, $linenum, $vars)
! 7: {
! 8: echo "Error $msg in $filename on line $linenum\n";
! 9: return true;
! 10: }
! 11:
! 12: set_error_handler('test_error_handler');
! 13:
! 14: $it = new AppendIterator;
! 15:
! 16: $it->append(array());
! 17: $it->append(new ArrayIterator(array(1)));
! 18: $it->append(new ArrayIterator(array(21, 22)));
! 19:
! 20: var_dump($it->getArrayIterator());
! 21:
! 22: $it->append(new ArrayIterator(array(31, 32, 33)));
! 23:
! 24: var_dump($it->getArrayIterator());
! 25:
! 26: $idx = 0;
! 27:
! 28: foreach($it as $k => $v)
! 29: {
! 30: echo '===' . $idx++ . "===\n";
! 31: var_dump($it->getIteratorIndex());
! 32: var_dump($k);
! 33: var_dump($v);
! 34: }
! 35:
! 36: ?>
! 37: ===DONE===
! 38: <?php exit(0); ?>
! 39: --EXPECTF--
! 40: Error Argument 1 passed to AppendIterator::append() must implement interface Iterator, array given in %siterator_042.php on line %d
! 41: object(ArrayIterator)#%d (1) {
! 42: %s"storage"%s"ArrayIterator":private]=>
! 43: array(2) {
! 44: [0]=>
! 45: object(ArrayIterator)#%d (1) {
! 46: %s"storage"%s"ArrayIterator":private]=>
! 47: array(1) {
! 48: [0]=>
! 49: int(1)
! 50: }
! 51: }
! 52: [1]=>
! 53: object(ArrayIterator)#%d (1) {
! 54: %s"storage"%s"ArrayIterator":private]=>
! 55: array(2) {
! 56: [0]=>
! 57: int(21)
! 58: [1]=>
! 59: int(22)
! 60: }
! 61: }
! 62: }
! 63: }
! 64: object(ArrayIterator)#%d (1) {
! 65: %s"storage"%s"ArrayIterator":private]=>
! 66: array(3) {
! 67: [0]=>
! 68: object(ArrayIterator)#%d (1) {
! 69: %s"storage"%s"ArrayIterator":private]=>
! 70: array(1) {
! 71: [0]=>
! 72: int(1)
! 73: }
! 74: }
! 75: [1]=>
! 76: object(ArrayIterator)#%d (1) {
! 77: %s"storage"%s"ArrayIterator":private]=>
! 78: array(2) {
! 79: [0]=>
! 80: int(21)
! 81: [1]=>
! 82: int(22)
! 83: }
! 84: }
! 85: [2]=>
! 86: object(ArrayIterator)#5 (1) {
! 87: %s"storage"%s"ArrayIterator":private]=>
! 88: array(3) {
! 89: [0]=>
! 90: int(31)
! 91: [1]=>
! 92: int(32)
! 93: [2]=>
! 94: int(33)
! 95: }
! 96: }
! 97: }
! 98: }
! 99: ===0===
! 100: int(0)
! 101: int(0)
! 102: int(1)
! 103: ===1===
! 104: int(1)
! 105: int(0)
! 106: int(21)
! 107: ===2===
! 108: int(1)
! 109: int(1)
! 110: int(22)
! 111: ===3===
! 112: int(2)
! 113: int(0)
! 114: int(31)
! 115: ===4===
! 116: int(2)
! 117: int(1)
! 118: int(32)
! 119: ===5===
! 120: int(2)
! 121: int(2)
! 122: int(33)
! 123: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>