felipe Sun May 17 15:21:45 2009 UTC Added files: /php-src/ext/spl/tests heap_corruption.phpt heap_current_variation_001.phpt heap_isempty_variation_001.phpt heap_it_current_empty.phpt heap_top_variation_001.phpt heap_top_variation_002.phpt heap_top_variation_003.phpt iterator_count.phpt iterator_to_array.phpt limititerator_seek.phpt pqueue_compare_basic.phpt pqueue_compare_error.phpt pqueue_current_error.phpt recursive_tree_iterator_setprefixpart.phpt recursiveiteratoriterator_beginiteration_basic.phpt recursiveiteratoriterator_enditeration_basic.phpt recursiveiteratoriterator_getsubiterator_basic.phpt recursiveiteratoriterator_getsubiterator_error.phpt recursiveiteratoriterator_getsubiterator_variation.phpt recursiveiteratoriterator_getsubiterator_variation_002.phpt recursiveiteratoriterator_getsubiterator_variation_003.phpt recursiveiteratoriterator_nextelement_basic.phpt regexiterator_getpregflags.phpt regexiterator_setflags_exception.phpt regexiterator_setpregflags.phpt regexiterator_setpregflags_exception.phpt spl_caching_iterator_constructor_flags.phpt spl_cachingiterator___toString_basic.phpt spl_cachingiterator_setFlags_basic.phpt spl_fileinfo_getlinktarget_basic.phpt spl_heap_count_basic.phpt spl_heap_count_error.phpt spl_heap_extract_parameter_error.phpt spl_heap_insert_basic.phpt spl_heap_is_empty_basic.phpt spl_heap_isempty.phpt spl_heap_iteration_error.phpt spl_heap_recoverfromcorruption_arguments.phpt spl_iterator_apply_error.phpt spl_iterator_apply_error_001.phpt spl_iterator_caching_count_basic.phpt spl_iterator_caching_count_error.phpt spl_iterator_caching_getcache_error.phpt spl_iterator_getcallchildren.phpt spl_iterator_iterator_constructor.phpt spl_iterator_recursive_getiterator_error.phpt spl_iterator_to_array_basic.phpt spl_iterator_to_array_error.phpt spl_limit_iterator_check_limits.phpt spl_maxheap_compare_basic.phpt spl_minheap_compare_error.phpt spl_pq_top_basic.phpt spl_pq_top_error_args.phpt spl_pq_top_error_corrupt.phpt spl_pq_top_error_empty.phpt spl_priorityqeue_insert_two_params_error.phpt spl_recursiveIteratorIterator_setMaxDepth_parameter_count.phpt spl_recursive_iterator_iterator_key_case.phpt splpriorityqueue_extract.phpt splpriorityqueue_setextractflags.phpt Log: - New tests (testfest LondonUG)
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_corruption.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_corruption.phpt +++ php-src/ext/spl/tests/heap_corruption.phpt --TEST-- SPL: SplHeap - heap corruption via compare exception (with top element deletion) --CREDITS-- Mike Sullivan <mike...@php.net> #TestFest 2009 (London) --FILE-- <?php
class myHeap extends SplHeap { public $allow_compare = true; public function compare($v1, $v2) { if ($this->allow_compare == true) { if ($v1 > $v2) { return 1; } else if ($v1 < $v2) { return -1; } else { return 0; } } else { throw new Exception('Compare exception'); } } } $heap = new myHeap(); $heap->insert(1); $heap->insert(2); $heap->insert(3); $heap->insert(4); $heap->allow_compare = false; try { $heap->extract(); } catch (Exception $e) { echo "Compare Exception: " . $e->getMessage() . PHP_EOL; } try { $heap->top(); } catch (Exception $e) { echo "Corruption Exception: " . $e->getMessage() . PHP_EOL; } ?> --EXPECT-- Compare Exception: Compare exception Corruption Exception: Heap is corrupted, heap properties are no longer ensured. http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_current_variation_001.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_current_variation_001.phpt +++ php-src/ext/spl/tests/heap_current_variation_001.phpt --TEST-- SPL: SplHeap::current - get current value from empty heap --CREDITS-- Mike Sullivan <mike...@php.net> #TestFest 2009 (London) --FILE-- <?php class myHeap extends SplHeap { public function compare($v1, $v2) { throw new Exception(''); } } $heap = new myHeap(); var_dump($heap->current()); ?> --EXPECT-- NULL http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_isempty_variation_001.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_isempty_variation_001.phpt +++ php-src/ext/spl/tests/heap_isempty_variation_001.phpt --TEST-- SPL: SplHeap: isEmpty argument variation. --FILE-- <?php class SplHeap2 extends SplHeap{ public function compare() { return -parent::compare(); } } $h = new SplHeap2; $h->isEmpty(1); ?> --EXPECTF-- Warning: SplHeap::isEmpty() expects exactly 0 parameters, 1 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_it_current_empty.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_it_current_empty.phpt +++ php-src/ext/spl/tests/heap_it_current_empty.phpt --TEST-- SPL: SplHeap current, check looping through an empty heap gives you no values --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplMinHeap(); foreach ($h as $val) { echo 'FAIL'; } ?> --EXPECT-- http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_top_variation_001.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_top_variation_001.phpt +++ php-src/ext/spl/tests/heap_top_variation_001.phpt --TEST-- SPL: SplHeap top, illegal number of args --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplMinHeap(); $h->insert(5); // top doesn't take any args, lets see what happens if we give it one $h->top('bogus'); ?> --EXPECTF-- Warning: SplHeap::top() expects exactly 0 parameters, 1 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_top_variation_002.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_top_variation_002.phpt +++ php-src/ext/spl/tests/heap_top_variation_002.phpt --TEST-- SPL: SplHeap top, corrupted heap --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php // override heap to force corruption by throwing exception in compare class SplMinHeap2 extends SplMinHeap { public function compare($a, $b) { throw new Exception('Corrupt heap'); } } $h = new SplMinHeap2(); // insert 2 elements to hit our overridden compare $h->insert(4); try { $h->insert(5); } catch (Exception $e) {} // call top, should fail with corrupted heap try { $h->top(); } catch (Exception $e) { echo $e->getMessage(); } ?> --EXPECTF-- Heap is corrupted, heap properties are no longer ensured. http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/heap_top_variation_003.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/heap_top_variation_003.phpt +++ php-src/ext/spl/tests/heap_top_variation_003.phpt --TEST-- SPL: SplHeap top of empty heap --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplMinHeap(); try { $h->top(); } catch (Exception $e) { echo $e->getMessage(); } ?> --EXPECTF-- Can't peek at an empty heap http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/iterator_count.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/iterator_count.phpt +++ php-src/ext/spl/tests/iterator_count.phpt --TEST-- SPL: iterator_count() exceptions test --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php $array=array('a','b'); $iterator = new ArrayIterator($array); iterator_count(); iterator_count($iterator,'1'); iterator_count('1'); ?> --EXPECTF-- Warning: iterator_count() expects exactly 1 parameter, 0 given in %s Warning: iterator_count() expects exactly 1 parameter, 2 given in %s Catchable fatal error: Argument 1 passed to iterator_count() must implement interface Traversable, %unicode_string_optional% given %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/iterator_to_array.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/iterator_to_array.phpt +++ php-src/ext/spl/tests/iterator_to_array.phpt --TEST-- SPL: iterator_to_array() exceptions test --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php $array=array('a','b'); $iterator = new ArrayIterator($array); iterator_to_array(); iterator_to_array($iterator,'test','test'); iterator_to_array('test','test'); ?> --EXPECTF-- Warning: iterator_to_array() expects at least 1 parameter, 0 given in %s Warning: iterator_to_array() expects at most 2 parameters, 3 given in %s Catchable fatal error: Argument 1 passed to iterator_to_array() must implement interface Traversable, %unicode_string_optional% given %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/limititerator_seek.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/limititerator_seek.phpt +++ php-src/ext/spl/tests/limititerator_seek.phpt --TEST-- SPL: LimitIterator seek() arguments --CREDITS-- Roshan Abraham (roshanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $a = array(1,2,3); $lt = new LimitIterator(new ArrayIterator($a)); $lt->seek(1,1); // Should throw a warning as seek expects only 1 argument ?> --EXPECTF-- Warning: LimitIterator::seek() expects exactly 1 parameter, 2 given in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/pqueue_compare_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/pqueue_compare_basic.phpt +++ php-src/ext/spl/tests/pqueue_compare_basic.phpt --TEST-- SPL: SplPriorityQueue: test compare --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplPriorityQueue(); var_dump($h->compare(4, 5) < 0); var_dump($h->compare(5, 5) == 0); var_dump($h->compare(5, 4) > 0); ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- bool(true) bool(true) bool(true) ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/pqueue_compare_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/pqueue_compare_error.phpt +++ php-src/ext/spl/tests/pqueue_compare_error.phpt --TEST-- SPL: Priority queue compare, illegal number of args --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplPriorityQueue(); $h->compare(); $h->compare(1); $h->compare(1, 2, 3); ?> --EXPECTF-- Warning: SplPriorityQueue::compare() expects exactly 2 parameters, 0 given in %s Warning: SplPriorityQueue::compare() expects exactly 2 parameters, 1 given in %s Warning: SplPriorityQueue::compare() expects exactly 2 parameters, 3 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/pqueue_current_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/pqueue_current_error.phpt +++ php-src/ext/spl/tests/pqueue_current_error.phpt --TEST-- SPL: SplPriorityQueue current on empty queue should give null --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplPriorityQueue(); var_dump($h->current()); ?> --EXPECT-- NULL http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursive_tree_iterator_setprefixpart.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursive_tree_iterator_setprefixpart.phpt +++ php-src/ext/spl/tests/recursive_tree_iterator_setprefixpart.phpt --TEST-- SPL: RecursiveTreeIterator::setPrefixPart() Test arguments --CREDITS-- Roshan Abraham (roshanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $arr = array( "a" => array("b") ); $it = new RecursiveArrayIterator($arr); $it = new RecursiveTreeIterator($it); $it->setPrefixPart(1); // Should throw a warning as setPrefixPart expects 2 arguments $a = new stdClass(); $it->setPrefixPart($a, 1); // Should throw a warning as setPrefixPart expects argument 1 to be long integer $it->setPrefixPart(1, $a); // Should throw a warning as setPrefixPart expects argument 2 to be a string ?> ===DONE=== --EXPECTF-- Warning: RecursiveTreeIterator::setPrefixPart() expects exactly 2 parameters, 1 given in %s on line %d Warning: RecursiveTreeIterator::setPrefixPart() expects parameter 1 to be long, object given in %s on line %d Warning: RecursiveTreeIterator::setPrefixPart() expects parameter 2 to be %binary_string_optional%, object given in %s on line %d ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_beginiteration_basic.phpt --TEST-- SPL: RecursiveIteratorIterator::beginIteration() is called by RecursiveIteratorIterator::rewind() --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2); $sub_iterator = new RecursiveArrayIterator($sample_array); $iterator = new RecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } class SkipsFirstElementRecursiveIteratorIterator extends RecursiveIteratorIterator { public function beginIteration() { echo "::beginIteration() was invoked\n"; $this->next(); } } $iterator = new SkipsFirstElementRecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } ?> --EXPECT-- int(1) int(2) ::beginIteration() was invoked int(2) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_enditeration_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_enditeration_basic.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_enditeration_basic.phpt --TEST-- SPL: RecursiveIteratorIterator::endIteration() is called when ::valid() first returns false --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2); $sub_iterator = new RecursiveArrayIterator($sample_array); $iterator = new RecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } class EndIterationRecursiveIteratorIterator extends RecursiveIteratorIterator { public function endIteration() { echo "::endIteration() was invoked\n"; } } $iterator = new EndIterationRecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } ?> --EXPECT-- int(1) int(2) int(1) int(2) ::endIteration() was invoked http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_basic.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_basic.phpt --TEST-- SPL: RecursiveIteratorIterator::getSubIterator() returns iterator passed in constructor --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2, array(3, 4)); $sub_iterator = new RecursiveArrayIterator($sample_array); $not_sub_iterator = new RecursiveArrayIterator($sample_array); $iterator = new RecursiveIteratorIterator($sub_iterator); var_dump($iterator->getSubIterator() === $sub_iterator); var_dump($iterator->getSubIterator() === $not_sub_iterator); ?> --EXPECT-- bool(true) bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_error.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_error.phpt --TEST-- SPL: RecursiveIteratorIterator::getSubIterator() expects at most 1 parameter --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator(array())); $iterator->getSubIterator(); $iterator->getSubIterator(0); $iterator->getSubIterator(0, 0); ?> --EXPECTF-- Warning: RecursiveIteratorIterator::getSubIterator() expects at most 1 parameter, 2 given in %s on line 5 http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation.phpt --TEST-- SPL: RecursiveIteratorIterator::getSubIterator() returns different iterators depending on the current element --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2, array(3, 4)); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($sample_array)); $iterator->next(); $iterator->next(); var_dump(get_class($iterator->getSubIterator())); var_dump($iterator->getSubIterator()->getArrayCopy()); $iterator->next(); var_dump(get_class($iterator->getSubIterator())); var_dump($iterator->getSubIterator()->getArrayCopy()); ?> --EXPECTF-- %unicode|string%(22) "RecursiveArrayIterator" array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(2) { [0]=> int(3) [1]=> int(4) } } %unicode|string%(22) "RecursiveArrayIterator" array(2) { [0]=> int(3) [1]=> int(4) } http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_002.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_002.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_002.phpt --TEST-- SPL: RecursiveIteratorIterator::getSubIterator() returns NULL if there's no current element --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($sample_array)); $iterator->next(); var_dump(is_null($iterator->getSubIterator())); $iterator->next(); var_dump(is_null($iterator->getSubIterator())); ?> --EXPECT-- bool(false) bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_003.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_003.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_getsubiterator_variation_003.phpt --TEST-- SPL: RecursiveIteratorIterator::getSubIterator() with explicit level parameter --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2, array(3, 4)); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($sample_array)); $iterator->next(); $iterator->next(); $iterator->next(); var_dump($iterator->getSubIterator(-1)); var_dump($iterator->getSubIterator(0)->getArrayCopy()); var_dump($iterator->getSubIterator(1)->getArrayCopy()); var_dump($iterator->getSubIterator(2)); ?> --EXPECT-- NULL array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(2) { [0]=> int(3) [1]=> int(4) } } array(2) { [0]=> int(3) [1]=> int(4) } NULL http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt +++ php-src/ext/spl/tests/recursiveiteratoriterator_nextelement_basic.phpt --TEST-- SPL: RecursiveIteratorIterator::nextElement() is called when the next element is ready --CREDITS-- Matt Raines m...@raines.me.uk #testfest London 2009-05-09 --FILE-- <?php $sample_array = array(1, 2, array(3, 4)); $sub_iterator = new RecursiveArrayIterator($sample_array); $iterator = new RecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } class NextElementRecursiveIteratorIterator extends RecursiveIteratorIterator { public function nextElement() { echo "::nextElement() was invoked\n"; } } $iterator = new NextElementRecursiveIteratorIterator($sub_iterator); foreach ($iterator as $element) { var_dump($element); } ?> --EXPECT-- int(1) int(2) int(3) int(4) ::nextElement() was invoked int(1) ::nextElement() was invoked int(2) ::nextElement() was invoked int(3) ::nextElement() was invoked int(4) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/regexiterator_getpregflags.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/regexiterator_getpregflags.phpt +++ php-src/ext/spl/tests/regexiterator_getpregflags.phpt --TEST-- SPL: RegexIterator::getPregFlags() --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php class myIterator implements Iterator { function current (){} function key ( ){} function next ( ){} function rewind ( ){} function valid ( ){} } class TestRegexIterator extends RegexIterator{} $rege = '/^a/'; $r = new TestRegexIterator(new myIterator, $rege); $r->setPregFlags(PREG_OFFSET_CAPTURE); echo is_long($r->getPregFlags()); ?> --EXPECTF-- 1 http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/regexiterator_setflags_exception.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/regexiterator_setflags_exception.phpt +++ php-src/ext/spl/tests/regexiterator_setflags_exception.phpt --TEST-- SPL: RegexIterator::setFlags() exceptions test --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php class myIterator implements Iterator { function current (){} function key ( ){} function next ( ){} function rewind ( ){} function valid ( ){} } class TestRegexIterator extends RegexIterator{} $rege = '/^a/'; $r = new TestRegexIterator(new myIterator, $rege); try{ $r->setFlags(); }catch (Exception $e) { echo $e->getMessage(); } ?> --EXPECTF-- Warning: RegexIterator::setFlags() expects exactly 1 parameter, 0 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/regexiterator_setpregflags.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/regexiterator_setpregflags.phpt +++ php-src/ext/spl/tests/regexiterator_setpregflags.phpt --TEST-- SPL: RegexIterator::setPregFlags() --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php class myIterator implements Iterator { function current (){} function key ( ){} function next ( ){} function rewind ( ){} function valid ( ){} } class TestRegexIterator extends RegexIterator{} $rege = '/^a/'; $r = new TestRegexIterator(new myIterator, $rege); $r->setPregFlags(PREG_OFFSET_CAPTURE); echo $r->getPregFlags(); ?> --EXPECTF-- 256 http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/regexiterator_setpregflags_exception.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/regexiterator_setpregflags_exception.phpt +++ php-src/ext/spl/tests/regexiterator_setpregflags_exception.phpt --TEST-- SPL: RegexIterator::getPregFlags() exception test --CREDITS-- Lance Kesson jac_kes...@hotmail.com #testfest London 2009-05-09 --FILE-- <?php class myIterator implements Iterator { function current (){} function key ( ){} function next ( ){} function rewind ( ){} function valid ( ){} } class TestRegexIterator extends RegexIterator{} $rege = '/^a/'; $r = new TestRegexIterator(new myIterator, $rege); try{ $r->setPregFlags(); }catch (Exception $e) { echo $e->getMessage(); } ?> --EXPECTF-- Warning: RegexIterator::setPregFlags() expects exactly 1 parameter, 0 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt +++ php-src/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt --TEST-- SPL: CachingInterator constructor flag checks --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php //line 681 ... $array = array(array(7,8,9),1,2,3,array(4,5,6)); $arrayIterator = new ArrayIterator($array); try { $test = new CachingIterator($arrayIterator, 0); $test = new CachingIterator($arrayIterator, 1); $test = new CachingIterator($arrayIterator, 2); $test = new CachingIterator($arrayIterator, 3); // this throws an exception } catch (InvalidArgumentException $e){ print $e->getMessage() . "\n"; } ?> ===DONE=== --EXPECTF-- Flags must contain only one of CALL_TOSTRING, TOSTRING_USE_KEY, TOSTRING_USE_CURRENT, TOSTRING_USE_CURRENT ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_cachingiterator___toString_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_cachingiterator___toString_basic.phpt +++ php-src/ext/spl/tests/spl_cachingiterator___toString_basic.phpt --TEST-- SPL: SplCachingIterator, Test method to convert current element to string --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php $ai = new ArrayIterator(array(new stdClass(), new stdClass())); $ci = new CachingIterator($ai); var_dump( $ci->__toString() // if conversion to string is done by echo, for example, an exeption is thrown. Invoking __toString explicitly covers different code. ); ?> --EXPECTF-- NULL http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_cachingiterator_setFlags_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_cachingiterator_setFlags_basic.phpt +++ php-src/ext/spl/tests/spl_cachingiterator_setFlags_basic.phpt --TEST-- SPL: SplCachingIterator, Test method to set flags for caching iterator --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php $ai = new ArrayIterator(array('foo', 'bar')); $ci = new CachingIterator($ai); $ci->setFlags(); //expects arg ?> --EXPECTF-- Warning: CachingIterator::setFlags() expects exactly 1 parameter, %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt +++ php-src/ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt --TEST-- SPL: Spl File Info test getLinkTarget --CREDITS-- Nataniel McHugh n...@fishtrap.co.uk --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') die("skip this test not for Windows platforms"); ?> --FILE-- <?php $link = 'test_link'; symlink(__FILE__, $link ); $fileInfo = new SplFileInfo($link); if ($fileInfo->isLink()) { echo $fileInfo->getLinkTarget() == __FILE__ ? 'same' : 'different',PHP_EOL; } var_dump(unlink($link)); ?> --EXPECT-- same bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_count_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_count_basic.phpt +++ php-src/ext/spl/tests/spl_heap_count_basic.phpt --TEST-- SPL: SplHeap, Test spl_heap_object_count_elements (spl_heap.c:490) for returning count() failure for Heaps --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php class MyHeap extends SplHeap { public function compare($a,$b) { return ($a < $b); } public function count() // override count to force failure { throw new Exception('Cause count to fail'); return parent::count(); } } $heap = new MyHeap(); $heap->insert(1); count($heap);// refers to MyHeap->count() method ?> --EXPECTF-- Fatal error: Uncaught exception 'Exception' with message 'Cause count to fail' in %s Stack trace: #0 [internal function]: MyHeap->count() #1 %s count(Object(MyHeap)) #2 {main} thrown in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_count_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_count_error.phpt +++ php-src/ext/spl/tests/spl_heap_count_error.phpt --TEST-- SPL: Priority queue count, illegal number of args --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php $h = new SplPriorityQueue(); $h->count(1); ?> --EXPECTF-- Warning: SplPriorityQueue::count() expects exactly 0 parameters, 1 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_extract_parameter_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_extract_parameter_error.phpt +++ php-src/ext/spl/tests/spl_heap_extract_parameter_error.phpt --TEST-- SPL: Heap and extract with parameter --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php class TestHeap extends SplHeap { function compare() { print "This shouldn't be printed"; } } $testHeap = new TestHeap(); var_dump($testHeap->extract('test')); ?> ===DONE=== --EXPECTF-- Warning: SplHeap::extract() expects exactly 0 parameters, 1 given in %s on line 14 NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_insert_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_insert_basic.phpt +++ php-src/ext/spl/tests/spl_heap_insert_basic.phpt --TEST-- SPL: SplHeap, Test method to insert into heap --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php class MyHeap extends SplHeap { public function compare($a, $b) { return $a < $b; } } $heap = new MyHeap(); $heap->insert(1,2); ?> --EXPECTF-- Warning: SplHeap::insert() expects exactly 1 parameter, %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_is_empty_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_is_empty_basic.phpt +++ php-src/ext/spl/tests/spl_heap_is_empty_basic.phpt --TEST-- SPL: SplHeap, test trivial method to find if a heap is empty --CREDITS-- Nathaniel McHugh n...@fishtrap.co.uk #testfest London 2009-05-09 --FILE-- <?php class MyHeap extends SplHeap{ public function compare($a, $b){ return $a < $b; } } $heap = new MyHeap(); var_dump($heap->isEmpty()); $heap->insert(1); var_dump($heap->isEmpty()); $heap->extract(); var_dump($heap->isEmpty()); $heap->isEmpty('var'); ?> --EXPECTF-- bool(true) bool(false) bool(true) Warning: SplHeap::isEmpty() expects exactly 0 parameters, 1 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_isempty.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_isempty.phpt +++ php-src/ext/spl/tests/spl_heap_isempty.phpt --TEST-- SPL: Test of isEmpty for SPL Max Heap --CREDITS-- Rohan Abraham (rohanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $h = new SplMaxHeap(); echo "Checking a new heap is empty: "; var_dump($h->isEmpty())."\n"; $h->insert(2); echo "Checking after insert: "; var_dump($h->isEmpty())."\n"; $h->extract(); echo "Checking after extract: "; var_dump($h->isEmpty())."\n"; ?> --EXPECT-- Checking a new heap is empty: bool(true) Checking after insert: bool(false) Checking after extract: bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_iteration_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_iteration_error.phpt +++ php-src/ext/spl/tests/spl_heap_iteration_error.phpt --TEST-- SPL: Attempt to corrupt the heap while iterating --CREDITS-- Lukasz Andrzejak mel...@meltir.com #testfest London 2009-05-09 --FILE-- <?php class ext_heap extends SplMaxHeap { public $fail = false; public function compare($val1,$val2) { if ($this->fail) throw new Exception('Corrupting heap',99); return 0; } } $h = new ext_heap(); $h->insert(array('foobar')); $h->insert(array('foobar1')); $h->insert(array('foobar2')); try { $h->fail=true; foreach ($h as $value) {}; echo "I should have raised an exception here"; } catch (Exception $e) { if ($e->getCode()!=99) echo "Unexpected exception"; } var_dump($h); ?> --EXPECTF-- object(ext_heap)#%d (4) { [%u|b%"fail"]=> bool(true) [%u|b%"flags":%u|b%"SplHeap":private]=> int(0) [%u|b%"isCorrupted":%u|b%"SplHeap":private]=> bool(true) [%u|b%"heap":%u|b%"SplHeap":private]=> array(2) { [0]=> array(1) { [0]=> %unicode|string%(7) "foobar2" } [1]=> array(1) { [0]=> %unicode|string%(7) "foobar1" } } } http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_heap_recoverfromcorruption_arguments.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_heap_recoverfromcorruption_arguments.phpt +++ php-src/ext/spl/tests/spl_heap_recoverfromcorruption_arguments.phpt --TEST-- SPL: SplHeap check no arguments to be accepted on recoverFromCorruption --CREDITS-- Rohan Abraham (rohanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $h = new SplMaxHeap(); //Line below should throw a warning as no args are expected $h->recoverFromCorruption("no args"); ?> --EXPECTF-- Warning: SplHeap::recoverFromCorruption() expects exactly 0 parameters, 1 given in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_apply_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_apply_error.phpt +++ php-src/ext/spl/tests/spl_iterator_apply_error.phpt --TEST-- SPL: Error: iterator_apply when an iterator method (eg rewind) throws exception --FILE-- <?php class MyArrayIterator extends ArrayIterator { public function rewind() { throw new Exception('Make the iterator break'); } } function test() {} $it = new MyArrayIterator(array(1, 21, 22)); try { $res = iterator_apply($it, 'test'); } catch (Exception $e) { echo $e->getMessage(); } ?> <?php exit(0); ?> --EXPECT-- Make the iterator break http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_apply_error_001.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_apply_error_001.phpt +++ php-src/ext/spl/tests/spl_iterator_apply_error_001.phpt --TEST-- SPL: Error: iterator_apply when the callback throws an exception --FILE-- <?php function test() { throw new Exception('Broken callback'); } $it = new RecursiveArrayIterator(array(1, 21, 22)); try { iterator_apply($it, 'test'); } catch (Exception $e) { echo $e->getMessage(); } ?> --EXPECT-- Broken callback http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_caching_count_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_caching_count_basic.phpt +++ php-src/ext/spl/tests/spl_iterator_caching_count_basic.phpt --TEST-- SPL: Caching iterator count() cache contents --CREDITS-- Lukasz Andrzejak mel...@meltir.com #testfest London 2009-05-09 --FILE-- <?php $i = new ArrayIterator(array(1,1,1,1,1)); $i = new CachingIterator($i,CachingIterator::FULL_CACHE); foreach ($i as $value) { echo $i->count()."\n"; } ?> ===DONE=== --EXPECT-- 1 2 3 4 5 ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_caching_count_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_caching_count_error.phpt +++ php-src/ext/spl/tests/spl_iterator_caching_count_error.phpt --TEST-- SPL: Caching iterator count() cache failure --CREDITS-- Lukasz Andrzejak mel...@meltir.com #testfest London 2009-05-09 --FILE-- <?php $i = new ArrayIterator(array(1,1,1,1,1)); $i = new CachingIterator($i); try { $i->count(); echo "Should have caused an exception"; } catch (BadMethodCallException $e) { echo "Exception raised\n"; } ?> ===DONE=== --EXPECT-- Exception raised ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_caching_getcache_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_caching_getcache_error.phpt +++ php-src/ext/spl/tests/spl_iterator_caching_getcache_error.phpt --TEST-- SPL: Caching iterator getCache failure --CREDITS-- Lukasz Andrzejak mel...@meltir.com #testfest London 2009-05-09 --FILE-- <?php $i = new ArrayIterator(array(1,1,1,1,1)); $i = new CachingIterator($i); try { $i->getCache(); echo "Should have caused an exception"; } catch (BadMethodCallException $e) { echo "Exception raised\n"; } ?> ===DONE=== --EXPECT-- Exception raised ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_getcallchildren.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_getcallchildren.phpt +++ php-src/ext/spl/tests/spl_iterator_getcallchildren.phpt --TEST-- SPL: RecursiveIteratorIterator, getCallChildren --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php //line 681 ... $array = array(array(7,8,9),1,2,3,array(4,5,6)); $recursiveArrayIterator = new RecursiveArrayIterator($array); $test = new RecursiveIteratorIterator($recursiveArrayIterator); var_dump($test->current()); $test->next(); var_dump($test->current()); try { $output = $test->callGetChildren(); } catch (InvalidArgumentException $ilae){ $output = null; print "invalid argument exception\n"; } var_dump($output); ?> ===DONE=== --EXPECTF-- array(3) { [0]=> int(7) [1]=> int(8) [2]=> int(9) } int(7) invalid argument exception NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_iterator_constructor.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_iterator_constructor.phpt +++ php-src/ext/spl/tests/spl_iterator_iterator_constructor.phpt --TEST-- SPL: IteratorInterator constructor checks --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php //I think this is testing line 1297 of spl_iterators.c $array = array(array(7,8,9),1,2,3,array(4,5,6)); $arrayIterator = new ArrayIterator($array); try { $test = new IteratorIterator($arrayIterator); $test = new IteratorIterator($arrayIterator, 1); $test = new IteratorIterator($arrayIterator, 1, 1); $test = new IteratorIterator($arrayIterator, 1, 1, 1); $test = new IteratorIterator($arrayIterator, 1, 1, 1, 1); } catch (InvalidArgumentException $e){ print $e->getMessage() . "\n"; } ?> ===DONE=== --EXPECTF-- IteratorIterator::__construct() expects at most 2 parameters, 3 given ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_recursive_getiterator_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_recursive_getiterator_error.phpt +++ php-src/ext/spl/tests/spl_iterator_recursive_getiterator_error.phpt --TEST-- SPL: IteratorIterator foreach by reference failure --CREDITS-- Lukasz Andrzejak mel...@meltir.com #testfest London 2009-05-09 --FILE-- <?php $i = new ArrayIterator(array(1,1,1,1,1)); $iii = new IteratorIterator($i); p($iii); function p ($i) { foreach ($i as &$value) {} } ?> --EXPECTF-- Fatal error: An iterator cannot be used with foreach by reference in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_to_array_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_to_array_basic.phpt +++ php-src/ext/spl/tests/spl_iterator_to_array_basic.phpt --TEST-- SPL: iterator_to_array, Test function to convert iterator to array --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php iterator_to_array();//requires iterator as arg ?> --EXPECTF-- Warning: iterator_to_array() expects at least 1 parameter, %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_iterator_to_array_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_iterator_to_array_error.phpt +++ php-src/ext/spl/tests/spl_iterator_to_array_error.phpt --TEST-- SPL: Error: iterator_to_array when the current operation throws an exception --FILE-- <?php class MyArrayIterator extends ArrayIterator { public function current() { throw new Exception('Make the iterator break'); } } $it = new MyArrayIterator(array(4, 6, 2)); try { // get keys $ar = iterator_to_array($it); } catch (Exception $e) { echo $e->getMessage() . PHP_EOL; } try { // get values $ar = iterator_to_array($it, false); } catch (Exception $e) { echo $e->getMessage() . PHP_EOL; } ?> <?php exit(0); ?> --EXPECT-- Make the iterator break Make the iterator break http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_limit_iterator_check_limits.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_limit_iterator_check_limits.phpt +++ php-src/ext/spl/tests/spl_limit_iterator_check_limits.phpt --TEST-- SPL: LimitIterator check limits are valid --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php $array = array(array(7,8,9),1,2,3,array(4,5,6)); $arrayIterator = new ArrayIterator($array); try { $limitIterator = new LimitIterator($arrayIterator, -1); } catch (OutOfRangeException $e){ print $e->getMessage(). "\n"; } try { $limitIterator = new LimitIterator($arrayIterator, 0, -2); } catch (OutOfRangeException $e){ print $e->getMessage() . "\n"; } try { $limitIterator = new LimitIterator($arrayIterator, 0, -1); } catch (OutOfRangeException $e){ print $e->getMessage() . "\n"; } ?> ===DONE=== --EXPECTF-- Parameter offset must be > 0 Parameter count must either be -1 or a value greater than or equal 0 ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_maxheap_compare_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_maxheap_compare_basic.phpt +++ php-src/ext/spl/tests/spl_maxheap_compare_basic.phpt --TEST-- SPL: SplMaxHeap, Test method to comare elements --CREDITS-- Chris Scott chris.sc...@nstein.com #testfest London 2009-05-09 --FILE-- <?php class MyHeap extends SplMaxHeap { public function testCompare() { return parent::compare(1); } } $heap = new MyHeap(); $heap->testCompare(); ?> --EXPECTF-- Warning: SplMaxHeap::compare() expects exactly 2 parameters, %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_minheap_compare_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_minheap_compare_error.phpt +++ php-src/ext/spl/tests/spl_minheap_compare_error.phpt --TEST-- SPL: SplMinHeap compare, illegal number of args --CREDITS-- Mark Schaschke (m...@fractalturtle.com) TestFest London May 2009 --FILE-- <?php class SplMinHeap2 extends SplMinHeap { public function testCompare1() { return parent::compare(); } public function testCompare2() { return parent::compare(1); } public function testCompare3() { return parent::compare(1, 2, 3); } } $h = new SplMinHeap2(); $h->testCompare1(); $h->testCompare2(); $h->testCompare3(); ?> --EXPECTF-- Warning: SplMinHeap::compare() expects exactly 2 parameters, 0 given in %s Warning: SplMinHeap::compare() expects exactly 2 parameters, 1 given in %s Warning: SplMinHeap::compare() expects exactly 2 parameters, 3 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_pq_top_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_pq_top_basic.phpt +++ php-src/ext/spl/tests/spl_pq_top_basic.phpt --TEST-- SPL: SplPriorityQueue: top and extract flags --CREDITS-- Nathaniel McHugh n...@fishtrap.co.uk #testfest London 2009-05-09 --FILE-- <?php $priorityQueue = new SplPriorityQueue(); $priorityQueue->insert("a", 1); $priorityQueue->insert("b", 2); $priorityQueue->insert("c", 0); echo "EXTR DEFAULT",PHP_EOL; echo "value: ",$priorityQueue->top(),PHP_EOL; $priorityQueue->setExtractFlags(SplPriorityQueue::EXTR_PRIORITY); echo "EXTR_PRIORITY",PHP_EOL; echo "priority: ",$priorityQueue->top(),PHP_EOL; $priorityQueue->setExtractFlags(SplPriorityQueue::EXTR_BOTH); echo "EXTR_BOTH",PHP_EOL; print_r($priorityQueue->top()); echo "EXTR_DATA",PHP_EOL; $priorityQueue->setExtractFlags(SplPriorityQueue::EXTR_DATA); echo "value: ",$priorityQueue->top(),PHP_EOL; ?> --EXPECT-- EXTR DEFAULT value: b EXTR_PRIORITY priority: 2 EXTR_BOTH Array ( [data] => b [priority] => 2 ) EXTR_DATA value: b http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_pq_top_error_args.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_pq_top_error_args.phpt +++ php-src/ext/spl/tests/spl_pq_top_error_args.phpt --TEST-- SPL: SplPriorityQueue: top too many arguments exception --CREDITS-- Nathaniel McHugh n...@fishtrap.co.uk #testfest London 2009-05-09 --FILE-- <?php $priorityQueue = new SplPriorityQueue(); $priorityQueue->top('var'); ?> --EXPECTF-- Warning: SplPriorityQueue::top() expects exactly 0 parameters, 1 given in %s http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_pq_top_error_corrupt.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_pq_top_error_corrupt.phpt +++ php-src/ext/spl/tests/spl_pq_top_error_corrupt.phpt --TEST-- SPL: SplPriorityQueue: top and extract flags --CREDITS-- Nathaniel McHugh n...@fishtrap.co.uk #testfest 2009-05-09 --FILE-- <?php class myPriorityQueue extends SplPriorityQueue{ public function compare($a, $b){ if ($b == 2) { throw new Exception('ignore me'); } else { return parent::compare($a, $b); } } } $priorityQueue = new myPriorityQueue(); $priorityQueue->insert("a", 1); try { //corrupt heap $priorityQueue->insert("b", 2); // ignore exception tested elsewhere } catch (Exception $e) { } try { $priorityQueue->top(); } catch (RuntimeException $e) { echo "Exception: ".$e->getMessage().PHP_EOL; } ?> --EXPECT-- Exception: Heap is corrupted, heap properties are no longer ensured. http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_pq_top_error_empty.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_pq_top_error_empty.phpt +++ php-src/ext/spl/tests/spl_pq_top_error_empty.phpt --TEST-- SPL: SplPriorityQueue: top exception on empty heap --CREDITS-- Nathaniel McHugh n...@fishtrap.co.uk #testfest 2009-05-09 --FILE-- <?php $priorityQueue = new SplPriorityQueue(); try { $priorityQueue->top(); } catch (RuntimeException $e) { echo "Exception: ".$e->getMessage().PHP_EOL; } ?> --EXPECT-- Exception: Can't peek at an empty heap http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_priorityqeue_insert_two_params_error.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_priorityqeue_insert_two_params_error.phpt +++ php-src/ext/spl/tests/spl_priorityqeue_insert_two_params_error.phpt --TEST-- SPL: priorityQueue paramter test on insert method --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php $testHeap = new SplPriorityQueue(); var_dump($testHeap->insert()); var_dump($testHeap->insert('test')); var_dump($testHeap->insert('test', 'test')); var_dump($testHeap->insert('test', 'test', 'test')); ?> ===DONE=== --EXPECTF-- Warning: SplPriorityQueue::insert() expects exactly 2 parameters, 0 given in %s on line 7 NULL Warning: SplPriorityQueue::insert() expects exactly 2 parameters, 1 given in %s on line 8 NULL bool(true) Warning: SplPriorityQueue::insert() expects exactly 2 parameters, 3 given in %s on line 10 NULL ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_recursiveIteratorIterator_setMaxDepth_parameter_count.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_recursiveIteratorIterator_setMaxDepth_parameter_count.phpt +++ php-src/ext/spl/tests/spl_recursiveIteratorIterator_setMaxDepth_parameter_count.phpt --TEST-- SPL: RecursiveIteratorIterator, setMaxDepth check parameter count --CREDITS-- Sean Burlington www.practicalweb.co.uk TestFest London May 2009 --FILE-- <?php //line 681 ... $array = array(array(7,8,9),1,2,3,array(4,5,6)); $recursiveArrayIterator = new RecursiveArrayIterator($array); $test = new RecursiveIteratorIterator($recursiveArrayIterator); //var_dump($test->current()); $test->setMaxDepth(); $test->setMaxDepth(1); $test->setMaxDepth(1,2); $test->setMaxDepth(1,2,3); //var_dump($test->current()); ?> ===DONE=== --EXPECTF-- Warning: RecursiveIteratorIterator::setMaxDepth() expects at most 1 parameter, 2 given in %s on line 10 Warning: RecursiveIteratorIterator::setMaxDepth() expects at most 1 parameter, 3 given in %s on line 11 ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt +++ php-src/ext/spl/tests/spl_recursive_iterator_iterator_key_case.phpt --TEST-- SPL: Test on RecursiveIteratorIterator key function checking switch statements --CREDITS-- Rohan Abraham (rohanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $ar = array("one"=>1, "two"=>2, "three"=>array("four"=>4, "five"=>5, "six"=>array("seven"=>7)), "eight"=>8, -100 => 10, NULL => "null"); $it = new RecursiveArrayIterator($ar); $it = new RecursiveIteratorIterator($it); foreach($it as $k=>$v) { echo "$k=>$v\n"; var_dump($k); } ?> --EXPECTF-- one=>1 %unicode|string%(3) "one" two=>2 %unicode|string%(3) "two" four=>4 %unicode|string%(4) "four" five=>5 %unicode|string%(4) "five" seven=>7 %unicode|string%(5) "seven" eight=>8 %unicode|string%(5) "eight" -100=>10 int(-100) =>null %unicode|string%(0) "" http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/splpriorityqueue_extract.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/splpriorityqueue_extract.phpt +++ php-src/ext/spl/tests/splpriorityqueue_extract.phpt --TEST-- SPL: splpriorityqueue extract() Test arguments --CREDITS-- Roshan Abraham (roshanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $sp = new SplPriorityQueue(); $sp->insert("1",1); $sp->extract(1); // Should throw a warning as extract expects NO arguments ?> --EXPECTF-- Warning: SplPriorityQueue::extract() expects exactly 0 parameters, 1 given in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/splpriorityqueue_setextractflags.phpt?view=markup&rev=1.1 Index: php-src/ext/spl/tests/splpriorityqueue_setextractflags.phpt +++ php-src/ext/spl/tests/splpriorityqueue_setextractflags.phpt --TEST-- SPL: splpriorityqueue setExtractFlags() Test arguments --CREDITS-- Roshan Abraham (roshanabrah...@gmail.com) TestFest London May 2009 --FILE-- <?php $sp = new SplPriorityQueue(); $sp->setExtractFlags(1,1); // Should throw a warning as setExtractFlags expects only 1 argument ?> --EXPECTF-- Warning: SplPriorityQueue::setExtractFlags() expects exactly 1 parameter, 2 given in %s on line %d
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php