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>