From c9e4dc308f51122e0401756ac3aa4972d0b4ad32 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 16 Feb 2009 20:54:58 +0000 Subject: * compile.c: fix to add "ensure" codes across "while" clause before "return" expression. [ruby-dev:37967] * bootstraptest/test_flow.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_flow.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'bootstraptest') diff --git a/bootstraptest/test_flow.rb b/bootstraptest/test_flow.rb index 9964dfb2ed..46ca1a0c6a 100644 --- a/bootstraptest/test_flow.rb +++ b/bootstraptest/test_flow.rb @@ -200,7 +200,9 @@ assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin; ; $a << 1 end; $a << 8 ; $a << 9 ; rescue Exception; $a << 99; end; $a} -assert_equal %q{[1, 2, 3, 5, 99]}, %q{$a = []; begin; ; $a << 1 +assert_equal %q{[1, 2, 3, 5, 99]}, %q{ +$a = []; +begin; ; $a << 1 while true; $a << 2 begin; $a << 3 break; $a << 4 @@ -488,4 +490,15 @@ assert_equal %q{[:ok, :ok2, :last]}, %q{ a << :last end a - } +} +assert_equal %Q{ENSURE\n}, %q{ + def test + while true + return + end + ensure + puts("ENSURE") + end + test +}, '[ruby-dev:37967]' + -- cgit v1.2.1