helly Sun May 21 12:42:00 2006 UTC Added files: /php-src/ext/spl/tests iterator_042.phpt
Modified files: /php-src/ext/spl spl_iterators.c Log: - Remove duplicate error message and add new test http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/spl_iterators.c?r1=1.131&r2=1.132&diff_format=u Index: php-src/ext/spl/spl_iterators.c diff -u php-src/ext/spl/spl_iterators.c:1.131 php-src/ext/spl/spl_iterators.c:1.132 --- php-src/ext/spl/spl_iterators.c:1.131 Sat May 20 20:46:11 2006 +++ php-src/ext/spl/spl_iterators.c Sun May 21 12:42:00 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.131 2006/05/20 20:46:11 helly Exp $ */ +/* $Id: spl_iterators.c,v 1.132 2006/05/21 12:42:00 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -2306,7 +2306,7 @@ 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); http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/tests/iterator_042.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/iterator_042.phpt +++ php-src/ext/spl/tests/iterator_042.phpt --TEST-- SPL: AppendIterator and its ArrayIterator --SKIPIF-- <?php if (!extension_loaded("spl")) print "skip"; ?> --FILE-- <?php function test_error_handler($errno, $msg, $filename, $linenum, $vars) { echo "Error $msg in $filename on line $linenum\n"; return true; } set_error_handler('test_error_handler'); $it = new AppendIterator; $it->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=== <?php exit(0); ?> --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=== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php