summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-01-01 08:22:02 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-01-01 08:22:02 +0000
commit46454b5ee67cc198edc3b56ef2ecfdcf90fa83f8 (patch)
tree7c8b37fea27f4f9c76f581cd55ce741f2bb9751f
parent5659843d6e74e321c2af58e1f3f5f73514509282 (diff)
passed block should keep the lambda-ness
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--test/-ext-/iter/test_yield_block.rb12
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