github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/validate/validatetpl/ipv4_test.go (about) 1 package validatetpl 2 3 import ( 4 "testing" 5 ) 6 7 func TestValidateIPv4(t *testing.T) { 8 type args struct { 9 v interface{} 10 } 11 tests := []struct { 12 name string 13 args args 14 want bool 15 want1 string 16 }{ 17 { 18 name: "normal", 19 args: args{ 20 v: "134.255.255.1", 21 }, 22 want: true, 23 want1: "", 24 }, 25 { 26 name: "5part", 27 args: args{ 28 v: "134.255.255.1.1", 29 }, 30 want: false, 31 want1: InvalidIPv4Value, 32 }, 33 { 34 name: "withLetter", 35 args: args{ 36 v: "134.255.255.2a", 37 }, 38 want: false, 39 want1: InvalidIPv4Value, 40 }, 41 { 42 name: "over255", 43 args: args{ 44 v: "134.255.255.256", 45 }, 46 want: false, 47 want1: InvalidIPv4Value, 48 }, 49 { 50 name: "intValue", 51 args: args{ 52 v: 255, 53 }, 54 want: false, 55 want1: InvalidIPv4Type, 56 }, 57 { 58 name: "invalidIP", 59 args: args{ 60 v: "10.", 61 }, 62 want: false, 63 want1: InvalidIPv4Value, 64 }, 65 } 66 for _, tt := range tests { 67 got, got1 := ValidateIPv4(tt.args.v) 68 if got != tt.want { 69 t.Errorf("%q. ValidateIPv4() got = %v, want %v", tt.name, got, tt.want) 70 } 71 if got1 != tt.want1 { 72 t.Errorf("%q. ValidateIPv4() got1 = %v, want %v", tt.name, got1, tt.want1) 73 } 74 } 75 }