1--TEST--
2SPL: RecursiveIteratorIterator::beginIteration() is called by RecursiveIteratorIterator::rewind()
3--CREDITS--
4Matt Raines matt@raines.me.uk
5#testfest London 2009-05-09
6--FILE--
7<?php
8$sample_array = array(1, 2);
9$sub_iterator = new RecursiveArrayIterator($sample_array);
10
11$iterator = new RecursiveIteratorIterator($sub_iterator);
12foreach ($iterator as $element) {
13  var_dump($element);
14}
15
16class SkipsFirstElementRecursiveIteratorIterator extends RecursiveIteratorIterator {
17  public function beginIteration(): void {
18    echo "::beginIteration() was invoked\n";
19    $this->next();
20  }
21}
22$iterator = new SkipsFirstElementRecursiveIteratorIterator($sub_iterator);
23foreach ($iterator as $element) {
24  var_dump($element);
25}
26?>
27--EXPECT--
28int(1)
29int(2)
30::beginIteration() was invoked
31int(2)
32