aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2016-10-18 08:17:54 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2016-10-18 18:04:40 +0900
commit6d7f35ecb1ab6d58bb81ecbf5ff18009fb002425 (patch)
tree8e88a9cd29faa5e1595cf9ee6575614c160ab1e4 /actionpack/test/controller
parent8e76f6959efc44c8575b721fdf53d06ea9430fed (diff)
downloadrails-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/controller')
-rw-r--r--actionpack/test/controller/parameters/parameters_permit_test.rb17
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" }