diff options
Diffstat (limited to 'spec/ruby')
| -rw-r--r-- | spec/ruby/core/method/parameters_spec.rb | 13 | ||||
| -rw-r--r-- | spec/ruby/core/proc/parameters_spec.rb | 8 | ||||
| -rw-r--r-- | spec/ruby/language/block_spec.rb | 2 | ||||
| -rw-r--r-- | spec/ruby/language/method_spec.rb | 2 |
4 files changed, 23 insertions, 2 deletions
diff --git a/spec/ruby/core/method/parameters_spec.rb b/spec/ruby/core/method/parameters_spec.rb index f1c2523cf0..41b9cd8d12 100644 --- a/spec/ruby/core/method/parameters_spec.rb +++ b/spec/ruby/core/method/parameters_spec.rb @@ -22,6 +22,12 @@ describe "Method#parameters" do local_is_not_parameter = {} end + ruby_version_is "4.1" do + eval <<-RUBY + def one_noblock(&nil); end + RUBY + end + def forward_parameters(...) end def underscore_parameters(_, _, _ = 1, *_, _:, _: 2, **_, &_); end @@ -187,6 +193,13 @@ describe "Method#parameters" do m.parameters.should == [[:nokey]] end + ruby_version_is "4.1" do + it "returns [[:noblock]] for a method with a single &nil parameter" do + m = MethodSpecs::Methods.instance_method(:one_noblock) + m.parameters.should == [[:noblock]] + end + end + it "works with ->(){} as the value of an optional argument" do m = MethodSpecs::Methods.instance_method(:one_opt_with_stabby) m.parameters.should == [[:opt,:a]] diff --git a/spec/ruby/core/proc/parameters_spec.rb b/spec/ruby/core/proc/parameters_spec.rb index cf8a8f5b12..0876ad0daf 100644 --- a/spec/ruby/core/proc/parameters_spec.rb +++ b/spec/ruby/core/proc/parameters_spec.rb @@ -172,4 +172,12 @@ describe "Proc#parameters" do eval("lambda { it }").parameters.should == [[:req]] end end + + ruby_version_is "4.1" do + it "returns :noblock for &nil parameter" do + eval <<~RUBY + proc { |&nil| }.parameters.should == [[:noblock]] + RUBY + end + end end diff --git a/spec/ruby/language/block_spec.rb b/spec/ruby/language/block_spec.rb index 1890f0726a..ad6f7190b4 100644 --- a/spec/ruby/language/block_spec.rb +++ b/spec/ruby/language/block_spec.rb @@ -1111,7 +1111,7 @@ describe "`it` calls without arguments in a block" do end end - ruby_version_is "3.4" do + ruby_version_is "4.1" do it "works alongside disallowed block argument" do no_block = eval <<-EOF proc {|arg1, &nil| arg1} diff --git a/spec/ruby/language/method_spec.rb b/spec/ruby/language/method_spec.rb index d12fd71b21..dd93703d9f 100644 --- a/spec/ruby/language/method_spec.rb +++ b/spec/ruby/language/method_spec.rb @@ -1128,7 +1128,7 @@ describe "A method" do result.should == [1, nil, nil, {foo: :bar}, nil, {}] end - ruby_version_is "3.4" do + ruby_version_is "4.1" do evaluate <<-ruby do def m(a, &nil); a end; ruby |
