github.com/emate/nomad@v0.8.2-wo-binpacking/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-skip-verify", 33 "token", 34 }, 35 }, 36 } 37 38 for i, tc := range cases { 39 var m Meta 40 fs := m.FlagSet("foo", tc.Flags) 41 42 actual := make([]string, 0, 0) 43 fs.VisitAll(func(f *flag.Flag) { 44 actual = append(actual, f.Name) 45 }) 46 sort.Strings(actual) 47 sort.Strings(tc.Expected) 48 49 if !reflect.DeepEqual(actual, tc.Expected) { 50 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 51 i, tc.Flags, tc.Expected, actual) 52 } 53 } 54 }