aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorFrancesco Rodriguez <lrodriguezsanc@gmail.com>2012-11-30 11:24:16 -0500
committerFrancesco Rodriguez <lrodriguezsanc@gmail.com>2012-11-30 11:24:16 -0500
commit83482256efec140b53adde50ba8263af6af7a016 (patch)
tree38ac54edca8c8f450d272b034e90d39c4eb387c3 /actionpack/test
parent64c53d7ce40006bdfea59102bdac4cb265d3ecd1 (diff)
downloadrails-83482256efec140b53adde50ba8263af6af7a016.tar.gz
rails-83482256efec140b53adde50ba8263af6af7a016.tar.bz2
rails-83482256efec140b53adde50ba8263af6af7a016.zip
hash filters should be accessed with symbols or strings
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/parameters/nested_parameters_test.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/nested_parameters_test.rb b/actionpack/test/controller/parameters/nested_parameters_test.rb
index d287e79cba..6df849c4e2 100644
--- a/actionpack/test/controller/parameters/nested_parameters_test.rb
+++ b/actionpack/test/controller/parameters/nested_parameters_test.rb
@@ -36,6 +36,31 @@ class NestedParametersTest < ActiveSupport::TestCase
assert_nil permitted[:magazine]
end
+ test "permitted nested parameters with a string or a symbol as a key" do
+ params = ActionController::Parameters.new({
+ book: {
+ 'authors' => [
+ { name: 'William Shakespeare', born: '1564-04-26' },
+ { name: 'Christopher Marlowe' }
+ ]
+ }
+ })
+
+ permitted = params.permit book: [ { 'authors' => [ :name ] } ]
+
+ assert_equal 'William Shakespeare', permitted[:book]['authors'][0][:name]
+ assert_equal 'William Shakespeare', permitted[:book][:authors][0][:name]
+ assert_equal 'Christopher Marlowe', permitted[:book]['authors'][1][:name]
+ assert_equal 'Christopher Marlowe', permitted[:book][:authors][1][:name]
+
+ permitted = params.permit book: [ { authors: [ :name ] } ]
+
+ assert_equal 'William Shakespeare', permitted[:book]['authors'][0][:name]
+ assert_equal 'William Shakespeare', permitted[:book][:authors][0][:name]
+ assert_equal 'Christopher Marlowe', permitted[:book]['authors'][1][:name]
+ assert_equal 'Christopher Marlowe', permitted[:book][:authors][1][:name]
+ end
+
test "nested arrays with strings" do
params = ActionController::Parameters.new({
:book => {