aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-09-27 10:14:41 -0300
committerGitHub <noreply@github.com>2016-09-27 10:14:41 -0300
commitebcd9650153ae693939550a6e08898345b986023 (patch)
treed0892f90a630c1ef24a056520a4a990917f8280b
parentf2f6a39ccae1508c69874c6952f7d12270b876af (diff)
parentaa7c4179ff3b0dba6c14e45cecaf853ac9446d41 (diff)
downloadrails-ebcd9650153ae693939550a6e08898345b986023.tar.gz
rails-ebcd9650153ae693939550a6e08898345b986023.tar.bz2
rails-ebcd9650153ae693939550a6e08898345b986023.zip
Merge pull request #26573 from kirs/action-controller-as-format
Make :as option also set request format (AC::TestCase)
-rw-r--r--actionpack/lib/action_controller/test_case.rb8
-rw-r--r--actionpack/test/controller/test_case_test.rb5
2 files changed, 9 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb
index 09f2a79d85..f4ec13c831 100644
--- a/actionpack/lib/action_controller/test_case.rb
+++ b/actionpack/lib/action_controller/test_case.rb
@@ -498,10 +498,6 @@ module ActionController
parameters ||= {}
- if format
- parameters[:format] = format
- end
-
@html_document = nil
cookies.update(@request.cookies)
@@ -521,6 +517,10 @@ module ActionController
format ||= as
end
+ if format
+ parameters[:format] = format
+ end
+
parameters = parameters.symbolize_keys
generated_extras = @routes.generate_extras(parameters.merge(controller: controller_class_name, action: action.to_s))
diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb
index 738d8bab6d..d929885aea 100644
--- a/actionpack/test/controller/test_case_test.rb
+++ b/actionpack/test/controller/test_case_test.rb
@@ -646,6 +646,11 @@ XML
assert_equal 2, @request.request_parameters[:num_value]
end
+ def test_using_as_json_sets_format_json
+ post :render_body, params: { bool_value: true, str_value: "string", num_value: 2 }, as: :json
+ assert_equal "json", @request.format
+ end
+
def test_mutating_content_type_headers_for_plain_text_files_sets_the_header
@request.headers["Content-Type"] = "text/plain"
post :render_body, params: { name: "foo.txt" }