mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@e81b3cd
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0f64776745
commit
a28aa80c73
53 changed files with 932 additions and 106 deletions
|
@ -241,4 +241,19 @@ describe "Method#parameters" do
|
|||
m = MethodSpecs::Methods.new
|
||||
m.method(:writer=).parameters.should == [[:req]]
|
||||
end
|
||||
|
||||
it "returns [[:rest]] for core methods with variable-length argument lists" do
|
||||
m = "foo"
|
||||
|
||||
# match takes rest args
|
||||
m.method(:match).parameters.should == [[:rest]]
|
||||
|
||||
# [] takes 1 to 3 args
|
||||
m.method(:[]).parameters.should == [[:rest]]
|
||||
end
|
||||
|
||||
it "returns [[:req]] for each parameter for core methods with fixed-length argument lists" do
|
||||
m = "foo"
|
||||
m.method(:+).parameters.should == [[:req]]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -90,4 +90,15 @@ describe "Method#to_proc" do
|
|||
array.each(&obj)
|
||||
ScratchPad.recorded.should == [[1, 2]]
|
||||
end
|
||||
|
||||
it "returns a proc that properly invokes module methods with super" do
|
||||
m1 = Module.new { def foo(ary); ary << :m1; end; }
|
||||
m2 = Module.new { def foo(ary = []); super(ary); ary << :m2; end; }
|
||||
c2 = Class.new do
|
||||
include m1
|
||||
include m2
|
||||
end
|
||||
|
||||
c2.new.method(:foo).to_proc.call.should == %i[m1 m2]
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue