summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2023-12-04 12:27:34 +0000
committerJemma Issroff <jemmaissroff@gmail.com>2023-12-05 08:56:22 -0500
commit6b9622ebdfc5ef12ee379cd1f0818b0188e1e068 (patch)
tree143a06d0eff916e0db4e3d042facb52462673700 /test/ruby
parent674eb7df7f409099f33da77293d9658e09b470d6 (diff)
[PRISM] Implement Retry node.
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_compile_prism.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 22e4f6b7bf..905e29b0d2 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -914,6 +914,38 @@ module Prism
assert_prism_eval("begin; rescue; end")
end
+ def test_RetryNode
+ assert_prism_eval(<<~CODE)
+ a = 1
+ begin
+ a
+ raise "boom"
+ rescue
+ a += 1
+ retry unless a > 1
+ ensure
+ a = 3
+ end
+ CODE
+
+ assert_prism_eval(<<~CODE)
+ begin
+ rescue
+ foo = 2
+ retry
+ end
+ CODE
+
+ assert_prism_eval(<<~CODE)
+ begin
+ a = 2
+ rescue
+ retry
+ end
+ CODE
+ end
+
+
def test_ReturnNode
assert_prism_eval("def return_node; return 1; end")
end