github.com/lingyao2333/mo-zero@v1.4.1/core/mapping/fieldoptions_test.go (about) 1 package mapping 2 3 import ( 4 "reflect" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 type Bar struct { 11 Val string `json:"val"` 12 } 13 14 func TestFieldOptionOptionalDep(t *testing.T) { 15 var bar Bar 16 rt := reflect.TypeOf(bar) 17 for i := 0; i < rt.NumField(); i++ { 18 field := rt.Field(i) 19 val, opt, err := parseKeyAndOptions(jsonTagKey, field) 20 assert.Equal(t, "val", val) 21 assert.Nil(t, opt) 22 assert.Nil(t, err) 23 } 24 25 // check nil working 26 var o *fieldOptions 27 check := func(o *fieldOptions) { 28 assert.Equal(t, 0, len(o.optionalDep())) 29 } 30 check(o) 31 }