(t *testing.T)
| 3592 | } |
| 3593 | |
| 3594 | func TestArrayDiveValidation(t *testing.T) { |
| 3595 | validate := New() |
| 3596 | |
| 3597 | arr := []string{"ok", "", "ok"} |
| 3598 | |
| 3599 | errs := validate.Var(arr, "len=3,dive,required") |
| 3600 | NotEqual(t, errs, nil) |
| 3601 | Equal(t, len(errs.(ValidationErrors)), 1) |
| 3602 | AssertError(t, errs, "[1]", "[1]", "[1]", "[1]", "required") |
| 3603 | |
| 3604 | errs = validate.Var(arr, "len=2,dive,required") |
| 3605 | NotEqual(t, errs, nil) |
| 3606 | Equal(t, len(errs.(ValidationErrors)), 1) |
| 3607 | AssertError(t, errs, "", "", "", "", "len") |
| 3608 | |
| 3609 | type BadDive struct { |
| 3610 | Name string `validate:"dive"` |
| 3611 | } |
| 3612 | |
| 3613 | bd := &BadDive{ |
| 3614 | Name: "TEST", |
| 3615 | } |
| 3616 | |
| 3617 | PanicMatches(t, func() { _ = validate.Struct(bd) }, "dive error! can't dive on a non slice or map") |
| 3618 | |
| 3619 | type Test struct { |
| 3620 | Errs []string `validate:"gt=0,dive,required"` |
| 3621 | } |
| 3622 | |
| 3623 | test := &Test{ |
| 3624 | Errs: []string{"ok", "", "ok"}, |
| 3625 | } |
| 3626 | |
| 3627 | errs = validate.Struct(test) |
| 3628 | NotEqual(t, errs, nil) |
| 3629 | Equal(t, len(errs.(ValidationErrors)), 1) |
| 3630 | AssertError(t, errs, "Test.Errs[1]", "Test.Errs[1]", "Errs[1]", "Errs[1]", "required") |
| 3631 | |
| 3632 | test = &Test{ |
| 3633 | Errs: []string{"ok", "ok", ""}, |
| 3634 | } |
| 3635 | |
| 3636 | errs = validate.Struct(test) |
| 3637 | NotEqual(t, errs, nil) |
| 3638 | Equal(t, len(errs.(ValidationErrors)), 1) |
| 3639 | AssertError(t, errs, "Test.Errs[2]", "Test.Errs[2]", "Errs[2]", "Errs[2]", "required") |
| 3640 | |
| 3641 | type TestMultiDimensional struct { |
| 3642 | Errs [][]string `validate:"gt=0,dive,dive,required"` |
| 3643 | } |
| 3644 | |
| 3645 | var errArray [][]string |
| 3646 | |
| 3647 | errArray = append(errArray, []string{"ok", "", ""}) |
| 3648 | errArray = append(errArray, []string{"ok", "", ""}) |
| 3649 | |
| 3650 | tm := &TestMultiDimensional{ |
| 3651 | Errs: errArray, |
nothing calls this directly
no test coverage detected
searching dependent graphs…