From 620ce3807b51e126bfb41b9b87ff7b33584058f2 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sat, 17 Aug 2024 20:50:24 +0900 Subject: [Bug #20680] `ensure` block is always void context --- test/ruby/test_ast.rb | 4 ++-- test/ruby/test_parse.rb | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/test_ast.rb b/test/ruby/test_ast.rb index e6edc111ef..936dd6d3e6 100644 --- a/test/ruby/test_ast.rb +++ b/test/ruby/test_ast.rb @@ -273,7 +273,7 @@ class TestAst < Test::Unit::TestCase assert_parse("def m; defined?(retry); end") assert_parse("!begin defined?(retry); end") assert_parse("begin rescue; else; defined?(retry); end") - assert_parse("begin rescue; ensure; defined?(retry); end") + assert_parse("begin rescue; ensure; p defined?(retry); end") assert_parse("END {defined?(retry)}") assert_parse("begin rescue; END {defined?(retry)}; end") assert_parse("!defined? retry") @@ -281,7 +281,7 @@ class TestAst < Test::Unit::TestCase assert_parse("def m; defined? retry; end") assert_parse("!begin defined? retry; end") assert_parse("begin rescue; else; defined? retry; end") - assert_parse("begin rescue; ensure; defined? retry; end") + assert_parse("begin rescue; ensure; p defined? retry; end") assert_parse("END {defined? retry}") assert_parse("begin rescue; END {defined? retry}; end") diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb index 736bc39d8a..d52e480eb9 100644 --- a/test/ruby/test_parse.rb +++ b/test/ruby/test_parse.rb @@ -952,6 +952,7 @@ x = __ENCODING__ assert_nil assert_warning(useless_use) {eval("true; nil")} assert_nil assert_warning(useless_use) {eval("false; nil")} assert_nil assert_warning(useless_use) {eval("defined?(1); nil")} + assert_nil assert_warning(useless_use) {eval("begin; ensure; x; end")} assert_equal 1, x assert_syntax_error("1; next; 2", /Invalid next/) -- cgit v1.2.3