diff options
author | Jamis Buck <jamis@37signals.com> | 2011-01-19 10:08:02 -0700 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2011-01-19 10:57:16 -0700 |
commit | 7938039548c3269cefe1bc1368f726557793f771 (patch) | |
tree | 040ecc6d90cdd7c9f3b4d838e2b96dc656e8fae0 | |
parent | a282301a77288252d135855d088f20de2397998e (diff) | |
download | rails-7938039548c3269cefe1bc1368f726557793f771.tar.gz rails-7938039548c3269cefe1bc1368f726557793f771.tar.bz2 rails-7938039548c3269cefe1bc1368f726557793f771.zip |
make TestCaseTest work for pre-1.9 rubies, too
-rw-r--r-- | activesupport/test/test_case_test.rb | 71 |
1 files changed, 46 insertions, 25 deletions
diff --git a/activesupport/test/test_case_test.rb b/activesupport/test/test_case_test.rb index 7e65c63062..b6a96b2ae7 100644 --- a/activesupport/test/test_case_test.rb +++ b/activesupport/test/test_case_test.rb @@ -2,6 +2,8 @@ require 'abstract_unit' module ActiveSupport class TestCaseTest < ActiveSupport::TestCase + IS_MINITEST = defined?(MiniTest::Assertions) && TestCase < MiniTest::Assertions + class FakeRunner attr_reader :puked @@ -12,46 +14,65 @@ module ActiveSupport def puke(klass, name, e) @puked << [klass, name, e] end - end - if defined?(MiniTest::Assertions) && TestCase < MiniTest::Assertions - def test_callback_with_exception - tc = Class.new(TestCase) do - setup :bad_callback - def bad_callback; raise 'oh noes' end - def test_true; assert true end + unless IS_MINITEST + def add_error(e) + puke(nil, nil, e) end - test_name = 'test_true' - fr = FakeRunner.new + def add_run + end - test = tc.new test_name - test.run fr - klass, name, exception = *fr.puked.first + def add_assertion + end + def add_failure(msg, locations=nil) + end + end + end + + def test_callback_with_exception + tc = Class.new(TestCase) do + setup :bad_callback + def bad_callback; raise 'oh noes' end + def test_true; assert true end + end + + test_name = 'test_true' + fr = FakeRunner.new + + test = tc.new test_name + test.run(fr) {} + klass, name, exception = *fr.puked.first + + if IS_MINITEST assert_equal tc, klass assert_equal test_name, name - assert_equal 'oh noes', exception.message end - def test_teardown_callback_with_exception - tc = Class.new(TestCase) do - teardown :bad_callback - def bad_callback; raise 'oh noes' end - def test_true; assert true end - end + assert_match %r{oh noes}, exception.message + end + + def test_teardown_callback_with_exception + tc = Class.new(TestCase) do + teardown :bad_callback + def bad_callback; raise 'oh noes' end + def test_true; assert true end + end - test_name = 'test_true' - fr = FakeRunner.new + test_name = 'test_true' + fr = FakeRunner.new - test = tc.new test_name - test.run fr - klass, name, exception = *fr.puked.first + test = tc.new test_name + test.run(fr) {} + klass, name, exception = *fr.puked.first + if IS_MINITEST assert_equal tc, klass assert_equal test_name, name - assert_equal 'oh noes', exception.message end + + assert_match %r{oh noes}, exception.message end end end |