diff options
Diffstat (limited to 'ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt')
-rw-r--r-- | ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt b/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt new file mode 100644 index 0000000..0bf4f19 --- /dev/null +++ b/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt @@ -0,0 +1,39 @@ +--TEST-- +SPL: RecursiveIteratorIterator::nextElement() is called when the next element is ready +--CREDITS-- +Matt Raines matt@raines.me.uk +#testfest London 2009-05-09 +--FILE-- +<?php +$sample_array = array(1, 2, array(3, 4)); +$sub_iterator = new RecursiveArrayIterator($sample_array); + +$iterator = new RecursiveIteratorIterator($sub_iterator); +foreach ($iterator as $element) { + var_dump($element); +} + +class NextElementRecursiveIteratorIterator extends RecursiveIteratorIterator { + public function nextElement() { + echo "::nextElement() was invoked\n"; + } +} +$iterator = new NextElementRecursiveIteratorIterator($sub_iterator); +foreach ($iterator as $element) { + var_dump($element); +} +?> +--EXPECT-- +int(1) +int(2) +int(3) +int(4) +::nextElement() was invoked +int(1) +::nextElement() was invoked +int(2) +::nextElement() was invoked +int(3) +::nextElement() was invoked +int(4) + |