diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-01 08:22:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-01 08:22:02 +0000 |
commit | 46454b5ee67cc198edc3b56ef2ecfdcf90fa83f8 (patch) | |
tree | 7c8b37fea27f4f9c76f581cd55ce741f2bb9751f /test | |
parent | 5659843d6e74e321c2af58e1f3f5f73514509282 (diff) | |
download | ruby-46454b5ee67cc198edc3b56ef2ecfdcf90fa83f8.tar.gz |
passed block should keep the lambda-ness
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/-ext-/iter/test_yield_block.rb | 12 |
1 files changed, 12 insertions, 0 deletions
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 |