From fa30dd6d2e3151ac2be16673d40cb458a76f1dbe Mon Sep 17 00:00:00 2001 From: Simon Eskildsen Date: Fri, 10 Jul 2015 03:11:37 +0000 Subject: active_support/indifferent_hash: dont raise on to_hash when default_proc raises --- activesupport/test/core_ext/hash_ext_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'activesupport/test') diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb index 137a03873e..6f66d70217 100644 --- a/activesupport/test/core_ext/hash_ext_test.rb +++ b/activesupport/test/core_ext/hash_ext_test.rb @@ -1015,6 +1015,20 @@ class HashExtTest < ActiveSupport::TestCase new_hash.default = 2 assert_equal 2, new_hash[:non_existant] end + + def test_to_hash_with_raising_default_proc + hash = HashWithIndifferentAccess.new + hash.default_proc = proc { |h, k| raise "walrus" } + + assert_nothing_raised { hash.to_hash } + end + + def test_new_from_hash_copying_default_should_not_raise_when_default_proc_does + hash = Hash.new + hash.default_proc = proc { |h, k| raise "walrus" } + + assert_nothing_raised { HashWithIndifferentAccess.new_from_hash_copying_default(hash) } + end end class IWriteMyOwnXML -- cgit v1.2.3