1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Add specs for calling into Kernel#lambda with super

This commit is contained in:
Alan Wu 2019-07-14 23:41:43 -04:00
parent ea405ee8ed
commit e0b336c8ce
Notes: git 2019-12-21 23:09:18 +09:00
2 changed files with 38 additions and 1 deletions

View file

@ -31,13 +31,28 @@ describe "Kernel.lambda" do
l.lambda?.should be_true
end
it "returned the passed Proc if given an existing Proc" do
it "returns the passed Proc if given an existing Proc" do
some_proc = proc {}
l = lambda(&some_proc)
l.should equal(some_proc)
l.lambda?.should be_false
end
it "creates a lambda-style Proc when called with zsuper" do
l = KernelSpecs::LambdaSpecs::ForwardBlockWithZSuper.new.lambda { 42 }
l.lambda?.should be_true
l.call.should == 42
lambda { l.call(:extra) }.should raise_error(ArgumentError)
end
it "returns the passed Proc if given an existing Proc through super" do
some_proc = proc { }
l = KernelSpecs::LambdaSpecs::SuperAmpersand.new.lambda(&some_proc)
l.should equal(some_proc)
l.lambda?.should be_false
end
it "checks the arity of the call when no args are specified" do
l = lambda { :called }
l.call.should == :called