aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2006-03-07 17:58:34 +0000
committerJamis Buck <jamis@37signals.com>2006-03-07 17:58:34 +0000
commit4d4f0e6490e0523c4bf45e433e9d27ac9ce4da1e (patch)
tree2b1cbcc6dad617bba4597bdb103d7d5eb342b395 /actionpack
parent31a499ac2713e3fbacda32de037f4af419152658 (diff)
downloadrails-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')
-rw-r--r--actionpack/lib/action_controller/integration_test.rb31
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!