diff options
Diffstat (limited to 'Zend/tests/bug71980.phpt')
| -rw-r--r-- | Zend/tests/bug71980.phpt | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Zend/tests/bug71980.phpt b/Zend/tests/bug71980.phpt new file mode 100644 index 0000000000..cd98f6567d --- /dev/null +++ b/Zend/tests/bug71980.phpt @@ -0,0 +1,43 @@ +--TEST-- +Bug #71980: Decorated/Nested Generator is Uncloseable in Finally +--FILE-- +<?php + +class Dtor { + public function __destruct() { + echo "Dtor\n"; + } +} + +function gen1() { + try { + foreach ([42, new Dtor] as $value) { + yield $value; + } + } finally { + echo "Finally\n"; + } +} + +function gen2() { + try { + var_dump(new Dtor, yield); + } finally { + echo "Finally\n"; + } +} + +$gen = gen1(); +$gen->rewind(); +unset($gen); + +$gen = gen2(); +$gen->rewind(); +unset($gen); + +?> +--EXPECT-- +Dtor +Finally +Dtor +Finally |
