PHP CVS 7 CVS SPL TESTS FOREACH NON SPL PHPT
Date: Tue, 08 Jul 2003 23:25:18 -0000

Subject: cvs: spl /tests foreach_non_spl.phpt
From: helly@no-spam (Marcus Boerger)

helly Tue Jul 8 19:25:18 2003 EDT
Added files: /spl/tests foreach_non_spl.phpt Log:
Currently we're presented all properties with foreach()

Index: spl/tests/foreach_non_spl.phpt +++ spl/tests/foreach_non_spl.phpt --TEST--
SPL: foreach non spl classes --SKIPIF--
<?php if (0 && !extension_loaded("spl")) print "skip"; ?>
--FILE--
<?php
echo "1st try\n";

class c1 {}

$obj = new c1();

foreach($obj as $w) {
echo "object:$w\n";
}

echo "2nd try\n";

class c2 {

public $max = 3;
public $num = 0;

function current() {
echo __METHOD__ . "\n";
return $this->num;
}
function next() {
echo __METHOD__ . "\n";
$this->num++;
}
function has_more() {
echo __METHOD__ . "\n";
return $this->num < $this->max;
}
function key() {
echo __METHOD__ . "\n";
switch($this->num) {
case 0: return "1st";
case 1: return "2nd";
case 2: return "3rd";
default: return "???";
}
}
}

$obj = new c2();

foreach($obj as $v => $w) {
echo "object:$v=>$w\n";
}

print "Done\n";
?>
--EXPECTF--
1st try 2nd try object:max=>3
object:num=>0
Done