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