From 46454b5ee67cc198edc3b56ef2ecfdcf90fa83f8 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 1 Jan 2017 08:22:02 +0000 Subject: passed block should keep the lambda-ness git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/iter/test_yield_block.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test') diff --git a/test/-ext-/iter/test_yield_block.rb b/test/-ext-/iter/test_yield_block.rb index d4f1fa3c35..0036854fd4 100644 --- a/test/-ext-/iter/test_yield_block.rb +++ b/test/-ext-/iter/test_yield_block.rb @@ -12,6 +12,12 @@ class TestIter::YieldBlock < Test::Unit::TestCase def test(arg, &block) block.call(arg) {|blockarg| @blockarg = blockarg} end + def call_proc(&block) + block.call {} + end + def call_lambda(&block) + block.call &->{} + end end def test_yield_block @@ -19,4 +25,10 @@ class TestIter::YieldBlock < Test::Unit::TestCase a.yield_block(:test, "foo") {|x, &b| assert_kind_of(Proc, b); b.call(x)} assert_equal("foo", a.blockarg) end + + def test_yield_lambda + a = YieldTest.new + assert_not_predicate a.yield_block(:call_proc) {|&b| b}, :lambda? + assert_predicate a.yield_block(:call_lambda) {|&b| b}, :lambda? + end end -- cgit v1.2.3