feat(Go-StudyExample):2021/02/09:新增merge源码阅读和单测代码
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package mergo_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/imdario/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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user