diff options
Diffstat (limited to 'tests/classes/iterators_003.phpt')
-rwxr-xr-x | tests/classes/iterators_003.phpt | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/tests/classes/iterators_003.phpt b/tests/classes/iterators_003.phpt deleted file mode 100755 index dd27753ad0..0000000000 --- a/tests/classes/iterators_003.phpt +++ /dev/null @@ -1,116 +0,0 @@ ---TEST-- -ZE2 iterators and break ---SKIPIF-- -<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> -<?php if (!class_exists('Iterator')) print "skip interface iterator doesn't exist"; ?> ---FILE-- -<?php -class c_iter implements Iterator { - - private $obj; - private $num = 0; - - function __construct($obj) { - echo __METHOD__ . "\n"; - $this->obj = $obj; - } - function rewind() { - echo __METHOD__ . "\n"; - } - function hasMore() { - $more = $this->num < $this->obj->max; - echo __METHOD__ . ' = ' .($more ? 'true' : 'false') . "\n"; - return $more; - } - function current() { - echo __METHOD__ . "\n"; - return $this->num; - } - function next() { - echo __METHOD__ . "\n"; - $this->num++; - } - function key() { - return $this->num; - } -} - -class c implements IteratorAggregate { - - public $max = 4; - - function getIterator() { - echo __METHOD__ . "\n"; - return new c_iter($this); - } -} - -$t = new c(); - -foreach($t as $v) { - if ($v == 0) { - echo "continue outer\n"; - continue; - } - foreach($t as $w) { - if ($w == 1) { - echo "continue inner\n"; - continue; - } - if ($w == 2) { - echo "break inner\n"; - break; - } - echo "double:$v:$w\n"; - } - if ($v == 2) { - echo "break outer\n"; - break; - } -} - -print "Done\n"; -?> ---EXPECT-- -c::getIterator -c_iter::__construct -c_iter::rewind -c_iter::hasMore = true -c_iter::current -continue outer -c_iter::next -c_iter::hasMore = true -c_iter::current -c::getIterator -c_iter::__construct -c_iter::rewind -c_iter::hasMore = true -c_iter::current -double:1:0 -c_iter::next -c_iter::hasMore = true -c_iter::current -continue inner -c_iter::next -c_iter::hasMore = true -c_iter::current -break inner -c_iter::next -c_iter::hasMore = true -c_iter::current -c::getIterator -c_iter::__construct -c_iter::rewind -c_iter::hasMore = true -c_iter::current -double:2:0 -c_iter::next -c_iter::hasMore = true -c_iter::current -continue inner -c_iter::next -c_iter::hasMore = true -c_iter::current -break inner -break outer -Done |