php-src/Zend/tests/generators/yield_in_finally.phpt
Nikita Popov f53225a99e Fix several issues and allow rewind only at/before first yield
* Trying to resume a generator while it is already running now throws a
   fatal error.
 * Trying to use yield in finally while the generator is being force-closed
   (by GC) throws a fatal error.
 * Rewinding after the first yield now throws an Exception
2012-08-25 17:40:08 +02:00

30 lines
470 B
PHP

--TEST--
yield can be used in finally (apart from forced closes)
--FILE--
<?php
function gen() {
try {
echo "before return\n";
return;
echo "after return\n";
} finally {
echo "before yield\n";
yield "yielded value";
echo "after yield\n";
}
echo "after finally\n";
}
$gen = gen();
var_dump($gen->current());
$gen->next();
?>
--EXPECTF--
before return
before yield
string(%d) "yielded value"
after yield