aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2018-07-12 14:13:36 -0400
committerGitHub <noreply@github.com>2018-07-12 14:13:36 -0400
commitfd132d0dad969b9f05be7eb06b263dab211634f3 (patch)
tree2cad194d3b4400f86816128f32ef0646b9e4f468 /actionpack
parent0d864e7eff47ae740b9ea463b46453963ef264cd (diff)
parent48b6bacbc534d4be3fa89bc19ea83c357a20e598 (diff)
downloadrails-fd132d0dad969b9f05be7eb06b263dab211634f3.tar.gz
rails-fd132d0dad969b9f05be7eb06b263dab211634f3.tar.bz2
rails-fd132d0dad969b9f05be7eb06b263dab211634f3.zip
Merge pull request #33341 from Edouard-chin/ec-fix-to-param
e4e1b62 broke `to_param` handling:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/test_case.rb2
-rw-r--r--actionpack/test/controller/test_case_test.rb17
2 files changed, 16 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb
index 33b0bcbefe..5d784ceb31 100644
--- a/actionpack/lib/action_controller/test_case.rb
+++ b/actionpack/lib/action_controller/test_case.rb
@@ -109,7 +109,7 @@ module ActionController
when :xml
data = non_path_parameters.to_xml
when :url_encoded_form
- data = Rack::Utils.build_nested_query(non_path_parameters)
+ data = non_path_parameters.to_query
else
@custom_param_parsers[content_mime_type.symbol] = ->(_) { non_path_parameters }
data = non_path_parameters.to_query
diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb
index 663832e9bb..2d0b6cd602 100644
--- a/actionpack/test/controller/test_case_test.rb
+++ b/actionpack/test/controller/test_case_test.rb
@@ -220,7 +220,7 @@ XML
params = Hash[:page, { name: "page name" }, "some key", 123]
post :render_raw_post, params: params.dup
- assert_equal Rack::Utils.build_nested_query(params), @response.body
+ assert_equal params.to_query, @response.body
end
def test_params_round_trip
@@ -231,12 +231,25 @@ XML
assert_equal params.merge(controller_info), JSON.parse(@response.body)
end
+ def test_handle_to_params
+ klass = Class.new do
+ def to_param
+ "bar"
+ end
+ end
+
+ post :test_params, params: { foo: klass.new }
+
+ assert_equal JSON.parse(@response.body)["foo"], "bar"
+ end
+
+
def test_body_stream
params = Hash[:page, { name: "page name" }, "some key", 123]
post :render_body, params: params.dup
- assert_equal Rack::Utils.build_nested_query(params), @response.body
+ assert_equal params.to_query, @response.body
end
def test_document_body_and_params_with_post