diff options
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/testing/setup_and_teardown.rb | 14 | ||||
-rw-r--r-- | activesupport/test/test_test.rb | 56 |
2 files changed, 15 insertions, 55 deletions
diff --git a/activesupport/lib/active_support/testing/setup_and_teardown.rb b/activesupport/lib/active_support/testing/setup_and_teardown.rb index 7952eb50c3..97773dc2c0 100644 --- a/activesupport/lib/active_support/testing/setup_and_teardown.rb +++ b/activesupport/lib/active_support/testing/setup_and_teardown.rb @@ -3,7 +3,9 @@ module ActiveSupport module SetupAndTeardown def self.included(base) base.class_eval do - include ActiveSupport::DeprecatedCallbacks + extend ClassMethods + + include ActiveSupport::Callbacks define_callbacks :setup, :teardown if defined?(MiniTest::Assertions) && TestCase < MiniTest::Assertions @@ -14,6 +16,16 @@ 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 = '.' diff --git a/activesupport/test/test_test.rb b/activesupport/test/test_test.rb index 40d3d612e7..7a45dab60b 100644 --- a/activesupport/test/test_test.rb +++ b/activesupport/test/test_test.rb @@ -4,7 +4,7 @@ require 'active_support/core_ext/kernel/reporting' class AssertDifferenceTest < ActiveSupport::TestCase def setup @object = Class.new do - attr_accessor :num + attr_accessor :num def increment self.num += 1 end @@ -12,7 +12,7 @@ class AssertDifferenceTest < ActiveSupport::TestCase def decrement self.num -= 1 end - end.new + end.new @object.num = 0 end @@ -95,55 +95,3 @@ 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 |