aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2016-04-15 09:08:47 -0600
committerSean Griffin <sean@seantheprogrammer.com>2016-04-15 09:09:50 -0600
commit94a1edbc023fd82bf96705d86abc85d2eab14ba3 (patch)
tree762f16eca798d76e047640b6d7a85f22c2ba0b48 /actionpack/test
parentb1f4c4bbcfe31999636130dea478c076ec595fe7 (diff)
downloadrails-94a1edbc023fd82bf96705d86abc85d2eab14ba3.tar.gz
rails-94a1edbc023fd82bf96705d86abc85d2eab14ba3.tar.bz2
rails-94a1edbc023fd82bf96705d86abc85d2eab14ba3.zip
Filter scalar values when params permit hashes or arrays
This brings the behavior more inline with other similar cases, such as receiving a hash when an array of scalars was expected. Prior to this commit, the key would be present, but the value would be `nil`
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/parameters/parameters_permit_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/parameters_permit_test.rb b/actionpack/test/controller/parameters/parameters_permit_test.rb
index 96048e2868..b75eb0e3bf 100644
--- a/actionpack/test/controller/parameters/parameters_permit_test.rb
+++ b/actionpack/test/controller/parameters/parameters_permit_test.rb
@@ -360,4 +360,13 @@ class ParametersPermitTest < ActiveSupport::TestCase
assert @params.include? 'person'
assert_not @params.include? :gorilla
end
+
+ test "scalar values should be filtered when array or hash is specified" do
+ params = ActionController::Parameters.new(foo: "bar")
+
+ assert params.permit(:foo).has_key?(:foo)
+ refute params.permit(foo: []).has_key?(:foo)
+ refute params.permit(foo: [:bar]).has_key?(:foo)
+ refute params.permit(foo: :bar).has_key?(:foo)
+ end
end