ruby-changes:4943
From: ko1@a...
Date: Fri, 16 May 2008 17:08:18 +0900 (JST)
Subject: [ruby-changes:4943] nobu - Ruby:r16436 (trunk): * test/ruby/test_module.rb (assert_method_defined?): added.
nobu 2008-05-16 17:08:06 +0900 (Fri, 16 May 2008) New Revision: 16436 Modified files: trunk/test/ruby/test_module.rb Log: * test/ruby/test_module.rb (assert_method_defined?): added. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_module.rb?r1=16436&r2=16435&diff_format=u Index: test/ruby/test_module.rb =================================================================== --- test/ruby/test_module.rb (revision 16435) +++ test/ruby/test_module.rb (revision 16436) @@ -5,6 +5,22 @@ $m0 = Module.nesting class TestModule < Test::Unit::TestCase + def assert_method_defined?(klass, mid, message="") + message = build_message(message, "#{klass}\##{mid} expected to be defined.") + _wrap_assertion do + klass.method_defined?(mid) or + raise Test::Unit::AssertionFailedError, message, caller(3) + end + end + + def assert_method_not_defined?(klass, mid, message="") + message = build_message(message, "#{klass}\##{mid} expected to not be defined.") + _wrap_assertion do + klass.method_defined?(mid) and + raise Test::Unit::AssertionFailedError, message, caller(3) + end + end + def setup @verbose = $VERBOSE $VERBOSE = nil @@ -245,14 +261,44 @@ end def test_method_defined? - assert(!User.method_defined?(:wombat)) - assert(User.method_defined?(:user)) - assert(User.method_defined?(:mixin)) - assert(!User.method_defined?(:wombat)) - assert(User.method_defined?(:user)) - assert(User.method_defined?(:mixin)) + assert_method_not_defined?(User, :wombat) + assert_method_defined?(User, :user) + assert_method_defined?(User, :mixin) + assert_method_not_defined?(User, :wombat) + assert_method_defined?(User, :user) + assert_method_defined?(User, :mixin) end + def module_exec_aux + Proc.new do + def dynamically_added_method_3; end + end + end + def module_exec_aux_2(&block) + User.module_exec(&block) + end + + def test_module_exec + User.module_exec do + def dynamically_added_method_1; end + end + assert_method_defined?(User, :dynamically_added_method_1) + + block = Proc.new do + def dynamically_added_method_2; end + end + User.module_exec(&block) + assert_method_defined?(User, :dynamically_added_method_2) + + User.module_exec(&module_exec_aux) + assert_method_defined?(User, :dynamically_added_method_3) + + module_exec_aux_2 do + def dynamically_added_method_4; end + end + assert_method_defined?(User, :dynamically_added_method_4) + end + def test_module_eval User.module_eval("MODULE_EVAL = 1") assert_equal(1, User::MODULE_EVAL) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/