@ -119,6 +119,79 @@ func AssertError(t *testing.T, errs ValidationErrors, key, field, expectedTag st
EqualSkip ( t , 2 , val . Tag , expectedTag )
}
func TestSliceMapArrayChanFuncPtrInterfaceRequiredValidation ( t * testing . T ) {
var m map [ string ] string
errs := validate . Field ( m , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
m = map [ string ] string { }
errs = validate . Field ( m , "required" )
Equal ( t , errs , nil )
var arr [ 5 ] string
errs = validate . Field ( arr , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
arr [ 0 ] = "ok"
errs = validate . Field ( arr , "required" )
Equal ( t , errs , nil )
var s [ ] string
errs = validate . Field ( s , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
s = [ ] string { }
errs = validate . Field ( s , "required" )
Equal ( t , errs , nil )
var c chan string
errs = validate . Field ( c , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
c = make ( chan string )
errs = validate . Field ( c , "required" )
Equal ( t , errs , nil )
var tst * int
errs = validate . Field ( tst , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
one := 1
tst = & one
errs = validate . Field ( tst , "required" )
Equal ( t , errs , nil )
var iface interface { }
errs = validate . Field ( iface , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
errs = validate . Field ( iface , "omitempty,required" )
Equal ( t , errs , nil )
errs = validate . Field ( iface , "" )
Equal ( t , errs , nil )
var f func ( string )
errs = validate . Field ( f , "required" )
NotEqual ( t , errs , nil )
AssertError ( t , errs , "" , "" , "required" )
f = func ( name string ) { }
errs = validate . Field ( f , "required" )
Equal ( t , errs , nil )
}
func TestDatePtrValidationIssueValidation ( t * testing . T ) {
type Test struct {
@ -3262,14 +3335,14 @@ func TestStructSliceValidation(t *testing.T) {
Min : [ ] int { 1 , 2 } ,
Max : [ ] int { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ,
MinMax : [ ] int { 1 , 2 , 3 , 4 , 5 } ,
OmitEmpty : [ ] int { } ,
OmitEmpty : nil ,
}
errs := validate . Struct ( tSuccess )
Equal ( t , errs , nil )
tFail := & TestSlice {
Required : [ ] int { } ,
Required : nil ,
Len : [ ] int { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 1 } ,
Min : [ ] int { } ,
Max : [ ] int { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 1 } ,