Annotation of embedaddon/php/ext/spl/tests/iterator_007.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: NoRewindIterator
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class ArrayIteratorEx extends ArrayIterator
                      7: {
                      8:        function rewind()
                      9:        {
                     10:                echo __METHOD__ . "\n";
                     11:                parent::rewind();
                     12:        }
                     13:        function valid()
                     14:        {
                     15:                echo __METHOD__ . "\n";
                     16:                return parent::valid();
                     17:        }
                     18:        function current()
                     19:        {
                     20:                echo __METHOD__ . "\n";
                     21:                return parent::current();
                     22:        }
                     23:        function key()
                     24:        {
                     25:                echo __METHOD__ . "\n";
                     26:                return parent::key();
                     27:        }
                     28:        function next()
                     29:        {
                     30:                echo __METHOD__ . "\n";
                     31:                parent::next();
                     32:        }
                     33: }
                     34: 
                     35: class NoRewindIteratorEx extends NoRewindIterator
                     36: {
                     37:        function rewind()
                     38:        {
                     39:                echo __METHOD__ . "\n";
                     40:                parent::rewind();
                     41:        }
                     42:        function valid()
                     43:        {
                     44:                echo __METHOD__ . "\n";
                     45:                return parent::valid();
                     46:        }
                     47:        function current()
                     48:        {
                     49:                echo __METHOD__ . "\n";
                     50:                return parent::current();
                     51:        }
                     52:        function key()
                     53:        {
                     54:                echo __METHOD__ . "\n";
                     55:                return parent::key();
                     56:        }
                     57:        function next()
                     58:        {
                     59:                echo __METHOD__ . "\n";
                     60:                parent::next();
                     61:        }
                     62: }
                     63: 
                     64: $it = new NoRewindIteratorEx(new ArrayIteratorEx(range(0,3)));
                     65: 
                     66: echo "===0===\n";
                     67: foreach ($it->getInnerIterator() as $v) {
                     68:        var_dump($v);
                     69: }
                     70: 
                     71: echo "===1===\n";
                     72: foreach ($it as $v) {
                     73:        var_dump($v);
                     74: }
                     75: 
                     76: $pos =0;
                     77: 
                     78: $it = new NoRewindIteratorEx(new ArrayIteratorEx(range(0,3)));
                     79: 
                     80: echo "===2===\n";
                     81: foreach ($it as $v) {
                     82:        var_dump($v);
                     83:        if ($pos++ > 1) {
                     84:                break;
                     85:        }
                     86: }
                     87: 
                     88: echo "===3===\n";
                     89: foreach ($it as $v) {
                     90:        var_dump($v);
                     91: }
                     92: 
                     93: echo "===4===\n";
                     94: foreach ($it as $v) {
                     95:        var_dump($v);
                     96: }
                     97: ?>
                     98: ===DONE===
                     99: <?php exit(0); ?>
                    100: --EXPECT--
                    101: ===0===
                    102: ArrayIteratorEx::rewind
                    103: ArrayIteratorEx::valid
                    104: ArrayIteratorEx::current
                    105: int(0)
                    106: ArrayIteratorEx::next
                    107: ArrayIteratorEx::valid
                    108: ArrayIteratorEx::current
                    109: int(1)
                    110: ArrayIteratorEx::next
                    111: ArrayIteratorEx::valid
                    112: ArrayIteratorEx::current
                    113: int(2)
                    114: ArrayIteratorEx::next
                    115: ArrayIteratorEx::valid
                    116: ArrayIteratorEx::current
                    117: int(3)
                    118: ArrayIteratorEx::next
                    119: ArrayIteratorEx::valid
                    120: ===1===
                    121: NoRewindIteratorEx::rewind
                    122: NoRewindIteratorEx::valid
                    123: ArrayIteratorEx::valid
                    124: ===2===
                    125: NoRewindIteratorEx::rewind
                    126: NoRewindIteratorEx::valid
                    127: ArrayIteratorEx::valid
                    128: NoRewindIteratorEx::current
                    129: ArrayIteratorEx::current
                    130: int(0)
                    131: NoRewindIteratorEx::next
                    132: ArrayIteratorEx::next
                    133: NoRewindIteratorEx::valid
                    134: ArrayIteratorEx::valid
                    135: NoRewindIteratorEx::current
                    136: ArrayIteratorEx::current
                    137: int(1)
                    138: NoRewindIteratorEx::next
                    139: ArrayIteratorEx::next
                    140: NoRewindIteratorEx::valid
                    141: ArrayIteratorEx::valid
                    142: NoRewindIteratorEx::current
                    143: ArrayIteratorEx::current
                    144: int(2)
                    145: ===3===
                    146: NoRewindIteratorEx::rewind
                    147: NoRewindIteratorEx::valid
                    148: ArrayIteratorEx::valid
                    149: NoRewindIteratorEx::current
                    150: int(2)
                    151: NoRewindIteratorEx::next
                    152: ArrayIteratorEx::next
                    153: NoRewindIteratorEx::valid
                    154: ArrayIteratorEx::valid
                    155: NoRewindIteratorEx::current
                    156: ArrayIteratorEx::current
                    157: int(3)
                    158: NoRewindIteratorEx::next
                    159: ArrayIteratorEx::next
                    160: NoRewindIteratorEx::valid
                    161: ArrayIteratorEx::valid
                    162: ===4===
                    163: NoRewindIteratorEx::rewind
                    164: NoRewindIteratorEx::valid
                    165: ArrayIteratorEx::valid
                    166: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>