aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2011-01-19 10:08:02 -0700
committerJamis Buck <jamis@37signals.com>2011-01-19 10:57:16 -0700
commit7938039548c3269cefe1bc1368f726557793f771 (patch)
tree040ecc6d90cdd7c9f3b4d838e2b96dc656e8fae0
parenta282301a77288252d135855d088f20de2397998e (diff)
downloadrails-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.rb71
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