提交 54957719 编写于 作者: R Rafael Mendonça França

Merge pull request #17642 from tgxworld/fix_template_assertion_on_assigns

Fix for assigns(:..) resetting template assertions
......@@ -334,9 +334,13 @@ def remove! # :nodoc:
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
......
......@@ -10,7 +10,7 @@ def render_with_template
end
def render_with_layout
@variable_for_layout = nil
@variable_for_layout = 'hello'
render 'test/hello_world', layout: "layouts/standard"
end
......@@ -95,4 +95,16 @@ def test_file_reset_between_requests_when_opening_a_session
session.assert_template file: nil
end
end
def test_assigns_do_not_reset_template_assertion
get '/assert_template/render_with_layout'
assert_equal 'hello', assigns(:variable_for_layout)
assert_template layout: 'layouts/standard'
end
def test_cookies_do_not_reset_template_assertion
get '/assert_template/render_with_layout'
cookies
assert_template layout: 'layouts/standard'
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册