summaryrefslogtreecommitdiff
path: root/ext/spl/tests/foreach.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/foreach.phpt')
-rwxr-xr-xext/spl/tests/foreach.phpt193
1 files changed, 0 insertions, 193 deletions
diff --git a/ext/spl/tests/foreach.phpt b/ext/spl/tests/foreach.phpt
deleted file mode 100755
index de05f4b3f5..0000000000
--- a/ext/spl/tests/foreach.phpt
+++ /dev/null
@@ -1,193 +0,0 @@
---TEST--
-SPL: foreach and iterator
---SKIPIF--
-<?php if (!extension_loaded("spl")) print "skip"; ?>
---FILE--
-<?php
-class c_iter implements spl_forward_assoc {
-
- private $obj;
- private $num = 0;
-
- function __construct($obj) {
- $this->obj = $obj;
- }
- function current() {
- echo __METHOD__ . "\n";
- return $this->num;
- }
- function next() {
- echo __METHOD__ . "\n";
- $this->num++;
- }
- function has_more() {
- $more = $this->num < $this->obj->max;
- echo __METHOD__ . ' = ' .($more ? 'true' : 'false') . "\n";
- return $more;
- }
- function key() {
- echo __METHOD__ . "\n";
- switch($this->num) {
- case 0: return "1st";
- case 1: return "2nd";
- case 2: return "3rd";
- default: return "???";
- }
- }
-}
-
-class c implements spl_iterator {
-
- public $max = 3;
-
- function new_iterator() {
- echo __METHOD__ . "\n";
- return new c_iter($this);
- }
-}
-
-$t = new c();
-
-for ($iter = $t->new_iterator(); $iter->has_more(); $iter->next()) {
- echo $iter->current() . "\n";
-}
-
-$a = array(0,1,2);
-foreach($a as $v) {
- echo "array:$v\n";
-}
-
-foreach($t as $v) {
- echo "object:$v\n";
-}
-
-foreach($t as $v) {
- foreach($t as $w) {
- echo "double:$v:$w\n";
- }
-}
-
-foreach($t as $i => $v) {
- echo "object:$i=>$v\n";
-}
-
-print "Done\n";
-?>
---EXPECT--
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-2
-c_iter::next
-c_iter::has_more = false
-array:0
-array:1
-array:2
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:2
-c_iter::next
-c_iter::has_more = false
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:0:0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:0:1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:0:2
-c_iter::next
-c_iter::has_more = false
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:1:0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:1:1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:1:2
-c_iter::next
-c_iter::has_more = false
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:2:0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:2:1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-double:2:2
-c_iter::next
-c_iter::has_more = false
-c_iter::next
-c_iter::has_more = false
-c::new_iterator
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:1st=>0
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:2nd=>1
-c_iter::next
-c_iter::has_more = true
-c_iter::current
-c_iter::key
-object:3rd=>2
-c_iter::next
-c_iter::has_more = false
-Done \ No newline at end of file