diff options
Diffstat (limited to 'ext/spl/tests/spl_iterator_to_array_error.phpt')
-rw-r--r-- | ext/spl/tests/spl_iterator_to_array_error.phpt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/spl/tests/spl_iterator_to_array_error.phpt b/ext/spl/tests/spl_iterator_to_array_error.phpt new file mode 100644 index 0000000..755ef7b --- /dev/null +++ b/ext/spl/tests/spl_iterator_to_array_error.phpt @@ -0,0 +1,33 @@ +--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 |