Revert "Get AS TestCase off deprecated callbacks"

This reverts commit 29b280666b.
This commit is contained in:
Jeremy Kemper 2009-10-14 16:12:19 -07:00
parent efdc062454
commit 00eb09e016
2 changed files with 53 additions and 13 deletions

View File

@ -3,9 +3,7 @@ module ActiveSupport
module SetupAndTeardown
def self.included(base)
base.class_eval do
extend ClassMethods
include ActiveSupport::Callbacks
include ActiveSupport::DeprecatedCallbacks
define_callbacks :setup, :teardown
if defined?(MiniTest::Assertions) && TestCase < MiniTest::Assertions
@ -16,16 +14,6 @@ module ActiveSupport
end
end
module ClassMethods
def setup(*args, &block)
set_callback(:setup, *args, &block)
end
def teardown(*args, &block)
set_callback(:teardown, *args, &block)
end
end
module ForMiniTest
def run(runner)
result = '.'

View File

@ -95,3 +95,55 @@ end
class AlsoDoingNothingTest < ActiveSupport::TestCase
end
# Setup and teardown callbacks.
class SetupAndTeardownTest < ActiveSupport::TestCase
setup :reset_callback_record, :foo
teardown :foo, :sentinel, :foo
def test_inherited_setup_callbacks
assert_equal [:reset_callback_record, :foo], self.class.setup_callback_chain.map(&:method)
assert_equal [:foo], @called_back
assert_equal [:foo, :sentinel, :foo], self.class.teardown_callback_chain.map(&:method)
end
def setup
end
def teardown
end
protected
def reset_callback_record
@called_back = []
end
def foo
@called_back << :foo
end
def sentinel
assert_equal [:foo, :foo], @called_back
end
end
class SubclassSetupAndTeardownTest < SetupAndTeardownTest
setup :bar
teardown :bar
def test_inherited_setup_callbacks
assert_equal [:reset_callback_record, :foo, :bar], self.class.setup_callback_chain.map(&:method)
assert_equal [:foo, :bar], @called_back
assert_equal [:foo, :sentinel, :foo, :bar], self.class.teardown_callback_chain.map(&:method)
end
protected
def bar
@called_back << :bar
end
def sentinel
assert_equal [:foo, :bar, :bar, :foo], @called_back
end
end