39 lines
617 B
Go
39 lines
617 B
Go
package mergo_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.ct129.com/cmesh/mergo"
|
|
)
|
|
|
|
type user struct {
|
|
Name string
|
|
}
|
|
|
|
type token struct {
|
|
User *user
|
|
Token *string
|
|
}
|
|
|
|
func TestIssue149(t *testing.T) {
|
|
dest := &token{
|
|
User: &user{
|
|
Name: "destination",
|
|
},
|
|
Token: nil,
|
|
}
|
|
tokenValue := "Issue149"
|
|
src := &token{
|
|
User: nil,
|
|
Token: &tokenValue,
|
|
}
|
|
if err := mergo.Merge(dest, src, mergo.WithOverwriteWithEmptyValue); err != nil {
|
|
t.Error(err)
|
|
}
|
|
if dest.User != nil {
|
|
t.Errorf("expected nil User, got %q", dest.User)
|
|
}
|
|
if dest.Token == nil {
|
|
t.Errorf("expected not nil Token, got %q", *dest.Token)
|
|
}
|
|
}
|