aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEileen M. Uchitelle <eileencodes@users.noreply.github.com>2017-01-23 16:33:42 -0500
committerGitHub <noreply@github.com>2017-01-23 16:33:42 -0500
commitc6f9f8c28a720ad4ec7cf3613dddfa451d5968e2 (patch)
tree4a880692055af920da504e56e7f213c849b3e1e9
parentc309073c7476f50dfb1e796d058580f176101c36 (diff)
parent13c7f2b537b580beb5f3df29b8396d2157bdfdab (diff)
downloadrails-c6f9f8c28a720ad4ec7cf3613dddfa451d5968e2.tar.gz
rails-c6f9f8c28a720ad4ec7cf3613dddfa451d5968e2.tar.bz2
rails-c6f9f8c28a720ad4ec7cf3613dddfa451d5968e2.zip
Merge pull request #27775 from domcleal/27774-format-reset
Delete PATH_INFO after each controller test request
-rw-r--r--actionpack/lib/action_controller/test_case.rb1
-rw-r--r--actionpack/test/controller/test_case_test.rb14
2 files changed, 15 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb
index 7b620ac95e..7229c67f30 100644
--- a/actionpack/lib/action_controller/test_case.rb
+++ b/actionpack/lib/action_controller/test_case.rb
@@ -534,6 +534,7 @@ module ActionController
@request.delete_header "HTTP_ACCEPT"
end
@request.query_string = ""
+ @request.env.delete "PATH_INFO"
@response.sent!
end
diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb
index 874f9c3c42..ac99830208 100644
--- a/actionpack/test/controller/test_case_test.rb
+++ b/actionpack/test/controller/test_case_test.rb
@@ -728,6 +728,20 @@ XML
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