summaryrefslogtreecommitdiff
path: root/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt')
-rw-r--r--ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt32
1 files changed, 32 insertions, 0 deletions
diff --git a/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt b/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt
new file mode 100644
index 0000000..c9476e0
--- /dev/null
+++ b/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt
@@ -0,0 +1,32 @@
+--TEST--
+SPL: RecursiveIteratorIterator::beginIteration() is called by RecursiveIteratorIterator::rewind()
+--CREDITS--
+Matt Raines matt@raines.me.uk
+#testfest London 2009-05-09
+--FILE--
+<?php
+$sample_array = array(1, 2);
+$sub_iterator = new RecursiveArrayIterator($sample_array);
+
+$iterator = new RecursiveIteratorIterator($sub_iterator);
+foreach ($iterator as $element) {
+ var_dump($element);
+}
+
+class SkipsFirstElementRecursiveIteratorIterator extends RecursiveIteratorIterator {
+ public function beginIteration() {
+ echo "::beginIteration() was invoked\n";
+ $this->next();
+ }
+}
+$iterator = new SkipsFirstElementRecursiveIteratorIterator($sub_iterator);
+foreach ($iterator as $element) {
+ var_dump($element);
+}
+?>
+--EXPECT--
+int(1)
+int(2)
+::beginIteration() was invoked
+int(2)
+