...
1 package mergo_test
2
3 import (
4 "testing"
5
6 "github.com/imdario/mergo"
7 )
8
9 type Foo struct {
10 Str string
11 Bslice []byte
12 }
13
14 func TestIssue33Merge(t *testing.T) {
15 dest := Foo{Str: "a"}
16 toMerge := Foo{
17 Str: "b",
18 Bslice: []byte{1, 2},
19 }
20
21 if err := mergo.Merge(&dest, toMerge); err != nil {
22 t.Errorf("Error while merging: %s", err)
23 }
24
25
26 if dest.Str != "a" {
27 t.Errorf("dest.Str should have not been override as it has a non-zero value: dest.Str(%v) != 'a'", dest.Str)
28 }
29
30 if err := mergo.Merge(&dest, toMerge, mergo.WithOverride); err != nil {
31 t.Errorf("Error while merging: %s", err)
32 }
33
34 if dest.Str != toMerge.Str {
35 t.Errorf("dest.Str should have been override: dest.Str(%v) != toMerge.Str(%v)", dest.Str, toMerge.Str)
36 }
37 }
38
View as plain text