提交 8378a44f 编写于 作者: J Jamis Buck

make TestCaseTest work for pre-1.9 rubies, too

上级 4f0c8ef9
......@@ -2,6 +2,8 @@
module ActiveSupport
class TestCaseTest < ActiveSupport::TestCase
IS_MINITEST = defined?(MiniTest::Assertions) && TestCase < MiniTest::Assertions
class FakeRunner
attr_reader :puked
......@@ -12,46 +14,65 @@ def initialize
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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册