From 1f7ed4531d52e7f3ff9c9bf32e214a2f86d538aa Mon Sep 17 00:00:00 2001 From: Ameir Abdeldayem Date: Thu, 11 Feb 2021 19:42:06 -0500 Subject: [PATCH] Add test case. --- test/test_deep_merge.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/test_deep_merge.rb b/test/test_deep_merge.rb index 2fffb12..373726e 100644 --- a/test/test_deep_merge.rb +++ b/test/test_deep_merge.rb @@ -99,6 +99,12 @@ def test_deep_merge DeepMerge::deep_merge!(hash_src, hash_dst, {:sort_merged_arrays => true}) assert_equal(["1","2","3","4"].sort, hash_dst['property']) + # hashes with a false value; do not overwrite keys (like having a defaults hash and a user-defined hash) + hash_src = {"name" => true, "name1" => "value1"} + hash_dst = {"name" => false, "name1" => "value"} + DeepMerge::deep_merge!(hash_src, hash_dst, preserve_unmergeables: true) + assert_equal({"name" => false, "name1" => "value"}, hash_dst) + # hashes holding hashes holding arrays (array with duplicate elements is merged with dest then src hash_src = {"property" => {"bedroom_count" => ["1", "2"], "bathroom_count" => ["1", "4+"]}} hash_dst = {"property" => {"bedroom_count" => ["3", "2"], "bathroom_count" => ["2"]}}