summaryrefslogtreecommitdiff
path: root/test/ruby/test_compile_prism.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_compile_prism.rb')
-rw-r--r--test/ruby/test_compile_prism.rb25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 1bc08d2db6..50bb61c99d 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -742,6 +742,8 @@ module Prism
def test_BreakNode
assert_prism_eval("while true; break; end")
assert_prism_eval("while true; break 1; end")
+ assert_prism_eval("while true; break 1, 2; end")
+
assert_prism_eval("[].each { break }")
end
@@ -833,6 +835,13 @@ module Prism
CODE
assert_prism_eval(<<-CODE)
+ (1..5).map do |i|
+ next i, :even if i.even?
+ i
+ end
+ CODE
+
+ assert_prism_eval(<<-CODE)
res = []
i = 0
begin
@@ -1001,7 +1010,20 @@ module Prism
end
def test_ReturnNode
- assert_prism_eval("def return_node; return 1; end")
+ assert_prism_eval(<<-CODE)
+ def self.prism_test_return_node
+ return 1
+ end
+ prism_test_return_node
+ CODE
+
+ assert_prism_eval(<<-CODE)
+ def self.prism_test_return_node
+ return 1, 2
+ end
+ prism_test_return_node
+ CODE
+
assert_prism_eval(<<-CODE)
def self.prism_test_return_node
[1].each do |e|
@@ -1010,6 +1032,7 @@ module Prism
end
prism_test_return_node
CODE
+
assert_prism_eval(<<-CODE)
def self.prism_test_return_node
[1].map do |i|