1package mergo_test
2
3import (
4	"testing"
5
6	"github.com/imdario/mergo"
7)
8
9func TestIssue121WithSliceDeepCopy(t *testing.T) {
10	dst := map[string]interface{}{
11		"inter": map[string]interface{}{
12			"a": "1",
13			"b": "2",
14		},
15	}
16
17	src := map[string]interface{}{
18		"inter": map[string]interface{}{
19			"a": "3",
20			"c": "4",
21		},
22	}
23
24	if err := mergo.Merge(&dst, src, mergo.WithSliceDeepCopy); err != nil {
25		t.Errorf("Error during the merge: %v", err)
26	}
27
28	if dst["inter"].(map[string]interface{})["a"].(string) != "3" {
29		t.Error("inter.a should equal '3'")
30	}
31
32	if dst["inter"].(map[string]interface{})["c"].(string) != "4" {
33		t.Error("inter.c should equal '4'")
34	}
35}
36