summaryrefslogtreecommitdiff
path: root/ext/spl/tests/fastarray_003.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/fastarray_003.phpt')
-rw-r--r--ext/spl/tests/fastarray_003.phpt86
1 files changed, 86 insertions, 0 deletions
diff --git a/ext/spl/tests/fastarray_003.phpt b/ext/spl/tests/fastarray_003.phpt
new file mode 100644
index 0000000000..a397836a26
--- /dev/null
+++ b/ext/spl/tests/fastarray_003.phpt
@@ -0,0 +1,86 @@
+--TEST--
+SPL: FastArray: Iterators
+--FILE--
+<?php
+class A extends SplFastArray {
+
+ public function current() {
+ echo "A::current\n";
+ return parent::current();
+ }
+ public function key() {
+ echo "A::key\n";
+ return parent::key();
+ }
+ public function rewind() {
+ echo "A::rewind\n";
+ return parent::rewind();
+ }
+ public function valid() {
+ echo "A::valid\n";
+ return parent::valid();
+ }
+ public function next() {
+ echo "A::next\n";
+ return parent::next();
+ }
+}
+
+echo "==Direct instance==\n";
+$a = new SplFastArray(5);
+$a[0] = "a";
+$a[1] = "c";
+$a[2] = "d";
+$a[3] = "e";
+$a[4] = "f";
+foreach ($a as $k => $v) {
+ echo "$k => $v\n";
+}
+echo "==Child instance==\n";
+$a = new A(5);
+$a[0] = "a";
+$a[1] = "c";
+$a[2] = "d";
+$a[3] = "e";
+$a[4] = "f";
+foreach ($a as $k => $v) {
+ echo "$k => $v\n";
+}
+?>
+===DONE===
+--EXPECTF--
+==Direct instance==
+0 => a
+1 => c
+2 => d
+3 => e
+4 => f
+==Child instance==
+A::rewind
+A::valid
+A::current
+A::key
+0 => a
+A::next
+A::valid
+A::current
+A::key
+1 => c
+A::next
+A::valid
+A::current
+A::key
+2 => d
+A::next
+A::valid
+A::current
+A::key
+3 => e
+A::next
+A::valid
+A::current
+A::key
+4 => f
+A::next
+A::valid
+===DONE===