From ca705a43c544e09214f657cc0c1b700c9065b258 Mon Sep 17 00:00:00 2001 From: lxxxvi Date: Wed, 7 Oct 2020 21:04:23 +0200 Subject: [PATCH] add tests for each kind of argument --- core/method/fixtures/classes.rb | 4 ++++ core/method/shared/to_s.rb | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/core/method/fixtures/classes.rb b/core/method/fixtures/classes.rb index f3b7ff921c..a42b2572a0 100644 --- a/core/method/fixtures/classes.rb +++ b/core/method/fixtures/classes.rb @@ -50,6 +50,8 @@ def zero; end def one_req(a); end def two_req(a, b); end + def one_req_named(a:); end + def zero_with_block(&blk); end def one_req_with_block(a, &blk); end def two_req_with_block(a, b, &blk); end @@ -71,6 +73,8 @@ def one_req_one_opt_with_splat(a, b=nil, *c); end def two_req_one_opt_with_splat(a, b, c=nil, *d); end def one_req_two_opt_with_splat(a, b=nil, c=nil, *d); end + def zero_with_double_splat(**a); end + def zero_with_splat_and_block(*a, &blk); end def one_req_with_splat_and_block(a, *b, &blk); end def two_req_with_splat_and_block(a, b, *c, &blk); end diff --git a/core/method/shared/to_s.rb b/core/method/shared/to_s.rb index 8f86745abe..7b30b0ba5a 100644 --- a/core/method/shared/to_s.rb +++ b/core/method/shared/to_s.rb @@ -26,8 +26,15 @@ ruby_version_is "2.7" do it "returns a String containing method arguments" do - m = MethodSpecs::Methods.new.method :two_req - m.send(@method).should =~ /\#two_req\(a, b\)/ + obj = MethodSpecs::Methods.new + obj.method(:zero).send(@method).should.include?("()") + obj.method(:one_req).send(@method).should.include?("(a)") + obj.method(:one_req_named).send(@method).should.include?("(a:)") + obj.method(:zero_with_block).send(@method).should.include?("(&blk)") + obj.method(:one_opt).send(@method).should.include?("(a=...)") + obj.method(:zero_with_splat).send(@method).should.include?("(*a)") + obj.method(:zero_with_double_splat).send(@method).should.include?("(**a)") + obj.method(:one_req_one_opt_with_splat_and_block).send(@method).should.include?("(a, b=..., *c, &blk)") end end