Revert "Merge pull request #27775 from domcleal/27774-format-reset"

This reverts commit c6f9f8c2, reversing
changes made to c309073c.

Reason: This is fixing the behavior in the wrong place. Now the request
path after the request is nil and there is no way to assert that.
Also the test that was added in that PR also fails in 4.2 where the
reporter says it was passing. The reason the bahavior changed between
Rails 4.2 and Rails 5 is that the format in the path is now respected.
The correct way to fix the problem is not doign two requests in the same
controller test and use integrations tests. This change caused a
regression between Rails 5.0.1 and 5.0.2.
上级 ad37b79e
......@@ -534,7 +534,6 @@ def process(action, method: "GET", params: {}, session: nil, body: nil, flash: {
@request.delete_header "HTTP_ACCEPT"
end
@request.query_string = ""
@request.env.delete "PATH_INFO"
@response.sent!
end
......
......@@ -679,6 +679,11 @@ def test_filtered_parameters_reset_between_requests
assert_equal "baz", @request.filtered_parameters[:foo]
end
def test_path_is_kept_after_the_request
get :test_params, params: { id: "foo" }
assert_equal "foo", @request.path
end
def test_path_params_reset_between_request
get :test_params, params: { id: "foo" }
assert_equal "foo", @request.path_parameters[:id]
......@@ -728,20 +733,6 @@ def test_request_format_kwarg
assert_equal "text/html", @response.body
end
def test_request_path_info_and_format_reset
get :test_format, format: "json"
assert_equal "application/json", @response.body
get :test_uri, format: "json"
assert_equal "/test_case_test/test/test_uri.json", @response.body
get :test_format
assert_equal "text/html", @response.body
get :test_uri
assert_equal "/test_case_test/test/test_uri", @response.body
end
def test_request_format_kwarg_overrides_params
get :test_format, format: "json", params: { format: "html" }
assert_equal "application/json", @response.body
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册