(t *testing.T)
| 562 | } |
| 563 | |
| 564 | func TestCommandSkipFlagParsing(t *testing.T) { |
| 565 | cases := []struct { |
| 566 | testArgs *stringSliceArgs |
| 567 | expectedArgs *stringSliceArgs |
| 568 | expectedErr error |
| 569 | }{ |
| 570 | {testArgs: &stringSliceArgs{v: []string{"some-command", "some-arg", "--flag", "foo"}}, expectedArgs: &stringSliceArgs{v: []string{"some-arg", "--flag", "foo"}}, expectedErr: nil}, |
| 571 | {testArgs: &stringSliceArgs{v: []string{"some-command", "some-arg", "--flag=foo"}}, expectedArgs: &stringSliceArgs{v: []string{"some-arg", "--flag=foo"}}, expectedErr: nil}, |
| 572 | } |
| 573 | |
| 574 | for _, c := range cases { |
| 575 | t.Run(strings.Join(c.testArgs.Slice(), " "), func(t *testing.T) { |
| 576 | var args Args |
| 577 | cmd := &Command{ |
| 578 | SkipFlagParsing: true, |
| 579 | Name: "some-command", |
| 580 | Flags: []Flag{ |
| 581 | &StringFlag{Name: "flag"}, |
| 582 | }, |
| 583 | Action: func(_ context.Context, cmd *Command) error { |
| 584 | args = cmd.Args() |
| 585 | return nil |
| 586 | }, |
| 587 | Writer: io.Discard, |
| 588 | } |
| 589 | |
| 590 | err := cmd.Run(buildTestContext(t), c.testArgs.Slice()) |
| 591 | assert.Equal(t, c.expectedErr, err) |
| 592 | assert.Equal(t, c.expectedArgs, args) |
| 593 | }) |
| 594 | } |
| 595 | } |
| 596 | |
| 597 | func TestCommand_Run_CustomShellCompleteAcceptsMalformedFlags(t *testing.T) { |
| 598 | cases := []struct { |
nothing calls this directly
no test coverage detected