aboutsummaryrefslogtreecommitdiffstats
path: root/test/-ext-
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
commit74ff2bf686cad1141a3ded7d782773122e73374e (patch)
tree7c8b37fea27f4f9c76f581cd55ce741f2bb9751f /test/-ext-
parente11662cf68943f4fa473c951ea32ac8dcba79bd2 (diff)
downloadruby-74ff2bf686cad1141a3ded7d782773122e73374e.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/-ext-')
-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