MCPcopy
hub / github.com/spf13/pflag / testParseWithUnknownFlags

Function testParseWithUnknownFlags

flag_test.go:450–524  ·  view source on GitHub ↗
(f *FlagSet, t *testing.T, setUnknownFlags func(f *FlagSet))

Source from the content-addressed store, hash-verified

448}
449
450func testParseWithUnknownFlags(f *FlagSet, t *testing.T, setUnknownFlags func(f *FlagSet)) {
451 if f.Parsed() {
452 t.Error("f.Parse() = true before Parse")
453 }
454 setUnknownFlags(f)
455
456 f.BoolP("boola", "a", false, "bool value")
457 f.BoolP("boolb", "b", false, "bool2 value")
458 f.BoolP("boolc", "c", false, "bool3 value")
459 f.BoolP("boold", "d", false, "bool4 value")
460 f.BoolP("boole", "e", false, "bool4 value")
461 f.StringP("stringa", "s", "0", "string value")
462 f.StringP("stringz", "z", "0", "string value")
463 f.StringP("stringx", "x", "0", "string value")
464 f.StringP("stringy", "y", "0", "string value")
465 f.StringP("stringo", "o", "0", "string value")
466 f.Lookup("stringx").NoOptDefVal = "1"
467 args := []string{
468 "-ab",
469 "-cs=xx",
470 "--stringz=something",
471 "--unknown1",
472 "unknown1Value",
473 "-d=true",
474 "-x",
475 "--unknown2=unknown2Value",
476 "-u=unknown3Value",
477 "-p",
478 "unknown4Value",
479 "-q", // another unknown with bool value
480 "-y",
481 "ee",
482 "--unknown7=unknown7value",
483 "--stringo=ovalue",
484 "--unknown8=unknown8value",
485 "--boole",
486 "--unknown6",
487 "",
488 "-uuuuu",
489 "",
490 "--unknown10",
491 "--unknown11",
492 }
493 want := []string{
494 "boola", "true",
495 "boolb", "true",
496 "boolc", "true",
497 "stringa", "xx",
498 "stringz", "something",
499 "boold", "true",
500 "stringx", "1",
501 "stringy", "ee",
502 "stringo", "ovalue",
503 "boole", "true",
504 }
505 got := []string{}
506 store := func(flag *Flag, value string) error {
507 got = append(got, flag.Name)

Callers 2

TestIgnoreUnknownFlagsFunction · 0.85

Calls 6

ParsedMethod · 0.80
BoolPMethod · 0.80
StringPMethod · 0.80
LookupMethod · 0.80
ParseAllMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected