github.com/diptanu/nomad@v0.5.7-0.20170516172507-d72e86cbe3d9/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  }