xref: /PHP-7.3/ext/spl/tests/iterator_005.phpt (revision ded3d984)
1--TEST--
2SPL: IteratorIterator and ArrayIterator/Object
3--FILE--
4<?php
5
6class ArrayIteratorEx extends ArrayIterator
7{
8	function rewind()
9	{
10		echo __METHOD__ . "\n";
11		return parent::rewind();
12	}
13}
14
15$it = new ArrayIteratorEx(range(0,3));
16
17foreach(new IteratorIterator($it) as $v)
18{
19	var_dump($v);
20}
21
22class ArrayObjectEx extends ArrayObject
23{
24	function getIterator()
25	{
26		echo __METHOD__ . "\n";
27		return parent::getIterator();
28	}
29}
30
31$it = new ArrayObjectEx(range(0,3));
32
33foreach(new IteratorIterator($it) as $v)
34{
35	var_dump($v);
36}
37
38?>
39===DONE===
40<?php exit(0); ?>
41--EXPECT--
42ArrayIteratorEx::rewind
43int(0)
44int(1)
45int(2)
46int(3)
47ArrayObjectEx::getIterator
48int(0)
49int(1)
50int(2)
51int(3)
52===DONE===
53