github.com/hooklift/nomad@v0.5.7-0.20170407200202-db11e7dd7b55/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 cases := []struct { 12 Flags FlagSetFlags 13 Expected []string 14 }{ 15 { 16 FlagSetNone, 17 []string{}, 18 }, 19 { 20 FlagSetClient, 21 []string{ 22 "address", 23 "no-color", 24 "region", 25 "ca-cert", 26 "ca-path", 27 "client-cert", 28 "client-key", 29 "insecure", 30 "tls-skip-verify", 31 }, 32 }, 33 } 34 35 for i, tc := range cases { 36 var m Meta 37 fs := m.FlagSet("foo", tc.Flags) 38 39 actual := make([]string, 0, 0) 40 fs.VisitAll(func(f *flag.Flag) { 41 actual = append(actual, f.Name) 42 }) 43 sort.Strings(actual) 44 sort.Strings(tc.Expected) 45 46 if !reflect.DeepEqual(actual, tc.Expected) { 47 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 48 i, tc.Flags, tc.Expected, actual) 49 } 50 } 51 }