Annotation of embedaddon/php/ext/spl/tests/iterator_014.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: RecursiveIteratorIterator and beginChildren/endChildren
                      3: --FILE--
                      4: <?php
                      5: 
                      6: class MyRecursiveArrayIterator extends RecursiveArrayIterator
                      7: {
                      8:        function valid()
                      9:        {
                     10:                if (!parent::valid())
                     11:                {
                     12:                        echo __METHOD__ . " = false\n";
                     13:                        return false;
                     14:                }
                     15:                else
                     16:                {
                     17:                        return true;
                     18:                }
                     19:        }
                     20: 
                     21:        function getChildren()
                     22:        {
                     23:                echo __METHOD__ . "\n";
                     24:                return parent::getChildren();
                     25:        }
                     26: }
                     27: 
                     28: class RecursiveArrayIteratorIterator extends RecursiveIteratorIterator
                     29: {
                     30:        function rewind()
                     31:        {
                     32:                echo __METHOD__ . "\n";
                     33:                parent::rewind();
                     34:        }
                     35: 
                     36:        function valid()
                     37:        {
                     38:                echo __METHOD__ . "\n";
                     39:                return parent::valid();
                     40:        }
                     41: 
                     42:        function current()
                     43:        {
                     44:                echo __METHOD__ . "\n";
                     45:                return parent::current();
                     46:        }
                     47: 
                     48:        function key()
                     49:        {
                     50:                echo __METHOD__ . "\n";
                     51:                return parent::key();
                     52:        }
                     53: 
                     54:        function next()
                     55:        {
                     56:                echo __METHOD__ . "\n";
                     57:                parent::next();
                     58:        }
                     59: 
                     60:        function beginChildren()
                     61:        {
                     62:                echo __METHOD__ . "(".$this->getDepth().")\n";
                     63:        }
                     64: 
                     65:        function endChildren()
                     66:        {
                     67:                echo __METHOD__ . "(".$this->getDepth().")\n";
                     68:        }
                     69: }
                     70: 
                     71: foreach(new RecursiveArrayIteratorIterator(new MyRecursiveArrayIterator(array("a", array("ba", array("bba", "bbb"), array(array("bcaa"))), array("ca"), "d"))) as $k=>$v)
                     72: {
                     73:        echo "$k=>$v\n";
                     74: }
                     75: ?>
                     76: ===DONE===
                     77: <?php exit(0); ?>
                     78: --EXPECT--
                     79: RecursiveArrayIteratorIterator::rewind
                     80: RecursiveArrayIteratorIterator::valid
                     81: RecursiveArrayIteratorIterator::current
                     82: RecursiveArrayIteratorIterator::key
                     83: 0=>a
                     84: RecursiveArrayIteratorIterator::next
                     85: MyRecursiveArrayIterator::getChildren
                     86: RecursiveArrayIteratorIterator::beginChildren(1)
                     87: RecursiveArrayIteratorIterator::valid
                     88: RecursiveArrayIteratorIterator::current
                     89: RecursiveArrayIteratorIterator::key
                     90: 0=>ba
                     91: RecursiveArrayIteratorIterator::next
                     92: MyRecursiveArrayIterator::getChildren
                     93: RecursiveArrayIteratorIterator::beginChildren(2)
                     94: RecursiveArrayIteratorIterator::valid
                     95: RecursiveArrayIteratorIterator::current
                     96: RecursiveArrayIteratorIterator::key
                     97: 0=>bba
                     98: RecursiveArrayIteratorIterator::next
                     99: RecursiveArrayIteratorIterator::valid
                    100: RecursiveArrayIteratorIterator::current
                    101: RecursiveArrayIteratorIterator::key
                    102: 1=>bbb
                    103: RecursiveArrayIteratorIterator::next
                    104: MyRecursiveArrayIterator::valid = false
                    105: RecursiveArrayIteratorIterator::endChildren(2)
                    106: MyRecursiveArrayIterator::getChildren
                    107: RecursiveArrayIteratorIterator::beginChildren(2)
                    108: MyRecursiveArrayIterator::getChildren
                    109: RecursiveArrayIteratorIterator::beginChildren(3)
                    110: RecursiveArrayIteratorIterator::valid
                    111: RecursiveArrayIteratorIterator::current
                    112: RecursiveArrayIteratorIterator::key
                    113: 0=>bcaa
                    114: RecursiveArrayIteratorIterator::next
                    115: MyRecursiveArrayIterator::valid = false
                    116: RecursiveArrayIteratorIterator::endChildren(3)
                    117: MyRecursiveArrayIterator::valid = false
                    118: RecursiveArrayIteratorIterator::endChildren(2)
                    119: MyRecursiveArrayIterator::valid = false
                    120: RecursiveArrayIteratorIterator::endChildren(1)
                    121: MyRecursiveArrayIterator::getChildren
                    122: RecursiveArrayIteratorIterator::beginChildren(1)
                    123: RecursiveArrayIteratorIterator::valid
                    124: RecursiveArrayIteratorIterator::current
                    125: RecursiveArrayIteratorIterator::key
                    126: 0=>ca
                    127: RecursiveArrayIteratorIterator::next
                    128: MyRecursiveArrayIterator::valid = false
                    129: RecursiveArrayIteratorIterator::endChildren(1)
                    130: RecursiveArrayIteratorIterator::valid
                    131: RecursiveArrayIteratorIterator::current
                    132: RecursiveArrayIteratorIterator::key
                    133: 3=>d
                    134: RecursiveArrayIteratorIterator::next
                    135: MyRecursiveArrayIterator::valid = false
                    136: RecursiveArrayIteratorIterator::valid
                    137: MyRecursiveArrayIterator::valid = false
                    138: ===DONE===

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