Codebase list golang-github-imdario-mergo / run/a962cd97-6e5e-4cd5-a9cf-58dfd3df3e48/upstream issue90_test.go
run/a962cd97-6e5e-4cd5-a9cf-58dfd3df3e48/upstream

Tree @run/a962cd97-6e5e-4cd5-a9cf-58dfd3df3e48/upstream (Download .tar.gz)

issue90_test.go @run/a962cd97-6e5e-4cd5-a9cf-58dfd3df3e48/upstream

6e78443
 
 
 
 
d75ad88
 
6e78443
 
 
 
 
 
 
d75ad88
 
 
6e78443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package mergo_test

import (
	"reflect"
	"testing"

	"dario.cat/mergo"
)

type structWithStringMap struct {
	Data map[string]string
}

func TestIssue90(t *testing.T) {
	dst := map[string]structWithStringMap{
		"struct": {
			Data: nil,
		},
	}
	src := map[string]structWithStringMap{
		"struct": {
			Data: map[string]string{
				"foo": "bar",
			},
		},
	}
	expected := map[string]structWithStringMap{
		"struct": {
			Data: map[string]string{
				"foo": "bar",
			},
		},
	}

	err := mergo.Merge(&dst, src, mergo.WithOverride)
	if err != nil {
		t.Errorf("unexpected error %v", err)
	}

	if !reflect.DeepEqual(dst, expected) {
		t.Errorf("expected: %#v\ngot: %#v", expected, dst)
	}
}