regain 100% test coverage
joeybloggs
7 years ago
2932 | 2932 | |
2933 | 2933 | errs = validate.Struct(msp2) |
2934 | 2934 | Equal(t, errs, nil) |
2935 | ||
2936 | v2 := New() | |
2937 | v2.RegisterTagNameFunc(func(fld reflect.StructField) string { | |
2938 | name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0] | |
2939 | ||
2940 | if name == "-" { | |
2941 | return "" | |
2942 | } | |
2943 | ||
2944 | return name | |
2945 | }) | |
2946 | ||
2947 | type MapDiveJsonTest struct { | |
2948 | Map map[string]string `validate:"required,gte=1,dive,gte=1" json:"MyName"` | |
2949 | } | |
2950 | ||
2951 | mdjt := &MapDiveJsonTest{ | |
2952 | Map: map[string]string{ | |
2953 | "Key1": "Value1", | |
2954 | "Key2": "", | |
2955 | }, | |
2956 | } | |
2957 | ||
2958 | err := v2.Struct(mdjt) | |
2959 | NotEqual(t, err, nil) | |
2960 | ||
2961 | errs = err.(ValidationErrors) | |
2962 | fe := getError(errs, "MapDiveJsonTest.MyName[Key2]", "MapDiveJsonTest.Map[Key2]") | |
2963 | NotEqual(t, fe, nil) | |
2964 | Equal(t, fe.Tag(), "gte") | |
2965 | Equal(t, fe.ActualTag(), "gte") | |
2966 | Equal(t, fe.Field(), "MyName[Key2]") | |
2967 | Equal(t, fe.StructField(), "Map[Key2]") | |
2935 | 2968 | } |
2936 | 2969 | |
2937 | 2970 | func TestArrayDiveValidation(t *testing.T) { |