diff options
author | Jamis Buck <jamis@37signals.com> | 2006-03-07 17:58:34 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2006-03-07 17:58:34 +0000 |
commit | 4d4f0e6490e0523c4bf45e433e9d27ac9ce4da1e (patch) | |
tree | 2b1cbcc6dad617bba4597bdb103d7d5eb342b395 /actionpack/lib/action_controller | |
parent | 31a499ac2713e3fbacda32de037f4af419152658 (diff) | |
download | rails-4d4f0e6490e0523c4bf45e433e9d27ac9ce4da1e.tar.gz rails-4d4f0e6490e0523c4bf45e433e9d27ac9ce4da1e.tar.bz2 rails-4d4f0e6490e0523c4bf45e433e9d27ac9ce4da1e.zip |
Make IntegrationTest refer to superclass properties using copy-on-write
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3810 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/integration_test.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/integration_test.rb b/actionpack/lib/action_controller/integration_test.rb index 955b4a0f28..d4c1c85c22 100644 --- a/actionpack/lib/action_controller/integration_test.rb +++ b/actionpack/lib/action_controller/integration_test.rb @@ -414,6 +414,37 @@ module ActionController super end + # Because of how use_instantiated_fixtures and use_transactional_fixtures + # are defined, we need to treat them as special cases. Otherwise, users + # would potentially have to set their values for both Test::Unit::TestCase + # ActionController::IntegrationTest, since by the time the value is set on + # TestCase, IntegrationTest has already been defined and cannot inherit + # changes to those variables. So, we make those two attributes copy-on-write. + + class<<self + def use_transactional_fixtures=(flag) #:nodoc: + @_use_transactional_fixtures = true + @use_transactional_fixtures = flag + end + + def use_instantiated_fixtures=(flag) #:nodoc: + @_use_instantiated_fixtures = true + @use_instantiated_fixtures = flag + end + + def use_transactional_fixtures #:nodoc: + @_use_transactional_fixtures ? + @use_transactional_fixtures : + superclass.use_transactional_fixtures + end + + def use_instantiated_fixtures #:nodoc: + @_use_instantiated_fixtures ? + @use_instantiated_fixtures : + superclass.use_instantiated_fixtures + end + end + # Reset the current session. This is useful for testing multiple sessions # in a single test case. def reset! |