summaryrefslogtreecommitdiff
path: root/ext/spl/tests/iterator_032.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/iterator_032.phpt')
-rwxr-xr-xext/spl/tests/iterator_032.phpt52
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/spl/tests/iterator_032.phpt b/ext/spl/tests/iterator_032.phpt
new file mode 100755
index 000000000..86695d4af
--- /dev/null
+++ b/ext/spl/tests/iterator_032.phpt
@@ -0,0 +1,52 @@
+--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";
+}
+
+$it->next();
+var_dump($it->valid());
+
+?>
+===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
+bool(false)
+===DONE===