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

1.1       misho       1: --TEST--
                      2: SPL: LimitIterator and backward seeking
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class NumericArrayIterator implements Iterator
                      7: {
                      8:        protected $a;
                      9:        protected $i = 0;
                     10: 
                     11:        public function __construct($a)
                     12:        {
                     13:                echo __METHOD__ . "\n";
                     14:                $this->a = $a;
                     15:        }
                     16: 
                     17:        public function valid()
                     18:        {
                     19:                echo __METHOD__ . "\n";
                     20:                return $this->i < count($this->a);
                     21:        }
                     22: 
                     23:        public function rewind()
                     24:        {
                     25:                echo __METHOD__ . "\n";
                     26:                $this->i = 0;
                     27:        }
                     28: 
                     29:        public function key()
                     30:        {
                     31:                echo __METHOD__ . "\n";
                     32:                return $this->i;
                     33:        }
                     34: 
                     35:        public function current()
                     36:        {
                     37:                echo __METHOD__ . "\n";
                     38:                return $this->a[$this->i];
                     39:        }
                     40: 
                     41:        public function next()
                     42:        {
                     43:                echo __METHOD__ . "\n";
                     44:                $this->i++;
                     45:        }
                     46: }
                     47: 
                     48: $it = new LimitIterator(new NumericArrayIterator(array(12, 25, 42, 56)));
                     49: 
                     50: foreach($it as $k => $v)
                     51: {
                     52:        var_dump($k);
                     53:        var_dump($v);
                     54: }
                     55: 
                     56: echo "===SEEK===\n";
                     57: 
                     58: $it->seek(2);
                     59: 
                     60: echo "===LOOP===\n";
                     61: 
                     62: foreach(new NoRewindIterator($it) as $k => $v)
                     63: {
                     64:        var_dump($k);
                     65:        var_dump($v);
                     66: }
                     67: 
                     68: ?>
                     69: ===DONE===
                     70: <?php exit(0); ?>
                     71: --EXPECT--
                     72: NumericArrayIterator::__construct
                     73: NumericArrayIterator::rewind
                     74: NumericArrayIterator::valid
                     75: NumericArrayIterator::valid
                     76: NumericArrayIterator::current
                     77: NumericArrayIterator::key
                     78: int(0)
                     79: int(12)
                     80: NumericArrayIterator::next
                     81: NumericArrayIterator::valid
                     82: NumericArrayIterator::current
                     83: NumericArrayIterator::key
                     84: int(1)
                     85: int(25)
                     86: NumericArrayIterator::next
                     87: NumericArrayIterator::valid
                     88: NumericArrayIterator::current
                     89: NumericArrayIterator::key
                     90: int(2)
                     91: int(42)
                     92: NumericArrayIterator::next
                     93: NumericArrayIterator::valid
                     94: NumericArrayIterator::current
                     95: NumericArrayIterator::key
                     96: int(3)
                     97: int(56)
                     98: NumericArrayIterator::next
                     99: NumericArrayIterator::valid
                    100: ===SEEK===
                    101: NumericArrayIterator::rewind
                    102: NumericArrayIterator::valid
                    103: NumericArrayIterator::next
                    104: NumericArrayIterator::valid
                    105: NumericArrayIterator::next
                    106: NumericArrayIterator::valid
                    107: NumericArrayIterator::valid
                    108: NumericArrayIterator::current
                    109: NumericArrayIterator::key
                    110: ===LOOP===
                    111: int(2)
                    112: int(42)
                    113: NumericArrayIterator::next
                    114: NumericArrayIterator::valid
                    115: NumericArrayIterator::current
                    116: NumericArrayIterator::key
                    117: int(3)
                    118: int(56)
                    119: NumericArrayIterator::next
                    120: NumericArrayIterator::valid
                    121: ===DONE===

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