Annotation of embedaddon/php/tests/classes/iterators_004.phpt, revision 1.1.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>