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/