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

Function TestCommand_StopOnNthArg

command_stop_on_nth_arg_test.go:11–120  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestCommand_StopOnNthArg(t *testing.T) {
12 tests := []struct {
13 name string
14 stopOnNthArg *int
15 testArgs []string
16 expectedArgs []string
17 expectedFlag string
18 expectedBool bool
19 }{
20 {
21 name: "nil StopOnNthArg - normal parsing",
22 stopOnNthArg: nil,
23 testArgs: []string{"cmd", "--flag", "value", "arg1", "--bool", "arg2"},
24 expectedArgs: []string{"arg1", "arg2"},
25 expectedFlag: "value",
26 expectedBool: true,
27 },
28 {
29 name: "stop after 0 args - all become args",
30 stopOnNthArg: intPtr(0),
31 testArgs: []string{"cmd", "--flag", "value", "arg1", "--bool", "arg2"},
32 expectedArgs: []string{"--flag", "value", "arg1", "--bool", "arg2"},
33 expectedFlag: "",
34 expectedBool: false,
35 },
36 {
37 name: "stop after 1 arg",
38 stopOnNthArg: intPtr(1),
39 testArgs: []string{"cmd", "--flag", "value", "arg1", "--bool", "arg2"},
40 expectedArgs: []string{"arg1", "--bool", "arg2"},
41 expectedFlag: "value",
42 expectedBool: false,
43 },
44 {
45 name: "stop after 2 args",
46 stopOnNthArg: intPtr(2),
47 testArgs: []string{"cmd", "--flag", "value", "arg1", "arg2", "--bool", "arg3"},
48 expectedArgs: []string{"arg1", "arg2", "--bool", "arg3"},
49 expectedFlag: "value",
50 expectedBool: false,
51 },
52 {
53 name: "mixed flags and args - stop after 1",
54 stopOnNthArg: intPtr(1),
55 testArgs: []string{"cmd", "--flag", "value", "--bool", "arg1", "--flag2", "value2"},
56 expectedArgs: []string{"arg1", "--flag2", "value2"},
57 expectedFlag: "value",
58 expectedBool: true,
59 },
60 {
61 name: "args before flags - stop after 1",
62 stopOnNthArg: intPtr(1),
63 testArgs: []string{"cmd", "arg1", "--flag", "value", "--bool"},
64 expectedArgs: []string{"arg1", "--flag", "value", "--bool"},
65 expectedFlag: "",
66 expectedBool: false,
67 },
68 {

Callers

nothing calls this directly

Calls 5

RunMethod · 0.95
ArgsMethod · 0.95
SliceMethod · 0.95
intPtrFunction · 0.85
buildTestContextFunction · 0.85

Tested by

no test coverage detected