]> granicus.if.org Git - php/commitdiff
Finally with return now works in generators too
authorNikita Popov <nikic@php.net>
Fri, 24 Aug 2012 11:52:16 +0000 (13:52 +0200)
committerNikita Popov <nikic@php.net>
Fri, 24 Aug 2012 11:52:16 +0000 (13:52 +0200)
Zend/tests/generators/finally_with_return.phpt [new file with mode: 0644]

diff --git a/Zend/tests/generators/finally_with_return.phpt b/Zend/tests/generators/finally_with_return.phpt
new file mode 100644 (file)
index 0000000..b26a49f
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+Use of finally in generator with return
+--FILE--
+<?php
+
+function gen() {
+    try {
+        try {
+            echo "before return\n";
+            return;
+            echo "after return\n";
+        } finally {
+            echo "before return in inner finally\n";
+            return;
+            echo "after return in inner finally\n";
+        }
+    } finally {
+        echo "outer finally run\n";
+    }
+
+    echo "code after finally\n";
+
+    yield; // force generator
+}
+
+$gen = gen();
+$gen->rewind(); // force run
+
+?>
+--EXPECTF--
+before return
+before return in inner finally
+outer finally run