github.com/hhrutter/nomad@v0.6.0-rc2.0.20170723054333-80c4b03f0705/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 "ca-cert", 27 "ca-path", 28 "client-cert", 29 "client-key", 30 "insecure", 31 "tls-skip-verify", 32 }, 33 }, 34 } 35 36 for i, tc := range cases { 37 var m Meta 38 fs := m.FlagSet("foo", tc.Flags) 39 40 actual := make([]string, 0, 0) 41 fs.VisitAll(func(f *flag.Flag) { 42 actual = append(actual, f.Name) 43 }) 44 sort.Strings(actual) 45 sort.Strings(tc.Expected) 46 47 if !reflect.DeepEqual(actual, tc.Expected) { 48 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 49 i, tc.Flags, tc.Expected, actual) 50 } 51 } 52 }