diff options
Diffstat (limited to 'ext/spl/tests/iterator_041b.phpt')
-rwxr-xr-x | ext/spl/tests/iterator_041b.phpt | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/ext/spl/tests/iterator_041b.phpt b/ext/spl/tests/iterator_041b.phpt deleted file mode 100755 index 9afb935266..0000000000 --- a/ext/spl/tests/iterator_041b.phpt +++ /dev/null @@ -1,107 +0,0 @@ ---TEST-- -SPL: iterator_to_array() and exceptions from delayed destruct ---SKIPIF-- -<?php if (!extension_loaded("spl")) print "skip"; ?> ---FILE-- -<?php - -class MyArrayIterator extends ArrayIterator -{ - static protected $fail = 0; - public $state; - - static function fail($state, $method) - { - if (self::$fail == $state) - { - throw new Exception("State $state: $method()"); - } - } - - function __construct() - { - $this->state = MyArrayIterator::$fail; - self::fail(0, __FUNCTION__); - parent::__construct(array(1, 2)); - self::fail(1, __FUNCTION__); - } - - function rewind() - { - self::fail(2, __FUNCTION__); - return parent::rewind(); - } - - function valid() - { - self::fail(3, __FUNCTION__); - return parent::valid(); - } - - function current() - { - self::fail(4, __FUNCTION__); - return parent::current(); - } - - function key() - { - self::fail(5, __FUNCTION__); - return parent::key(); - } - - function next() - { - self::fail(6, __FUNCTION__); - return parent::next(); - } - - function __destruct() - { - self::fail(7, __FUNCTION__); - } - - static function test($func, $skip = null) - { - echo "===$func===\n"; - self::$fail = 0; - while(self::$fail < 10) - { - try - { - var_dump($func(new MyArrayIterator())); - break; - } - catch (Exception $e) - { - echo $e->getMessage() . "\n"; - } - if (isset($skip[self::$fail])) - { - self::$fail = $skip[self::$fail]; - } - else - { - self::$fail++; - } - } - } -} - -MyArrayIterator::test('iterator_to_array'); -MyArrayIterator::test('iterator_count', array(3 => 6)); - -?> -===DONE=== -<?php exit(0); ?> ---EXPECTF-- -===iterator_to_array=== -State 0: __construct() -State 1: __construct() -State 2: rewind() -State 3: valid() -State 4: current() -State 5: key() -State 6: next() - -Fatal error: Ignoring exception from MyArrayIterator::__destruct() while an exception is already active (Uncaught Exception in %s on line %d) in %siterator_041b.php on line %d |