Annotation of embedaddon/php/ext/spl/tests/iterator_002.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SPL: Iterator using getInnerIterator
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class RecursiceArrayIterator extends ArrayIterator implements RecursiveIterator
        !             7: {
        !             8:        function hasChildren()
        !             9:        {
        !            10:                return is_array($this->current());
        !            11:        }
        !            12:        
        !            13:        function getChildren()
        !            14:        {
        !            15:                return new RecursiceArrayIterator($this->current());
        !            16:        }
        !            17: }
        !            18: 
        !            19: class CrashIterator extends FilterIterator implements RecursiveIterator
        !            20: {
        !            21:        function accept()
        !            22:        {
        !            23:                return true;
        !            24:        }
        !            25:        
        !            26:        function hasChildren()
        !            27:        {
        !            28:                return $this->getInnerIterator()->hasChildren();
        !            29:        }
        !            30:        
        !            31:        function getChildren()
        !            32:        {
        !            33:                return new RecursiceArrayIterator($this->getInnerIterator()->current());
        !            34:        }
        !            35: }
        !            36: 
        !            37: $array = array(1, 2 => array(21, 22 => array(221, 222), 23 => array(231)), 3);
        !            38: 
        !            39: $dir = new RecursiveIteratorIterator(new CrashIterator(new RecursiceArrayIterator($array)), RecursiveIteratorIterator::LEAVES_ONLY);
        !            40: 
        !            41: foreach ($dir as $file) {
        !            42:        print "$file\n";
        !            43: }
        !            44: 
        !            45: ?>
        !            46: ===DONE===
        !            47: <?php exit(0); ?>
        !            48: --EXPECT--
        !            49: 1
        !            50: 21
        !            51: 221
        !            52: 222
        !            53: 231
        !            54: 3
        !            55: ===DONE===

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