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:
parent
efbef729b2
commit
7ef5226520
3 changed files with 21 additions and 11 deletions
|
@ -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 { }
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue