MCPcopy
hub / github.com/grpc/grpc-go / TestStringSlice

Method TestStringSlice

benchmark/flags/flags_test.go:125–153  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

123}
124
125func (s) TestStringSlice(t *testing.T) {
126 defaultVal := []string{"bar", "baz"}
127 tests := []struct {
128 args string
129 wantVal []string
130 wantErr bool
131 }{
132 {"-name=foobar", []string{"foobar"}, false},
133 {"-name=foo,bar", []string{"foo", "bar"}, false},
134 {`-name="foo,bar",baz`, []string{"foo,bar", "baz"}, false},
135 {`-name="foo,bar""",baz`, []string{`foo,bar"`, "baz"}, false},
136 }
137
138 for _, test := range tests {
139 flag.CommandLine = flag.NewFlagSet("test", flag.ContinueOnError)
140 var w = StringSlice("name", defaultVal, "usage")
141 err := flag.CommandLine.Parse([]string{test.args})
142 switch {
143 case !test.wantErr && err != nil:
144 t.Errorf("failed to parse command line args {%v}: %v", test.args, err)
145 case test.wantErr && err == nil:
146 t.Errorf("flag.Parse(%v) = nil, want non-nil error", test.args)
147 default:
148 if !reflect.DeepEqual(*w, test.wantVal) {
149 t.Errorf("flag value is %v, want %v", *w, test.wantVal)
150 }
151 }
152 }
153}

Callers

nothing calls this directly

Calls 3

StringSliceFunction · 0.85
ParseMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected