Annotation of embedaddon/php/tests/classes/iterators_006.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ZE2 iterators and array wrapping
        !             3: --SKIPIF--
        !             4: <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?> 
        !             5: --FILE--
        !             6: <?php
        !             7: 
        !             8: class ai implements Iterator {
        !             9: 
        !            10:        private $array;
        !            11: 
        !            12:        function __construct() {
        !            13:                $this->array = array('foo', 'bar', 'baz');
        !            14:        }
        !            15: 
        !            16:        function rewind() {
        !            17:                reset($this->array);
        !            18:                $this->next();
        !            19:        }
        !            20: 
        !            21:        function valid() {
        !            22:                return $this->key !== NULL;
        !            23:        }
        !            24: 
        !            25:        function key() {
        !            26:                return $this->key;
        !            27:        }
        !            28: 
        !            29:        function current() {
        !            30:                return $this->current;
        !            31:        }
        !            32: 
        !            33:        function next() {
        !            34:                list($this->key, $this->current) = each($this->array);
        !            35: //             list($key, $current) = each($this->array);
        !            36: //             $this->key = $key;
        !            37: //             $this->current = $current;
        !            38:        }
        !            39: }
        !            40: 
        !            41: class a implements IteratorAggregate {
        !            42: 
        !            43:        public function getIterator() {
        !            44:                return new ai();
        !            45:        }
        !            46: }
        !            47: 
        !            48: $array = new a();
        !            49: 
        !            50: foreach ($array as $property => $value) {
        !            51:        print "$property: $value\n";    
        !            52: }
        !            53: 
        !            54: #$array = $array->getIterator();
        !            55: #$array->rewind();
        !            56: #$array->valid();
        !            57: #var_dump($array->key());
        !            58: #var_dump($array->current());
        !            59: echo "===2nd===\n";
        !            60: 
        !            61: $array = new ai();
        !            62: 
        !            63: foreach ($array as $property => $value) {
        !            64:        print "$property: $value\n";    
        !            65: }
        !            66: 
        !            67: echo "===3rd===\n";
        !            68: 
        !            69: foreach ($array as $property => $value) {
        !            70:        print "$property: $value\n";    
        !            71: }
        !            72: 
        !            73: ?>
        !            74: ===DONE===
        !            75: --EXPECT--
        !            76: 0: foo
        !            77: 1: bar
        !            78: 2: baz
        !            79: ===2nd===
        !            80: 0: foo
        !            81: 1: bar
        !            82: 2: baz
        !            83: ===3rd===
        !            84: 0: foo
        !            85: 1: bar
        !            86: 2: baz
        !            87: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>