From fae99963dc03026a970c5fe57c68ab689efcc283 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Thu, 18 May 2006 22:41:14 +0000 Subject: [PATCH] - Add new test --- ext/spl/tests/iterator_039.phpt | 123 ++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100755 ext/spl/tests/iterator_039.phpt diff --git a/ext/spl/tests/iterator_039.phpt b/ext/spl/tests/iterator_039.phpt new file mode 100755 index 00000000000..5dcaaa22654 --- /dev/null +++ b/ext/spl/tests/iterator_039.phpt @@ -0,0 +1,123 @@ +--TEST-- +SPL: LimitIterator and backward seeking +--SKIPIF-- + +--FILE-- +a = $a; + } + + public function valid() + { + echo __METHOD__ . "\n"; + return $this->i < count($this->a); + } + + public function rewind() + { + echo __METHOD__ . "\n"; + $this->i = 0; + } + + public function key() + { + echo __METHOD__ . "\n"; + return $this->i; + } + + public function current() + { + echo __METHOD__ . "\n"; + return $this->a[$this->i]; + } + + public function next() + { + echo __METHOD__ . "\n"; + $this->i++; + } +} + +$it = new LimitIterator(new NumericArrayIterator(array(12, 25, 42, 56))); + +foreach($it as $k => $v) +{ + var_dump($k); + var_dump($v); +} + +echo "===SEEK===\n"; + +$it->seek(2); + +echo "===LOOP===\n"; + +foreach(new NoRewindIterator($it) as $k => $v) +{ + var_dump($k); + var_dump($v); +} + +?> +===DONE=== + +--EXPECT-- +NumericArrayIterator::__construct +NumericArrayIterator::rewind +NumericArrayIterator::valid +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +int(0) +int(12) +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +int(1) +int(25) +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +int(2) +int(42) +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +int(3) +int(56) +NumericArrayIterator::next +NumericArrayIterator::valid +===SEEK=== +NumericArrayIterator::rewind +NumericArrayIterator::valid +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +===LOOP=== +int(2) +int(42) +NumericArrayIterator::next +NumericArrayIterator::valid +NumericArrayIterator::current +NumericArrayIterator::key +int(3) +int(56) +NumericArrayIterator::next +NumericArrayIterator::valid +===DONE===