summaryrefslogtreecommitdiffstats
path: root/test/ruby
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 16:12:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-17 16:12:03 +0000
commit430b88e65390aaa6867e91b1c467facd0d0e21b7 (patch)
treec3bf7730029ffff998bca90fb4468ce664480858 /test/ruby
parent74995a2b3203d34f61c6c235a06f9715edc73e2f (diff)
downloadruby-430b88e65390aaa6867e91b1c467facd0d0e21b7.tar.gz
ruby-430b88e65390aaa6867e91b1c467facd0d0e21b7.tar.xz
ruby-430b88e65390aaa6867e91b1c467facd0d0e21b7.zip
* eval.c (frame_func_id): return proper method ID.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_method.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb
index 5f436406a..c7bd44378 100644
--- a/test/ruby/test_method.rb
+++ b/test/ruby/test_method.rb
@@ -43,4 +43,13 @@ class TestMethod < Test::Unit::TestCase
um.bind(Base.new)
end
end
+
+ def test_callee
+ assert_equal(:test_callee, __method__)
+ assert_equal(:m, Class.new {def m; __method__; end}.new.m)
+ assert_equal(:m, Class.new {def m; tap{return __method__}; end}.new.m)
+ assert_equal(:m, Class.new {define_method(:m) {__method__}}.new.m)
+ assert_equal(:m, Class.new {define_method(:m) {tap{return __method__}}}.new.m)
+ assert_nil(eval("class TestCallee; __method__; end"))
+ end
end