diff options
Diffstat (limited to 'spec/ruby/optional/capi/util_spec.rb')
-rw-r--r-- | spec/ruby/optional/capi/util_spec.rb | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/spec/ruby/optional/capi/util_spec.rb b/spec/ruby/optional/capi/util_spec.rb index a90c28a78e..64b0894087 100644 --- a/spec/ruby/optional/capi/util_spec.rb +++ b/spec/ruby/optional/capi/util_spec.rb @@ -11,7 +11,6 @@ describe "C-API Util function" do before :each do @prc = -> { 1 } @acc = [] - @keyword_prefix = 'k' if RUBY_VERSION >= '2.7' ScratchPad.record @acc end @@ -100,13 +99,13 @@ describe "C-API Util function" do it "assigns Hash arguments" do h = {a: 1, b: 2} - @o.rb_scan_args([h], "#{@keyword_prefix}0:", 1, @acc).should == 0 + @o.rb_scan_args([h], "k0:", 1, @acc).should == 0 ScratchPad.recorded.should == [h] end it "assigns required and Hash arguments" do h = {a: 1, b: 2} - @o.rb_scan_args([1, h], "#{@keyword_prefix}1:", 2, @acc).should == 1 + @o.rb_scan_args([1, h], "k1:", 2, @acc).should == 1 ScratchPad.recorded.should == [1, h] end @@ -140,7 +139,7 @@ describe "C-API Util function" do it "assigns required, optional, splat, post-splat, Hash and block arguments" do h = {a: 1, b: 2} - @o.rb_scan_args([1, 2, 3, 4, 5, h], "#{@keyword_prefix}11*1:&", 6, @acc, &@prc).should == 5 + @o.rb_scan_args([1, 2, 3, 4, 5, h], "k11*1:&", 6, @acc, &@prc).should == 5 ScratchPad.recorded.should == [1, 2, [3, 4], 5, h, @prc] end @@ -150,7 +149,7 @@ describe "C-API Util function" do h = {1 => 2, 3 => 4} -> { suppress_warning do - @o.rb_scan_args([h], "#{@keyword_prefix}0:", 1, @acc) + @o.rb_scan_args([h], "k0:", 1, @acc) end }.should raise_error(ArgumentError) ScratchPad.recorded.should == [] @@ -160,7 +159,7 @@ describe "C-API Util function" do h = {1 => 2, 3 => 4} -> { suppress_warning do - @o.rb_scan_args([1, h], "#{@keyword_prefix}1:", 2, @acc) + @o.rb_scan_args([1, h], "k1:", 2, @acc) end }.should raise_error(ArgumentError) ScratchPad.recorded.should == [] @@ -169,7 +168,7 @@ describe "C-API Util function" do it "considers the hash as a post argument when there is a splat" do h = {1 => 2, 3 => 4} suppress_warning do - @o.rb_scan_args([1, 2, 3, 4, 5, h], "#{@keyword_prefix}11*1:&", 6, @acc, &@prc).should == 6 + @o.rb_scan_args([1, 2, 3, 4, 5, h], "k11*1:&", 6, @acc, &@prc).should == 6 end ScratchPad.recorded.should == [1, 2, [3, 4, 5], h, nil, @prc] end @@ -178,19 +177,19 @@ describe "C-API Util function" do ruby_version_is '3.0' do it "does not reject non-symbol keys in keyword arguments" do h = {1 => 2, 3 => 4} - @o.rb_scan_args([h], "#{@keyword_prefix}0:", 1, @acc).should == 0 + @o.rb_scan_args([h], "k0:", 1, @acc).should == 0 ScratchPad.recorded.should == [h] end it "does not reject non-symbol keys in keyword arguments with required argument" do h = {1 => 2, 3 => 4} - @o.rb_scan_args([1, h], "#{@keyword_prefix}1:", 2, @acc).should == 1 + @o.rb_scan_args([1, h], "k1:", 2, @acc).should == 1 ScratchPad.recorded.should == [1, h] end it "considers keyword arguments with non-symbol keys as keywords when using splat and post arguments" do h = {1 => 2, 3 => 4} - @o.rb_scan_args([1, 2, 3, 4, 5, h], "#{@keyword_prefix}11*1:&", 6, @acc, &@prc).should == 5 + @o.rb_scan_args([1, 2, 3, 4, 5, h], "k11*1:&", 6, @acc, &@prc).should == 5 ScratchPad.recorded.should == [1, 2, [3, 4], 5, h, @prc] end end |