blob: 33b78bc43c3712abcf443d7aa4972ddf63c45256 [file] [log] [blame]
package json
import (
"reflect"
"testing"
)
func TestLookupPtrToStruct(t *testing.T) {
type Elem struct {
Key string
Value string
}
type Outer struct {
Inner []Elem `json:"inner" patchStrategy:"merge" patchMergeKey:"key"`
}
outer := &Outer{}
elemType, patchStrategies, patchMergeKey, err := LookupPatchMetadataForStruct(reflect.TypeOf(outer), "inner")
if err != nil {
t.Fatal(err)
}
if elemType != reflect.TypeOf([]Elem{}) {
t.Errorf("elemType = %v, want: %v", elemType, reflect.TypeOf([]Elem{}))
}
if !reflect.DeepEqual(patchStrategies, []string{"merge"}) {
t.Errorf("patchStrategies = %v, want: %v", patchStrategies, []string{"merge"})
}
if patchMergeKey != "key" {
t.Errorf("patchMergeKey = %v, want: %v", patchMergeKey, "key")
}
}