You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
553 B
31 lines
553 B
package mapping |
|
|
|
import ( |
|
"reflect" |
|
"testing" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
type Bar struct { |
|
Val string `json:"val"` |
|
} |
|
|
|
func TestFieldOptionOptionalDep(t *testing.T) { |
|
var bar Bar |
|
rt := reflect.TypeOf(bar) |
|
for i := 0; i < rt.NumField(); i++ { |
|
field := rt.Field(i) |
|
val, opt, err := parseKeyAndOptions(jsonTagKey, field) |
|
assert.Equal(t, "val", val) |
|
assert.Nil(t, opt) |
|
assert.Nil(t, err) |
|
} |
|
|
|
// check nil working |
|
var o *fieldOptions |
|
check := func(o *fieldOptions) { |
|
assert.Equal(t, 0, len(o.optionalDep())) |
|
} |
|
check(o) |
|
}
|
|
|