diff options
Diffstat (limited to 'ext/spl/tests/iterator_008.phpt')
-rw-r--r-- | ext/spl/tests/iterator_008.phpt | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/ext/spl/tests/iterator_008.phpt b/ext/spl/tests/iterator_008.phpt new file mode 100644 index 0000000..04f8c00 --- /dev/null +++ b/ext/spl/tests/iterator_008.phpt @@ -0,0 +1,89 @@ +--TEST-- +SPL: InfiniteIterator +--FILE-- +<?php + +class ArrayIteratorEx extends ArrayIterator +{ + function rewind() + { + echo __METHOD__ . "\n"; + parent::rewind(); + } + function valid() + { + echo __METHOD__ . "\n"; + return parent::valid(); + } + function current() + { + echo __METHOD__ . "\n"; + return parent::current(); + } + function key() + { + echo __METHOD__ . "\n"; + return parent::key(); + } + function next() + { + echo __METHOD__ . "\n"; + parent::next(); + } +} + +$it = new InfiniteIterator(new ArrayIteratorEx(range(0,2))); + +$pos =0; + +foreach ($it as $v) { + var_dump($v); + if ($pos++ > 5) { + break; + } +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECT-- +ArrayIteratorEx::rewind +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(0) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(1) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(2) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::rewind +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(0) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(1) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(2) +ArrayIteratorEx::next +ArrayIteratorEx::valid +ArrayIteratorEx::rewind +ArrayIteratorEx::valid +ArrayIteratorEx::current +ArrayIteratorEx::key +int(0) +===DONE=== |