Skip to content

Commit

Permalink
Merge pull request #16356 from gchan/add-hwia-tests
Browse files Browse the repository at this point in the history
Add tests to ensure default proc is used when `HashWithIndifferentAccess' is initialized with a block
  • Loading branch information
senny committed Jul 31, 2014
2 parents 316b32d + 787d5b1 commit 7dd452c
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions activesupport/test/core_ext/hash_ext_test.rb
Expand Up @@ -586,6 +586,8 @@ def test_indifferent_to_hash
roundtrip = mixed_with_default.with_indifferent_access.to_hash
assert_equal @strings, roundtrip
assert_equal '1234', roundtrip.default

# Ensure nested hashes are not HashWithIndiffereneAccess
new_to_hash = @nested_mixed.with_indifferent_access.to_hash
assert_not new_to_hash.instance_of?(HashWithIndifferentAccess)
assert_not new_to_hash["a"].instance_of?(HashWithIndifferentAccess)
Expand Down Expand Up @@ -1516,6 +1518,16 @@ def test_from_trusted_xml_allows_symbol_and_yaml_types
assert_equal expected, Hash.from_trusted_xml('<product><name type="yaml">:value</name></product>')
end

def test_should_use_default_proc_for_unknown_key
hash_wia = HashWithIndifferentAccess.new { 1 + 2 }
assert_equal 3, hash_wia[:new_key]
end

def test_should_use_default_proc_if_no_key_is_supplied
hash_wia = HashWithIndifferentAccess.new { 1 + 2 }
assert_equal 3, hash_wia.default
end

def test_should_use_default_value_for_unknown_key
hash_wia = HashWithIndifferentAccess.new(3)
assert_equal 3, hash_wia[:new_key]
Expand Down

0 comments on commit 7dd452c

Please sign in to comment.