--TEST-- SPL: NoRewindIterator --FILE-- getInnerIterator() as $v) { var_dump($v); } echo "===1===\n"; foreach ($it as $v) { var_dump($v); } $pos =0; $it = new NoRewindIteratorEx(new ArrayIteratorEx(range(0,3))); echo "===2===\n"; foreach ($it as $v) { var_dump($v); if ($pos++ > 1) { break; } } echo "===3===\n"; foreach ($it as $v) { var_dump($v); } echo "===4===\n"; foreach ($it as $v) { var_dump($v); } ?> ===DONE=== --EXPECT-- ===0=== ArrayIteratorEx::rewind ArrayIteratorEx::valid ArrayIteratorEx::current int(0) ArrayIteratorEx::next ArrayIteratorEx::valid ArrayIteratorEx::current int(1) ArrayIteratorEx::next ArrayIteratorEx::valid ArrayIteratorEx::current int(2) ArrayIteratorEx::next ArrayIteratorEx::valid ArrayIteratorEx::current int(3) ArrayIteratorEx::next ArrayIteratorEx::valid ===1=== NoRewindIteratorEx::rewind NoRewindIteratorEx::valid ArrayIteratorEx::valid ===2=== NoRewindIteratorEx::rewind NoRewindIteratorEx::valid ArrayIteratorEx::valid NoRewindIteratorEx::current ArrayIteratorEx::current int(0) NoRewindIteratorEx::next ArrayIteratorEx::next NoRewindIteratorEx::valid ArrayIteratorEx::valid NoRewindIteratorEx::current ArrayIteratorEx::current int(1) NoRewindIteratorEx::next ArrayIteratorEx::next NoRewindIteratorEx::valid ArrayIteratorEx::valid NoRewindIteratorEx::current ArrayIteratorEx::current int(2) ===3=== NoRewindIteratorEx::rewind NoRewindIteratorEx::valid ArrayIteratorEx::valid NoRewindIteratorEx::current int(2) NoRewindIteratorEx::next ArrayIteratorEx::next NoRewindIteratorEx::valid ArrayIteratorEx::valid NoRewindIteratorEx::current ArrayIteratorEx::current int(3) NoRewindIteratorEx::next ArrayIteratorEx::next NoRewindIteratorEx::valid ArrayIteratorEx::valid ===4=== NoRewindIteratorEx::rewind NoRewindIteratorEx::valid ArrayIteratorEx::valid ===DONE===