diff options
author | eileencodes <eileencodes@gmail.com> | 2015-03-09 17:10:24 -0400 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2015-03-09 17:10:24 -0400 |
commit | d5e55e960c2919ad71ea645d219677457e9832eb (patch) | |
tree | da1a16451e3d20e27a912014ff504fd7d2135184 /actionpack/lib | |
parent | 094ad22349f6f2a3911313876fea8deb64953143 (diff) | |
download | rails-d5e55e960c2919ad71ea645d219677457e9832eb.tar.gz rails-d5e55e960c2919ad71ea645d219677457e9832eb.tar.bz2 rails-d5e55e960c2919ad71ea645d219677457e9832eb.zip |
Revert "Revert integration test refactoring that caused app test regressions"
This reverts commit 714205988315d2f98aa3e749747c44470e18676b.
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_dispatch/testing/integration.rb | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/actionpack/lib/action_dispatch/testing/integration.rb b/actionpack/lib/action_dispatch/testing/integration.rb index 61e7d9fcc5..faf62fcd1d 100644 --- a/actionpack/lib/action_dispatch/testing/integration.rb +++ b/actionpack/lib/action_dispatch/testing/integration.rb @@ -388,8 +388,16 @@ module ActionDispatch APP_SESSIONS = {} - def app - @app ||= nil + attr_reader :app + + def before_setup + super + @app = nil + @integration_session = nil + end + + def integration_session + @integration_session ||= create_session(app) end # Reset the current session. This is useful for testing multiple sessions @@ -417,8 +425,6 @@ module ActionDispatch %w(get post patch put head delete cookies assigns xml_http_request xhr get_via_redirect post_via_redirect).each do |method| define_method(method) do |*args| - reset! unless integration_session - # reset the html_document variable, except for cookies/assigns calls unless method == 'cookies' || method == 'assigns' @html_document = nil @@ -450,19 +456,16 @@ module ActionDispatch # Copy the instance variables from the current session instance into the # test instance. def copy_session_variables! #:nodoc: - return unless integration_session @controller = @integration_session.controller @response = @integration_session.response @request = @integration_session.request end def default_url_options - reset! unless integration_session integration_session.default_url_options end def default_url_options=(options) - reset! unless integration_session integration_session.default_url_options = options end @@ -472,7 +475,6 @@ module ActionDispatch # Delegate unhandled messages to the current session instance. def method_missing(sym, *args, &block) - reset! unless integration_session if integration_session.respond_to?(sym) integration_session.__send__(sym, *args, &block).tap do copy_session_variables! @@ -481,11 +483,6 @@ module ActionDispatch super end end - - private - def integration_session - @integration_session ||= nil - end end end @@ -663,7 +660,6 @@ module ActionDispatch end def url_options - reset! unless integration_session integration_session.url_options end |