summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/lambda_spec.rb
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2021-01-28 17:08:57 +0100
committerBenoit Daloze <eregontp@gmail.com>2021-01-28 17:08:57 +0100
commit2e32b919b4f2f5b7f2e1509d6fa985526ef1f61c (patch)
treeaedadac3c99ca0097c2bbeaa95830332d6fb9971 /spec/ruby/core/kernel/lambda_spec.rb
parent1b377b32c8616f85c0a97e68758c5c2db83f2169 (diff)
Update to ruby/spec@8cafaa5
Diffstat (limited to 'spec/ruby/core/kernel/lambda_spec.rb')
-rw-r--r--spec/ruby/core/kernel/lambda_spec.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/ruby/core/kernel/lambda_spec.rb b/spec/ruby/core/kernel/lambda_spec.rb
index 4dd34c6ca9..9a960f3589 100644
--- a/spec/ruby/core/kernel/lambda_spec.rb
+++ b/spec/ruby/core/kernel/lambda_spec.rb
@@ -123,4 +123,16 @@ describe "Kernel.lambda" do
it "allows long returns to flow through it" do
KernelSpecs::Lambda.new.outer.should == :good
end
+
+ it "treats the block as a Proc when lambda is re-defined" do
+ klass = Class.new do
+ def lambda (&block); block; end
+ def ret
+ lambda { return 1 }.call
+ 2
+ end
+ end
+ klass.new.lambda { 42 }.should be_an_instance_of Proc
+ klass.new.ret.should == 1
+ end
end