aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2015-07-19 15:57:57 -0600
committerSean Griffin <sean@seantheprogrammer.com>2015-07-19 15:57:57 -0600
commite19acbb8831e214eb38d589bf8c424edf80c2970 (patch)
tree7df65f58486ae70559a90905ff7bacc39204fde4 /actionpack/test
parent6765d4874e7afaa8da0c7790710fe43726ef412c (diff)
parent780af27bf9135be8cc4ae1a9c1ce4c9b4d15fd4b (diff)
downloadrails-e19acbb8831e214eb38d589bf8c424edf80c2970.tar.gz
rails-e19acbb8831e214eb38d589bf8c424edf80c2970.tar.bz2
rails-e19acbb8831e214eb38d589bf8c424edf80c2970.zip
Merge pull request #20936 from repinel/fix-params-fetch-exception-overwritten
Fix exception overwritten for parameters fetch method
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/parameters/parameters_permit_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/actionpack/test/controller/parameters/parameters_permit_test.rb b/actionpack/test/controller/parameters/parameters_permit_test.rb
index 05532ec21b..2dd2826196 100644
--- a/actionpack/test/controller/parameters/parameters_permit_test.rb
+++ b/actionpack/test/controller/parameters/parameters_permit_test.rb
@@ -194,6 +194,19 @@ class ParametersPermitTest < ActiveSupport::TestCase
assert_equal "monkey", @params.fetch(:foo) { "monkey" }
end
+ test "fetch doesnt raise ParameterMissing exception if there is a default that is nil" do
+ assert_equal nil, @params.fetch(:foo, nil)
+ assert_equal nil, @params.fetch(:foo) { nil }
+ end
+
+ test 'KeyError in fetch block should not be coverd up' do
+ params = ActionController::Parameters.new
+ e = assert_raises(KeyError) do
+ params.fetch(:missing_key) { {}.fetch(:also_missing) }
+ end
+ assert_match(/:also_missing$/, e.message)
+ end
+
test "not permitted is sticky beyond merges" do
assert !@params.merge(a: "b").permitted?
end