php-src/ext/spl/tests/array_020.phpt
Marcus Boerger 1ea1975817 - Synch c-level iterator and iterator methods
- Fix iterator checks
# A nice discussion with Andrei made me remember this issue
2006-02-06 00:58:11 +00:00

67 lines
992 B
PHP
Executable File

--TEST--
SPL: ArrayIterator overloading
--SKIPIF--
<?php if (!extension_loaded("spl")) print "skip"; ?>
--FILE--
<?php
class ArrayIteratorEx extends ArrayIterator
{
function rewind()
{
echo __METHOD__ . "\n";
ArrayIterator::rewind();
}
function valid()
{
echo __METHOD__ . "\n";
return ArrayIterator::valid();
}
function key()
{
echo __METHOD__ . "\n";
return ArrayIterator::key();
}
function current()
{
echo __METHOD__ . "\n";
return ArrayIterator::current();
}
function next()
{
echo __METHOD__ . "\n";
return ArrayIterator::next();
}
}
$ar = new ArrayIteratorEx(array(1,2));
foreach($ar as $k => $v)
{
var_dump($k);
var_dump($v);
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
ArrayIteratorEx::rewind
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(0)
int(1)
ArrayIteratorEx::next
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(1)
int(2)
ArrayIteratorEx::next
ArrayIteratorEx::valid
===DONE===