ruby/lib/test/unit/testcase.rb
sorah 7773a911f5 * lib/test/unit.rb: warn when test_* method is redefined.
Patch by mame (Yusuke Endoh). [Feature #2643] [ruby-core:27790]

* test/testunit/test_redefinition.rb: Test for above.

* test/testunit/test4test_redefinition.rb: Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-21 05:12:32 +00:00

36 lines
719 B
Ruby

require 'test/unit/assertions'
module Test
module Unit
# remove silly TestCase class
remove_const(:TestCase) if defined?(self::TestCase)
class TestCase < MiniTest::Unit::TestCase
include Assertions
def on_parallel_worker?
false
end
def run runner
@options = runner.options
super runner
end
def self.test_order
:sorted
end
Methods = {}
def self.method_added(name)
return unless name.to_s[/\Atest_/]
Methods[self] ||= {}
if Methods[self][name]
warn("test/unit warning: method #{ self }##{ name } is redefined")
end
Methods[self][name] = true
end
end
end
end