Browse files

Revert "Get AS TestCase off deprecated callbacks"

This reverts commit 29b2806.
  • Loading branch information...
1 parent efdc062 commit 00eb09e016837e361fb9dcf6a46d1715ec59beca @jeremy jeremy committed Oct 14, 2009
Showing with 53 additions and 13 deletions.
  1. +1 −13 activesupport/lib/active_support/testing/setup_and_teardown.rb
  2. +52 −0 activesupport/test/test_test.rb
View
14 activesupport/lib/active_support/testing/setup_and_teardown.rb
@@ -3,9 +3,7 @@ module Testing
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 @@ def self.included(base)
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
52 activesupport/test/test_test.rb
@@ -95,3 +95,55 @@ class NotTestingThingsTest < Test::Unit::TestCase
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

0 comments on commit 00eb09e

Please sign in to comment.