cvs: php-src(PHP_5_1) /ext/spl/tests array_009a.phpt iterator_024.phpt

From: Date: Sun, 18 Sep 2005 17:16:17 +0000
Subject: cvs: php-src(PHP_5_1) /ext/spl/tests array_009a.phpt iterator_024.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-34000@lists.php.net to get a copy of this message
helly Sun Sep 18 13:16:17 2005 EDT Added files: (Branch: PHP_5_1) /php-src/ext/spl/tests array_009a.phpt iterator_024.phpt Log: - Commite manually if not conatined in bunch commit http://cvs.php.net/co.php/php-src/ext/spl/tests/array_009a.phpt?r=1.1&p=1 Index: php-src/ext/spl/tests/array_009a.phpt +++ php-src/ext/spl/tests/array_009a.phpt --TEST-- SPL: ArrayIterator implementing RecursiveIterator --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- <?php class MyRecursiveArrayIterator extends ArrayIterator implements RecursiveIterator { function hasChildren() { return is_array($this->current()); } function getChildren() { return new MyRecursiveArrayIterator($this->current()); } } $array = array(1, 2 => array(21, 22 => array(221, 222), 23 => array(231)), 3); $dir = new RecursiveIteratorIterator(new MyRecursiveArrayIterator($array), RecursiveIteratorIterator::LEAVES_ONLY); foreach ($dir as $file) { print "$file\n"; } ?> ===DONE=== <?php exit(0); ?> --EXPECT-- 1 21 221 222 231 3 ===DONE=== http://cvs.php.net/co.php/php-src/ext/spl/tests/iterator_024.phpt?r=1.1&p=1 Index: php-src/ext/spl/tests/iterator_024.phpt +++ php-src/ext/spl/tests/iterator_024.phpt --TEST-- SPL: RecursiveIteratorIterator with custom iterator class --FILE-- <?php $ar = array(1, 2, array(31, 32, array(331)), 4); foreach(new RecursiveIteratorIterator(new ArrayObject($ar, 0, "RecursiveArrayIterator")) as $v) echo "$v\n"; $it = new ArrayObject($ar); var_dump($it->getIteratorClass()); try { foreach(new RecursiveIteratorIterator(new ArrayObject($ar)) as $v) echo "$v\n"; } catch (InvalidArgumentException $e) { echo $e->getMessage() . "\n"; } echo "===MANUAL===\n"; $it->setIteratorClass("RecursiveArrayIterator"); var_dump($it->getIteratorClass()); foreach(new RecursiveIteratorIterator($it) as $v) echo "$v\n"; ?> ===DONE=== <?php exit(0); ?> --EXPECT-- 1 2 31 32 331 4 string(13) "ArrayIterator" An instance of RecursiveIterator or IteratorAggregate creating it is required ===MANUAL=== string(22) "RecursiveArrayIterator" 1 2 31 32 331 4 ===DONE===

« previous php.cvs (#34000) next »