MCPcopy Create free account
hub / github.com/bracesdev/errtrace / TestParseFormatFlag

Function TestParseFormatFlag

cmd/errtrace/main_test.go:280–328  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

278}
279
280func TestParseFormatFlag(t *testing.T) {
281 tests := []struct {
282 name string
283 give []string
284 want format
285 }{
286 {
287 name: "default",
288 want: formatAuto,
289 },
290 {
291 name: "auto explicit",
292 give: []string{"-format=auto"},
293 want: formatAuto,
294 },
295 {
296 name: "always",
297 give: []string{"-format=always"},
298 want: formatAlways,
299 },
300 {
301 name: "always explicit",
302 give: []string{"-format"},
303 want: formatAlways,
304 },
305 {
306 name: "never",
307 give: []string{"-format=never"},
308 want: formatNever,
309 },
310 }
311
312 for _, tt := range tests {
313 t.Run(tt.name, func(t *testing.T) {
314 flag := flag.NewFlagSet(t.Name(), flag.ContinueOnError)
315 flag.SetOutput(testWriter{t})
316
317 var got format
318 flag.Var(&got, "format", "")
319 if err := flag.Parse(tt.give); err != nil {
320 t.Fatal(err)
321 }
322
323 if want, got := tt.want, got; got != want {
324 t.Errorf("got %v, want %v", got, want)
325 }
326 })
327 }
328}
329
330func TestFormatFlagError(t *testing.T) {
331 var stderr bytes.Buffer

Callers

nothing calls this directly

Calls 2

RunMethod · 0.80
ParseMethod · 0.45

Tested by

no test coverage detected