github.com/mattyr/nomad@v0.3.3-0.20160919021406-3485a065154a/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{"address", "no-color", "region"}, 22 }, 23 } 24 25 for i, tc := range cases { 26 var m Meta 27 fs := m.FlagSet("foo", tc.Flags) 28 29 actual := make([]string, 0, 0) 30 fs.VisitAll(func(f *flag.Flag) { 31 actual = append(actual, f.Name) 32 }) 33 sort.Strings(actual) 34 sort.Strings(tc.Expected) 35 36 if !reflect.DeepEqual(actual, tc.Expected) { 37 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 38 i, tc.Flags, tc.Expected, actual) 39 } 40 } 41 }