bug71601.phpt 532 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. Bug #71601 (finally block not executed after yield from)
  3. --FILE--
  4. <?php
  5. function gen1() {
  6. try {
  7. yield 1;
  8. yield 2;
  9. return true;
  10. } finally {
  11. echo "Inner finally\n";
  12. }
  13. }
  14. function gen2() {
  15. try {
  16. echo "Entered try/catch\n";
  17. var_dump(yield from gen1());
  18. } finally {
  19. echo "Finally\n";
  20. }
  21. }
  22. $generator = gen2();
  23. var_dump($generator->current());
  24. unset($generator);
  25. echo "Done\n";
  26. ?>
  27. --EXPECT--
  28. Entered try/catch
  29. int(1)
  30. Inner finally
  31. Finally
  32. Done