diff options
Diffstat (limited to 'ext/spl/tests/iterator_005.phpt')
-rw-r--r-- | ext/spl/tests/iterator_005.phpt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/spl/tests/iterator_005.phpt b/ext/spl/tests/iterator_005.phpt new file mode 100644 index 0000000..640ca9f --- /dev/null +++ b/ext/spl/tests/iterator_005.phpt @@ -0,0 +1,52 @@ +--TEST-- +SPL: IteratorIterator and ArrayIterator/Object +--FILE-- +<?php + +class ArrayIteratorEx extends ArrayIterator +{ + function rewind() + { + echo __METHOD__ . "\n"; + return parent::rewind(); + } +} + +$it = new ArrayIteratorEx(range(0,3)); + +foreach(new IteratorIterator($it) as $v) +{ + var_dump($v); +} + +class ArrayObjectEx extends ArrayObject +{ + function getIterator() + { + echo __METHOD__ . "\n"; + return parent::getIterator(); + } +} + +$it = new ArrayObjectEx(range(0,3)); + +foreach(new IteratorIterator($it) as $v) +{ + var_dump($v); +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +ArrayIteratorEx::rewind +int(0) +int(1) +int(2) +int(3) +ArrayObjectEx::getIterator +int(0) +int(1) +int(2) +int(3) +===DONE=== |