aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/testing/integration.rb
diff options
context:
space:
mode:
authorCalvin Correli <calvin@correli.me>2014-11-12 13:06:18 +0100
committerGuo Xiang Tan <tgx_world@hotmail.com>2014-11-17 09:49:07 +0800
commitc3e8d15e8babd8c27aa04ced8cde40fdc124416a (patch)
treeadb1f02ce1bc39fbe4eeb02a3220e664dd5f6843 /actionpack/lib/action_dispatch/testing/integration.rb
parent2a31ea5545dbbeeafaaabb622a3053e361018898 (diff)
downloadrails-c3e8d15e8babd8c27aa04ced8cde40fdc124416a.tar.gz
rails-c3e8d15e8babd8c27aa04ced8cde40fdc124416a.tar.bz2
rails-c3e8d15e8babd8c27aa04ced8cde40fdc124416a.zip
Fix for assigns(:..) resetting template assertions
When calling assigns(:...) or cookies(:...), template assertions would be reset, which they obviously shouldn't be.
Diffstat (limited to 'actionpack/lib/action_dispatch/testing/integration.rb')
-rw-r--r--actionpack/lib/action_dispatch/testing/integration.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/testing/integration.rb b/actionpack/lib/action_dispatch/testing/integration.rb
index fb816aa875..731305227d 100644
--- a/actionpack/lib/action_dispatch/testing/integration.rb
+++ b/actionpack/lib/action_dispatch/testing/integration.rb
@@ -334,9 +334,13 @@ module ActionDispatch
xml_http_request xhr get_via_redirect post_via_redirect).each do |method|
define_method(method) do |*args|
reset! unless integration_session
- reset_template_assertion
- # reset the html_document variable, but only for new get/post calls
- @html_document = nil unless method == 'cookies' || method == 'assigns'
+
+ # reset the html_document variable, except for cookies/assigns calls
+ unless method == 'cookies' || method == 'assigns'
+ @html_document = nil
+ reset_template_assertion
+ end
+
integration_session.__send__(method, *args).tap do
copy_session_variables!
end