diff options
author | Calvin Correli <calvin@correli.me> | 2014-11-12 13:06:18 +0100 |
---|---|---|
committer | Guo Xiang Tan <tgx_world@hotmail.com> | 2014-11-17 09:49:07 +0800 |
commit | c3e8d15e8babd8c27aa04ced8cde40fdc124416a (patch) | |
tree | adb1f02ce1bc39fbe4eeb02a3220e664dd5f6843 /actionpack/lib/action_dispatch | |
parent | 2a31ea5545dbbeeafaaabb622a3053e361018898 (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/lib/action_dispatch/testing/integration.rb | 10 |
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 |