提交 787d5b13 编写于 作者: G Gordon Chan

Add tests to ensure default proc is used when `HashWithIndifferentAccess' is...

Add tests to ensure default proc is used when `HashWithIndifferentAccess' is initialized with a block
上级 29a6a17a
...@@ -586,6 +586,8 @@ def test_indifferent_to_hash ...@@ -586,6 +586,8 @@ def test_indifferent_to_hash
roundtrip = mixed_with_default.with_indifferent_access.to_hash roundtrip = mixed_with_default.with_indifferent_access.to_hash
assert_equal @strings, roundtrip assert_equal @strings, roundtrip
assert_equal '1234', roundtrip.default assert_equal '1234', roundtrip.default
# Ensure nested hashes are not HashWithIndiffereneAccess
new_to_hash = @nested_mixed.with_indifferent_access.to_hash new_to_hash = @nested_mixed.with_indifferent_access.to_hash
assert_not new_to_hash.instance_of?(HashWithIndifferentAccess) assert_not new_to_hash.instance_of?(HashWithIndifferentAccess)
assert_not new_to_hash["a"].instance_of?(HashWithIndifferentAccess) assert_not new_to_hash["a"].instance_of?(HashWithIndifferentAccess)
...@@ -1516,6 +1518,16 @@ def test_from_trusted_xml_allows_symbol_and_yaml_types ...@@ -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>') assert_equal expected, Hash.from_trusted_xml('<product><name type="yaml">:value</name></product>')
end 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 def test_should_use_default_value_for_unknown_key
hash_wia = HashWithIndifferentAccess.new(3) hash_wia = HashWithIndifferentAccess.new(3)
assert_equal 3, hash_wia[:new_key] assert_equal 3, hash_wia[:new_key]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册