summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-10-24 15:24:36 -0300
committerJemma Issroff <jemmaissroff@gmail.com>2023-10-26 08:45:43 -0300
commitbfb9b5e69921c91901cce820f54e79907a5ae829 (patch)
tree13cfa0fd2d0660bb7b6ae77f855583c144342147 /test/ruby
parent7b6b17a92b3006266375e9de4310e1937c182523 (diff)
[PRISM] Implement compilation for CaseNode
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_compile_prism.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 2335c2a800..8d1ea20399 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -413,6 +413,18 @@ module Prism
assert_prism_eval("false && 1")
end
+ def test_CaseNode
+ assert_prism_eval("case :a; when :a; 1; else; 2; end")
+ assert_prism_eval("case :a; when :b; 1; else; 2; end")
+ assert_prism_eval("case :a; when :a; 1; else; 2; end")
+ assert_prism_eval("case :a; when :a; end")
+ assert_prism_eval("case :a; when :b, :c; end")
+ assert_prism_eval("case; when :a; end")
+ assert_prism_eval("case; when :a, :b; 1; else; 2 end")
+ assert_prism_eval("case :a; when :b; else; end")
+ assert_prism_eval("b = 1; case :a; when b; else; end")
+ end
+
def test_ElseNode
assert_prism_eval("if false; 0; else; 1; end")
assert_prism_eval("if true; 0; else; 1; end")