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

1.1       misho       1: --TEST--
                      2: SPL: RecursiveIteratorIterator with custom iterator class
                      3: --FILE--
                      4: <?php
                      5: 
                      6: $ar = array(1, 2, array(31, 32, array(331)), 4);
                      7: 
                      8: foreach(new RecursiveIteratorIterator(new ArrayObject($ar, 0, "RecursiveArrayIterator")) as $v) echo "$v\n";
                      9: 
                     10: $it = new ArrayObject($ar);
                     11: var_dump($it->getIteratorClass());
                     12: 
                     13: try
                     14: {
                     15:        foreach(new RecursiveIteratorIterator(new ArrayObject($ar)) as $v) echo "$v\n";
                     16: }
                     17: catch (InvalidArgumentException $e)
                     18: {
                     19:        echo $e->getMessage() . "\n";
                     20: }
                     21: 
                     22: echo "===MANUAL===\n";
                     23: 
                     24: $it->setIteratorClass("RecursiveArrayIterator");
                     25: var_dump($it->getIteratorClass());
                     26: foreach(new RecursiveIteratorIterator($it) as $v) echo "$v\n";
                     27: 
                     28: 
                     29: ?>
                     30: ===DONE===
                     31: <?php exit(0); ?>
                     32: --EXPECT--
                     33: 1
                     34: 2
                     35: 31
                     36: 32
                     37: 331
                     38: 4
                     39: string(13) "ArrayIterator"
                     40: An instance of RecursiveIterator or IteratorAggregate creating it is required
                     41: ===MANUAL===
                     42: string(22) "RecursiveArrayIterator"
                     43: 1
                     44: 2
                     45: 31
                     46: 32
                     47: 331
                     48: 4
                     49: ===DONE===

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