diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2018-12-18 21:07:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-18 21:07:43 +0100 |
commit | 35e0190ac54ec852f8ff5b9196ccf8a24e8d193b (patch) | |
tree | 5f7b0d46ad3764de86a9d66db9fdbeec6aa30baa /actionpack | |
parent | 96dee049c479c4ddd40d8a22ed0ec72fdda07d5b (diff) | |
parent | eb37fd0aec4fdc5122ceeb8a56b1e9b0cb5e3b76 (diff) | |
download | rails-35e0190ac54ec852f8ff5b9196ccf8a24e8d193b.tar.gz rails-35e0190ac54ec852f8ff5b9196ccf8a24e8d193b.tar.bz2 rails-35e0190ac54ec852f8ff5b9196ccf8a24e8d193b.zip |
Merge pull request #34737 from r7kamura/feature/test-case-params-nil
Allow nil params on controller HTTP test methods
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG.md | 4 | ||||
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 4 | ||||
-rw-r--r-- | actionpack/test/controller/test_case_test.rb | 12 |
3 files changed, 18 insertions, 2 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 13fbbafc0c..04b479106d 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,3 +1,7 @@ +* Allow nil params on controller HTTP test methods + + *Ryo Nakamura* + * Introduce ActionDispatch::HostAuthorization This is a new middleware that guards against DNS rebinding attacks by diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 5d784ceb31..a643484d96 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -457,7 +457,7 @@ module ActionController # respectively which will make tests more expressive. # # Note that the request method is not verified. - def process(action, method: "GET", params: {}, session: nil, body: nil, flash: {}, format: nil, xhr: false, as: nil) + def process(action, method: "GET", params: nil, session: nil, body: nil, flash: {}, format: nil, xhr: false, as: nil) check_required_ivars http_method = method.to_s.upcase @@ -485,7 +485,7 @@ module ActionController format ||= as end - parameters = params.symbolize_keys + parameters = (params || {}).symbolize_keys if format parameters[:format] = format diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb index c931e2daac..bc64135589 100644 --- a/actionpack/test/controller/test_case_test.rb +++ b/actionpack/test/controller/test_case_test.rb @@ -478,6 +478,18 @@ XML ) end + def test_nil_params + get :test_params, params: nil + parsed_params = JSON.parse(@response.body) + assert_equal( + { + "action" => "test_params", + "controller" => "test_case_test/test" + }, + parsed_params + ) + end + def test_query_param_named_action get :test_query_parameters, params: { action: "foobar" } parsed_params = JSON.parse(@response.body) |