summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-08-17 20:50:24 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-08-25 08:16:54 +0900
commit620ce3807b51e126bfb41b9b87ff7b33584058f2 (patch)
tree2d2a53d46a24a1b5780f833157a1df082451b414 /test/ruby
parent519152db6dd11173acc1118543770e053ab0ab71 (diff)
[Bug #20680] `ensure` block is always void context
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11451
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_ast.rb4
-rw-r--r--test/ruby/test_parse.rb1
2 files changed, 3 insertions, 2 deletions
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/)