From a28d1eff6534328cae5363bbf0cc26cd0a18b948 Mon Sep 17 00:00:00 2001 From: usa Date: Wed, 14 Aug 2013 05:35:21 +0000 Subject: * proc.c (rb_mod_define_method): now they return the symbols of the defined methods, not the methods/procs themselves. [ruby-dev:42151] [Feature #3753] * NEWS: documents about above change and def-expr (see r42337). * test/ruby/test_module.rb: tests about above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_module.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test') diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index b0a33c8609..1124101664 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -1749,6 +1749,26 @@ class TestModule < Test::Unit::TestCase RUBY end + def test_return_value_of_define_method + retvals = [] + Class.new.class_eval do + retvals << define_method(:foo){} + retvals << define_method(:bar, instance_method(:foo)) + end + assert_equal :foo, retvals[0] + assert_equal :bar, retvals[1] + end + + def test_return_value_of_define_singleton_method + retvals = [] + Class.new do + retvals << define_singleton_method(:foo){} + retvals << define_singleton_method(:bar, method(:foo)) + end + assert_equal :foo, retvals[0] + assert_equal :bar, retvals[1] + end + private def assert_top_method_is_private(method) -- cgit v1.2.3