summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2024-01-25 15:08:44 -0800
committerKevin Newton <kddnewton@gmail.com>2024-01-30 13:19:06 -0500
commit8e708e4a077d85e50cd797b2478aba7bfd5e4ac3 (patch)
tree87aeb4f38b86b2c2a5f6a8ae0e606f93f5a0b637 /test/ruby
parent6b350bc6e41551161f4be37858c54fcca1a09c46 (diff)
Update forwarding locals for prism
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_compile_prism.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 901cc0741e..fc11eb21b7 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -1616,6 +1616,30 @@ a
CODE
end
+ def test_pow_parameters
+ assert_prism_eval("def self.m(a, **); end; method(:m).parameters")
+ end
+
+ def test_star_parameters
+ assert_prism_eval("def self.m(a, *, b); end; method(:m).parameters")
+ end
+
+ def test_repeated_block_params
+ assert_prism_eval("def self.x(&blk); blk; end; x { |_, _, _ = 1, *_, _:, _: 2, **_, &_| }.parameters")
+ end
+
+ def test_repeated_proc_params
+ assert_prism_eval("proc {|_, _, _ = 1, *_, _:, _: 2, **_, &_| }.parameters")
+ end
+
+ def test_forward_parameters_block
+ assert_prism_eval("def self.m(&); end; method(:m).parameters")
+ end
+
+ def test_forward_parameters
+ assert_prism_eval("def self.m(...); end; method(:m).parameters")
+ end
+
def test_repeated_block_underscore
assert_prism_eval("def self.m(_, **_, &_); _; end; method(:m).parameters")
end