summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-17 02:44:38 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-17 02:44:38 +0000
commit8676f8baf2d41c8a630abfc9d1a64e564f35ea90 (patch)
treefd67b7fcd37f9c12e33cf55289f4a8e1083041e0
parent166f8d6d0b5aac3c67f573184dfd9b646580dbd7 (diff)
* test/ruby/test_eval.rb (test_define_method_block): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--test/ruby/test_eval.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_eval.rb b/test/ruby/test_eval.rb
index 876aaaf..c838141 100644
--- a/test/ruby/test_eval.rb
+++ b/test/ruby/test_eval.rb
@@ -358,6 +358,19 @@ class TestEval < Test::Unit::TestCase
}
end
+ def test_define_method_block
+ cc = Class.new do
+ define_method(:foo) {|&block|
+ block.call if block
+ }
+ end
+
+ c = cc.new
+ x = "ng"
+ c.foo() {x = "ok"}
+ assert_equal("ok", x)
+ end
+
def test_eval_using_integer_as_binding
assert_raise(TypeError) { eval("", 1) }
end