diff options
Diffstat (limited to 'activesupport/lib/active_support/test_case.rb')
-rw-r--r-- | activesupport/lib/active_support/test_case.rb | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/activesupport/lib/active_support/test_case.rb b/activesupport/lib/active_support/test_case.rb index d1e657c15f..a4a45079fa 100644 --- a/activesupport/lib/active_support/test_case.rb +++ b/activesupport/lib/active_support/test_case.rb @@ -1,46 +1,40 @@ +require 'test/unit/testcase' require 'active_support/testing/setup_and_teardown' require 'active_support/testing/assertions' require 'active_support/testing/declarative' -module ActiveSupport - # Prefer MiniTest with Test::Unit compatibility. - begin - require 'minitest/unit' +begin + gem 'mocha', '>= 0.9.0' + require 'mocha' - # Hack around the test/unit autorun. - autorun_enabled = MiniTest::Unit.send(:class_variable_get, '@@installed_at_exit') - if MiniTest::Unit.respond_to?(:disable_autorun) - MiniTest::Unit.disable_autorun - else - MiniTest::Unit.send(:class_variable_set, '@@installed_at_exit', false) - end - require 'test/unit' - MiniTest::Unit.send(:class_variable_set, '@@installed_at_exit', autorun_enabled) + if defined?(MiniTest) + require 'active_support/testing/mocha_minitest_adapter' + end +rescue LoadError + # Fake Mocha::ExpectationError so we can rescue it in #run. Bleh. + Object.const_set :Mocha, Module.new + Mocha.const_set :ExpectationError, Class.new(StandardError) +end - class TestCase < ::Test::Unit::TestCase +module ActiveSupport + class TestCase < ::Test::Unit::TestCase + if defined? MiniTest Assertion = MiniTest::Assertion - end - - # TODO: Figure out how to get the Rails::BacktraceFilter into minitest/unit - # Test::Unit compatibility. - rescue LoadError - require 'test/unit/testcase' - require 'active_support/testing/default' - - if defined?(Rails) - require 'rails/backtrace_cleaner' - Test::Unit::Util::BacktraceFilter.module_eval { include Rails::BacktraceFilterForTestUnit } - end + else + # TODO: Figure out how to get the Rails::BacktraceFilter into minitest/unit + if defined?(Rails) + require 'rails/backtrace_cleaner' + Test::Unit::Util::BacktraceFilter.module_eval { include Rails::BacktraceFilterForTestUnit } + end - class TestCase < ::Test::Unit::TestCase Assertion = Test::Unit::AssertionFailedError + + require 'active_support/testing/default' include ActiveSupport::Testing::Default - end - end + end - class TestCase include ActiveSupport::Testing::SetupAndTeardown include ActiveSupport::Testing::Assertions extend ActiveSupport::Testing::Declarative end -end
\ No newline at end of file +end |