From: Marcus Boerger Date: Sun, 18 Sep 2005 17:16:17 +0000 (+0000) Subject: - Commite manually if not conatined in bunch commit X-Git-Tag: php-5.1.0RC2~232 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1ee4b407c9ea4cf45390fa295812bc360673d76;p=php - Commite manually if not conatined in bunch commit --- diff --git a/ext/spl/tests/array_009a.phpt b/ext/spl/tests/array_009a.phpt new file mode 100755 index 0000000000..aebac08ba6 --- /dev/null +++ b/ext/spl/tests/array_009a.phpt @@ -0,0 +1,39 @@ +--TEST-- +SPL: ArrayIterator implementing RecursiveIterator +--SKIPIF-- + +--FILE-- +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=== + +--EXPECT-- +1 +21 +221 +222 +231 +3 +===DONE=== diff --git a/ext/spl/tests/iterator_024.phpt b/ext/spl/tests/iterator_024.phpt new file mode 100755 index 0000000000..0c7dea15bc --- /dev/null +++ b/ext/spl/tests/iterator_024.phpt @@ -0,0 +1,49 @@ +--TEST-- +SPL: RecursiveIteratorIterator with custom iterator class +--FILE-- +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=== + +--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===