php-src/ext/spl/tests/iterator_036.phpt
Nikita Popov a31f46421d Allow exceptions in __toString()
RFC: https://wiki.php.net/rfc/tostring_exceptions

And convert some object to string conversion related recoverable
fatal errors into Error exceptions.

Improve exception safety of internal code performing string
conversions.
2019-06-05 14:25:07 +02:00

27 lines
519 B
PHP

--TEST--
SPL: CachingIterator and __toString and flags = 0
--FILE--
<?php
function test($it)
{
foreach($it as $v)
{
var_dump((string)$it);
}
}
$ar = new ArrayIterator(array(1, 2, 3));
test(new CachingIterator($ar, 0));
?>
===DONE===
--EXPECTF--
Fatal error: Uncaught BadMethodCallException: CachingIterator does not fetch string value (see CachingIterator::__construct) in %s:%d
Stack trace:
#0 %s(%d): CachingIterator->__toString()
#1 %s(%d): test(Object(CachingIterator))
#2 {main}
thrown in %s on line %d