php-src/ext/spl/tests/iterator_048.phpt
Tjerk Meesters 71ba533640 Fixed bug #68128
Three issues are addressed:

- RecursiveRegexIterator::accept() should accept non-empty arrays without
  applying any regular expression and RegexIterator::accept() should not accept
  an array.
- RegexIterator::accept() should not accept an atom that fails to match
  anything, even when PREG_PATTERN_ORDER is used (which would return an array
  of empty arrays).
- RecursiveRegexIterator::getChildren() should pass all constructor arguments
  to its child iterator instead of just the regular expression.
2014-10-14 22:49:01 +08:00

32 lines
540 B
PHP

--TEST--
SPL: RecursiveRegexIterator and exception in has/getChildren
--FILE--
<?php
class MyRecursiveRegexIterator extends RecursiveRegexIterator
{
function show()
{
foreach(new RecursiveIteratorIterator($this) as $k => $v)
{
var_dump($k);
var_dump($v);
}
}
}
$ar = new RecursiveArrayIterator(array('Foo', array('Bar'), 'FooBar', array('Baz'), 'Biz'));
$it = new MyRecursiveRegexIterator($ar, '/Bar/');
$it->show();
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
int(0)
string(3) "Bar"
int(2)
string(6) "FooBar"
===DONE===