aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2018-04-02 10:34:08 -0700
committerGitHub <noreply@github.com>2018-04-02 10:34:08 -0700
commit073168358740b33831f0963242ba1de1d0ddb0cc (patch)
treeb5a4cb4cc6d9cebc8cb342f0272f99b1ba1118c4 /actionpack/test
parent91f4e335b59a794e1f1d5c2a13b286c38aec9f85 (diff)
parentd65d74b9158acf1ca79508a4ed49ffc712bdb983 (diff)
downloadrails-073168358740b33831f0963242ba1de1d0ddb0cc.tar.gz
rails-073168358740b33831f0963242ba1de1d0ddb0cc.tar.bz2
rails-073168358740b33831f0963242ba1de1d0ddb0cc.zip
Merge pull request #32336 from vincedevendra/allow_mutating_dig_return_value
Make mutating params#dig return value mutate underlying params
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/parameters/accessors_test.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/accessors_test.rb b/actionpack/test/controller/parameters/accessors_test.rb
index 07a897a103..674b2c6266 100644
--- a/actionpack/test/controller/parameters/accessors_test.rb
+++ b/actionpack/test/controller/parameters/accessors_test.rb
@@ -284,4 +284,12 @@ class ParametersAccessorsTest < ActiveSupport::TestCase
value.is_a?(ActionController::Parameters)
end
end
+
+ test "mutating #dig return value mutates underlying parameters" do
+ @params.dig(:person, :name)[:first] = "Bill"
+ assert_equal "Bill", @params.dig(:person, :name, :first)
+
+ @params.dig(:person, :addresses)[0] = { city: "Boston", state: "Massachusetts" }
+ assert_equal "Boston", @params.dig(:person, :addresses, 0, :city)
+ end
end