| 448 | } |
| 449 | |
| 450 | func 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) |