diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2016-10-18 08:17:54 +0900 |
---|---|---|
committer | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2016-10-18 18:04:40 +0900 |
commit | 6d7f35ecb1ab6d58bb81ecbf5ff18009fb002425 (patch) | |
tree | 8e88a9cd29faa5e1595cf9ee6575614c160ab1e4 /actionpack/test | |
parent | 8e76f6959efc44c8575b721fdf53d06ea9430fed (diff) | |
download | rails-6d7f35ecb1ab6d58bb81ecbf5ff18009fb002425.tar.gz rails-6d7f35ecb1ab6d58bb81ecbf5ff18009fb002425.tar.bz2 rails-6d7f35ecb1ab6d58bb81ecbf5ff18009fb002425.zip |
add `ActionController::Parameters#merge!`
This method has the same behavior as `Hash#merge!`, returns current
`ActionController::Parameters`.
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/controller/parameters/parameters_permit_test.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/parameters_permit_test.rb b/actionpack/test/controller/parameters/parameters_permit_test.rb index 728d8e1279..e66c2807c3 100644 --- a/actionpack/test/controller/parameters/parameters_permit_test.rb +++ b/actionpack/test/controller/parameters/parameters_permit_test.rb @@ -244,6 +244,23 @@ class ParametersPermitTest < ActiveSupport::TestCase assert merged_params[:id] end + test "not permitted is sticky beyond merge!" do + assert_not @params.merge!(a: "b").permitted? + end + + test "permitted is sticky beyond merge!" do + @params.permit! + assert @params.merge!(a: "b").permitted? + end + + test "merge! with parameters" do + other_params = ActionController::Parameters.new(id: "1234").permit! + @params.merge!(other_params) + + assert_equal "1234", @params[:id] + assert_equal "32", @params[:person][:age] + end + test "modifying the parameters" do @params[:person][:hometown] = "Chicago" @params[:person][:family] = { brother: "Jonas" } |