github.com/thomasobenaus/nomad@v0.11.1/command/meta_test.go (about) 1 package command 2 3 import ( 4 "flag" 5 "reflect" 6 "sort" 7 "testing" 8 ) 9 10 func TestMeta_FlagSet(t *testing.T) { 11 t.Parallel() 12 cases := []struct { 13 Flags FlagSetFlags 14 Expected []string 15 }{ 16 { 17 FlagSetNone, 18 []string{}, 19 }, 20 { 21 FlagSetClient, 22 []string{ 23 "address", 24 "no-color", 25 "region", 26 "namespace", 27 "ca-cert", 28 "ca-path", 29 "client-cert", 30 "client-key", 31 "insecure", 32 "tls-server-name", 33 "tls-skip-verify", 34 "token", 35 }, 36 }, 37 } 38 39 for i, tc := range cases { 40 var m Meta 41 fs := m.FlagSet("foo", tc.Flags) 42 43 actual := make([]string, 0, 0) 44 fs.VisitAll(func(f *flag.Flag) { 45 actual = append(actual, f.Name) 46 }) 47 sort.Strings(actual) 48 sort.Strings(tc.Expected) 49 50 if !reflect.DeepEqual(actual, tc.Expected) { 51 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 52 i, tc.Flags, tc.Expected, actual) 53 } 54 } 55 }