public
Description: ruby lang (www.ruby-lang.org) svn mirror
Homepage: http://svn.ruby-lang.org/repos/ruby/
Clone URL: git://github.com/juretta/ruby.git
Search Repo:
* test/ruby/test_module.rb (assert_method_defined?): added.

git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16436 
b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (author)
Fri May 16 01:08:06 -0700 2008
commit  dae7594c4ed826608234d482137d950a09d1e102
tree    d28f8a15172f9972726dddda914e2f4913fc5e49
parent  c3da8872ce8ae7af117021754380907086573e82
...
5
6
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
9
10
...
245
246
247
248
249
250
251
252
253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
255
256
...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
...
261
262
263
 
 
 
 
 
 
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
0
@@ -5,6 +5,22 @@
0
 $m0 = Module.nesting
0
 
0
 class TestModule < Test::Unit::TestCase
0
+ def assert_method_defined?(klass, mid, message="")
0
+ message = build_message(message, "#{klass}\##{mid} expected to be defined.")
0
+ _wrap_assertion do
0
+ klass.method_defined?(mid) or
0
+ raise Test::Unit::AssertionFailedError, message, caller(3)
0
+ end
0
+ end
0
+
0
+ def assert_method_not_defined?(klass, mid, message="")
0
+ message = build_message(message, "#{klass}\##{mid} expected to not be defined.")
0
+ _wrap_assertion do
0
+ klass.method_defined?(mid) and
0
+ raise Test::Unit::AssertionFailedError, message, caller(3)
0
+ end
0
+ end
0
+
0
   def setup
0
     @verbose = $VERBOSE
0
     $VERBOSE = nil
0
@@ -245,12 +261,42 @@
0
   end
0
 
0
   def test_method_defined?
0
- assert(!User.method_defined?(:wombat))
0
- assert(User.method_defined?(:user))
0
- assert(User.method_defined?(:mixin))
0
- assert(!User.method_defined?(:wombat))
0
- assert(User.method_defined?(:user))
0
- assert(User.method_defined?(:mixin))
0
+ assert_method_not_defined?(User, :wombat)
0
+ assert_method_defined?(User, :user)
0
+ assert_method_defined?(User, :mixin)
0
+ assert_method_not_defined?(User, :wombat)
0
+ assert_method_defined?(User, :user)
0
+ assert_method_defined?(User, :mixin)
0
+ end
0
+
0
+ def module_exec_aux
0
+ Proc.new do
0
+ def dynamically_added_method_3; end
0
+ end
0
+ end
0
+ def module_exec_aux_2(&block)
0
+ User.module_exec(&block)
0
+ end
0
+
0
+ def test_module_exec
0
+ User.module_exec do
0
+ def dynamically_added_method_1; end
0
+ end
0
+ assert_method_defined?(User, :dynamically_added_method_1)
0
+
0
+ block = Proc.new do
0
+ def dynamically_added_method_2; end
0
+ end
0
+ User.module_exec(&block)
0
+ assert_method_defined?(User, :dynamically_added_method_2)
0
+
0
+ User.module_exec(&module_exec_aux)
0
+ assert_method_defined?(User, :dynamically_added_method_3)
0
+
0
+ module_exec_aux_2 do
0
+ def dynamically_added_method_4; end
0
+ end
0
+ assert_method_defined?(User, :dynamically_added_method_4)
0
   end
0
 
0
   def test_module_eval

Comments

    No one has commented yet.