diff options
| author | Matt Valentine-House <matt@eightbitraptor.com> | 2023-11-10 14:51:14 +0000 |
|---|---|---|
| committer | Matt Valentine-House <matt@eightbitraptor.com> | 2023-12-01 16:40:25 +0000 |
| commit | 90d9c20a0c0df5565d5f95d5e14c58331fa5922f (patch) | |
| tree | bd024e2099483e16b236c3beb3b9685e7fe41418 /test/ruby | |
| parent | 8f3310dc7519682f382ed589c5c1ed5b41627451 (diff) | |
[PRISM] Compile RescueNode
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_compile_prism.rb | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index fcc1f849d5..d62ee7c879 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -769,6 +769,70 @@ module Prism # ) end + def test_RescueNode + assert_prism_eval("begin; 1; rescue; 2; end") + assert_prism_eval(<<~CODE) + begin + 1 + rescue SyntaxError + 2 + end + CODE + assert_prism_eval(<<~CODE) + begin + 1 + raise 'boom' + rescue StandardError + 2 + end + CODE + assert_prism_eval(<<~CODE) + begin + a = 1 + rescue StandardError => e + end + CODE + assert_prism_eval(<<~CODE) + begin + 1 + rescue StandardError => e + e + rescue SyntaxError => f + f + else + 4 + end + CODE + assert_prism_eval(<<-CODE) + begin + a = 2 + rescue + a = 3 + end + a + CODE + assert_prism_eval(<<-CODE) + a = 1 + begin + a = 2 + rescue + a = 3 + end + a + CODE + assert_prism_eval(<<-CODE) + a = 1 + begin + b = 2 + raise "bang" + rescue + c = 3 + end + a + b + c + CODE + assert_prism_eval("begin; rescue; end") + end + def test_ReturnNode assert_prism_eval("def return_node; return 1; end") end |
