From: Marcus Boerger Date: Sun, 21 May 2006 12:42:00 +0000 (+0000) Subject: - Remove duplicate error message and add new test X-Git-Tag: BEFORE_NEW_OUTPUT_API~131 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=97e798257a84881397527cdfd2abdd013f1ada74;p=php - Remove duplicate error message and add new test --- diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index bba3dc1f19..6cdeeaca43 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -2306,7 +2306,7 @@ SPL_METHOD(AppendIterator, append) APPENDIT_CHECK_CTOR(intern); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &it, zend_ce_iterator) == FAILURE) { + if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "O", &it, zend_ce_iterator) == FAILURE) { return; } spl_array_iterator_append(intern->u.append.zarrayit, it TSRMLS_CC); diff --git a/ext/spl/tests/iterator_042.phpt b/ext/spl/tests/iterator_042.phpt new file mode 100755 index 0000000000..8615450654 --- /dev/null +++ b/ext/spl/tests/iterator_042.phpt @@ -0,0 +1,104 @@ +--TEST-- +SPL: AppendIterator and its ArrayIterator +--SKIPIF-- + +--FILE-- +append(array()); +$it->append(new ArrayIterator(array(1))); +$it->append(new ArrayIterator(array(21, 22))); + +var_dump($it->getArrayIterator()); + +$it->append(new ArrayIterator(array(31, 32, 33))); + +var_dump($it->getArrayIterator()); + +$idx = 0; + +foreach($it as $k => $v) +{ + echo '===' . $idx++ . "===\n"; + var_dump($it->getIteratorIndex()); + var_dump($k); + var_dump($v); +} + +?> +===DONE=== + +--EXPECTF-- +Error Argument 1 passed to AppendIterator::append() must implement interface Iterator, array given in %siterator_042.php on line %d +object(ArrayIterator)#%d (2) { + [0]=> + object(ArrayIterator)#%d (1) { + [0]=> + int(1) + } + [1]=> + object(ArrayIterator)#%d (2) { + [0]=> + int(21) + [1]=> + int(22) + } +} +object(ArrayIterator)#%d (3) { + [0]=> + object(ArrayIterator)#%d (1) { + [0]=> + int(1) + } + [1]=> + object(ArrayIterator)#%d (2) { + [0]=> + int(21) + [1]=> + int(22) + } + [2]=> + object(ArrayIterator)#5 (3) { + [0]=> + int(31) + [1]=> + int(32) + [2]=> + int(33) + } +} +===0=== +int(0) +int(0) +int(1) +===1=== +int(1) +int(0) +int(21) +===2=== +int(1) +int(1) +int(22) +===3=== +int(2) +int(0) +int(31) +===4=== +int(2) +int(1) +int(32) +===5=== +int(2) +int(2) +int(33) +===DONE===