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

spec: suppress deprecations of "lambda(&proc_block)" pattern

This commit is contained in:
Yusuke Endoh 2020-12-12 23:25:15 +09:00
parent efbef729b2
commit 7ef5226520
3 changed files with 21 additions and 11 deletions

View file

@ -27,9 +27,11 @@ describe "Kernel.lambda" do
end end
it "creates a lambda-style Proc if given a literal block via Kernel.public_send" do it "creates a lambda-style Proc if given a literal block via Kernel.public_send" do
suppress_warning do
l = Kernel.public_send(:lambda) { 42 } l = Kernel.public_send(:lambda) { 42 }
l.lambda?.should be_true l.lambda?.should be_true
end end
end
it "returns the passed Proc if given an existing Proc" do it "returns the passed Proc if given an existing Proc" do
some_proc = proc {} some_proc = proc {}
@ -39,12 +41,14 @@ describe "Kernel.lambda" do
end end
it "creates a lambda-style Proc when called with zsuper" do it "creates a lambda-style Proc when called with zsuper" do
suppress_warning do
l = KernelSpecs::LambdaSpecs::ForwardBlockWithZSuper.new.lambda { 42 } l = KernelSpecs::LambdaSpecs::ForwardBlockWithZSuper.new.lambda { 42 }
l.lambda?.should be_true l.lambda?.should be_true
l.call.should == 42 l.call.should == 42
lambda { l.call(:extra) }.should raise_error(ArgumentError) lambda { l.call(:extra) }.should raise_error(ArgumentError)
end end
end
it "returns the passed Proc if given an existing Proc through super" do it "returns the passed Proc if given an existing Proc through super" do
some_proc = proc { } some_proc = proc { }

View file

@ -4,6 +4,8 @@ describe :kernel_lambda, shared: true do
end end
it "raises an ArgumentError when no block is given" do it "raises an ArgumentError when no block is given" do
suppress_warning do
-> { send(@method) }.should raise_error(ArgumentError) -> { send(@method) }.should raise_error(ArgumentError)
end end
end
end end

View file

@ -348,8 +348,10 @@ describe "A lambda expression 'lambda { ... }'" do
end end
it "requires a block" do it "requires a block" do
suppress_warning do
lambda { lambda }.should raise_error(ArgumentError) lambda { lambda }.should raise_error(ArgumentError)
end end
end
it "may include a rescue clause" do it "may include a rescue clause" do
eval('lambda do raise ArgumentError; rescue ArgumentError; 7; end').should be_an_instance_of(Proc) eval('lambda do raise ArgumentError; rescue ArgumentError; 7; end').should be_an_instance_of(Proc)
@ -375,12 +377,14 @@ describe "A lambda expression 'lambda { ... }'" do
ruby_version_is "2.7" do ruby_version_is "2.7" do
it "raises ArgumentError" do it "raises ArgumentError" do
implicit_lambda = nil implicit_lambda = nil
suppress_warning do
-> { -> {
meth { 1 } meth { 1 }
}.should raise_error(ArgumentError, /tried to create Proc object without a block/) }.should raise_error(ArgumentError, /tried to create Proc object without a block/)
end end
end end
end end
end
context "assigns no local variables" do context "assigns no local variables" do
evaluate <<-ruby do evaluate <<-ruby do