MCPcopy
hub / github.com/urfave/cli / TestCommandSkipFlagParsing

Function TestCommandSkipFlagParsing

command_test.go:564–595  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

562}
563
564func 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
597func TestCommand_Run_CustomShellCompleteAcceptsMalformedFlags(t *testing.T) {
598 cases := []struct {

Callers

nothing calls this directly

Calls 4

RunMethod · 0.95
ArgsMethod · 0.95
buildTestContextFunction · 0.85
SliceMethod · 0.65

Tested by

no test coverage detected