Annotation of embedaddon/php/tests/classes/iterators_004.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ZE2 iterators must be implemented
! 3: --SKIPIF--
! 4: <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: echo "1st try\n";
! 9:
! 10: class c1 {}
! 11:
! 12: $obj = new c1();
! 13:
! 14: foreach($obj as $w) {
! 15: echo "object:$w\n";
! 16: }
! 17:
! 18: echo "2nd try\n";
! 19:
! 20: class c2 {
! 21:
! 22: public $max = 3;
! 23: public $num = 0;
! 24:
! 25: function current() {
! 26: echo __METHOD__ . "\n";
! 27: return $this->num;
! 28: }
! 29: function next() {
! 30: echo __METHOD__ . "\n";
! 31: $this->num++;
! 32: }
! 33: function valid() {
! 34: echo __METHOD__ . "\n";
! 35: return $this->num < $this->max;
! 36: }
! 37: function key() {
! 38: echo __METHOD__ . "\n";
! 39: switch($this->num) {
! 40: case 0: return "1st";
! 41: case 1: return "2nd";
! 42: case 2: return "3rd";
! 43: default: return "???";
! 44: }
! 45: }
! 46: }
! 47:
! 48: $obj = new c2();
! 49:
! 50: foreach($obj as $v => $w) {
! 51: echo "object:$v=>$w\n";
! 52: }
! 53:
! 54: print "Done\n";
! 55: ?>
! 56: --EXPECTF--
! 57: 1st try
! 58: 2nd try
! 59: object:max=>3
! 60: object:num=>0
! 61: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>