diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-05 13:34:15 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-05 13:34:15 +0000 |
commit | 139b92495fa7697cdd619c549d4c7b263562b761 (patch) | |
tree | 20589f9f23d3b19697fed12bb1bf5ce48ef595af /activesupport/test | |
parent | fe66397adfb5a8057db78afcabd4d7eb0f13a783 (diff) | |
download | rails-139b92495fa7697cdd619c549d4c7b263562b761.tar.gz rails-139b92495fa7697cdd619c549d4c7b263562b761.tar.bz2 rails-139b92495fa7697cdd619c549d4c7b263562b761.zip |
* Continue evolution toward ActiveSupport::TestCase and friends. #10679 [Josh Peek]
* TestCase: introduce declared setup and teardown callbacks. Pass a list of methods and an optional block to call before setup or after teardown. Setup callbacks are run in the order declared; teardown callbacks are run in reverse. [Jeremy Kemper]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8570 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/load_error_test.rb (renamed from activesupport/test/core_ext/load_error_tests.rb) | 2 | ||||
-rw-r--r-- | activesupport/test/test_test.rb | 46 |
2 files changed, 47 insertions, 1 deletions
diff --git a/activesupport/test/core_ext/load_error_tests.rb b/activesupport/test/core_ext/load_error_test.rb index 34c5cb4cda..5bb5b4d1b8 100644 --- a/activesupport/test/core_ext/load_error_tests.rb +++ b/activesupport/test/core_ext/load_error_test.rb @@ -1,4 +1,4 @@ -require File.dirname(__FILE__) + '/../abstract_unit' +require 'abstract_unit' class TestMissingSourceFile < Test::Unit::TestCase def test_with_require diff --git a/activesupport/test/test_test.rb b/activesupport/test/test_test.rb index 9ac54db69b..88b505e59c 100644 --- a/activesupport/test/test_test.rb +++ b/activesupport/test/test_test.rb @@ -72,3 +72,49 @@ end class AlsoDoingNothingTest < ActiveSupport::TestCase end + +# Setup and teardown callbacks. +class SetupAndTeardownTest < Test::Unit::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 + assert_equal [:foo], @called_back + assert_equal [:foo, :sentinel, :foo], self.class.teardown_callback_chain + 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 + assert_equal [:foo, :bar], @called_back + assert_equal [:foo, :sentinel, :foo, :bar], self.class.teardown_callback_chain + end + + protected + def bar + @called_back << :bar + end + + def sentinel + assert_equal [:foo, :bar, :bar, :foo], @called_back + end +end |