]> granicus.if.org Git - php/commitdiff
- Fix issue with LimitIterator
authorMarcus Boerger <helly@php.net>
Fri, 3 Mar 2006 22:56:27 +0000 (22:56 +0000)
committerMarcus Boerger <helly@php.net>
Fri, 3 Mar 2006 22:56:27 +0000 (22:56 +0000)
ext/spl/tests/iterator_032.phpt [new file with mode: 0755]

diff --git a/ext/spl/tests/iterator_032.phpt b/ext/spl/tests/iterator_032.phpt
new file mode 100755 (executable)
index 0000000..7d15456
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+SPL: LimitIterator::getPosition()
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+
+$it = new LimitIterator(new ArrayIterator(array(1,2,3,4)), 1, 2);
+
+foreach($it as $k=>$v)
+{
+       echo "$k=>$v\n";
+       var_dump($it->getPosition());
+}
+
+try
+{
+       $it->seek(0);
+}
+catch(OutOfBoundsException $e)
+{
+       echo $e->getMessage() . "\n";
+}
+
+$it->seek(2);
+var_dump($it->current());
+
+try
+{
+       $it->seek(3);
+}
+catch(OutOfBoundsException $e)
+{
+       echo $e->getMessage() . "\n";
+}
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECT--
+1=>2
+int(1)
+2=>3
+int(2)
+Cannot seek to 0 which is below the offset 1
+int(3)
+Cannot seek to 3 which is behind offest 1 plus count 2
+===DONE===