@@ -33,19 +33,19 @@ func TestFindCmd(t *testing.T) {
33
33
cmd := newCmd ("root" , "" )
34
34
cmd .AddCmd (newCmd ("child1" , "" ))
35
35
cmd .AddCmd (newCmd ("child2" , "" ))
36
- res , err := cmd .FindCmd ([]string {"child1" })
36
+ res , err := cmd .FindCmd ([]string {"child1" }, false )
37
37
if err != nil {
38
38
t .Fatal ("finding should work" )
39
39
}
40
40
assert .Equal (t , res .Name , "child1" )
41
41
42
- res , err = cmd .FindCmd ([]string {"child2" })
42
+ res , err = cmd .FindCmd ([]string {"child2" }, false )
43
43
if err != nil {
44
44
t .Fatal ("finding should work" )
45
45
}
46
46
assert .Equal (t , res .Name , "child2" )
47
47
48
- res , err = cmd .FindCmd ([]string {"child3" })
48
+ res , err = cmd .FindCmd ([]string {"child3" }, false )
49
49
if err == nil {
50
50
t .Fatal ("should not find this child!" )
51
51
}
@@ -58,19 +58,49 @@ func TestFindAlias(t *testing.T) {
58
58
subcmd .Aliases = []string {"alias1" , "alias2" }
59
59
cmd .AddCmd (subcmd )
60
60
61
- res , err := cmd .FindCmd ([]string {"alias1" })
61
+ res , err := cmd .FindCmd ([]string {"alias1" }, false )
62
62
if err != nil {
63
63
t .Fatal ("finding alias should work" )
64
64
}
65
65
assert .Equal (t , res .Name , "child1" )
66
66
67
- res , err = cmd .FindCmd ([]string {"alias2" })
67
+ res , err = cmd .FindCmd ([]string {"alias2" }, false )
68
68
if err != nil {
69
69
t .Fatal ("finding alias should work" )
70
70
}
71
71
assert .Equal (t , res .Name , "child1" )
72
72
73
- res , err = cmd .FindCmd ([]string {"alias3" })
73
+ res , err = cmd .FindCmd ([]string {"alias3" }, false )
74
+ if err == nil {
75
+ t .Fatal ("should not find this child!" )
76
+ }
77
+ assert .Nil (t , res )
78
+ }
79
+
80
+ func TestFindCmdPrefix (t * testing.T ) {
81
+ cmd := newCmd ("root" , "" )
82
+ cmd .AddCmd (newCmd ("cmdone" , "" ))
83
+ cmd .AddCmd (newCmd ("cmdtwo" , "" ))
84
+
85
+ res , err := cmd .FindCmd ([]string {"cmdo" }, true )
86
+ if err != nil {
87
+ t .Fatal ("finding should work" )
88
+ }
89
+ assert .Equal (t , res .Name , "cmdone" )
90
+
91
+ res , err = cmd .FindCmd ([]string {"cmdt" }, true )
92
+ if err != nil {
93
+ t .Fatal ("finding should work" )
94
+ }
95
+ assert .Equal (t , res .Name , "cmdtwo" )
96
+
97
+ res , err = cmd .FindCmd ([]string {"c" }, true )
98
+ if err == nil {
99
+ t .Fatal ("should not find this child!" )
100
+ }
101
+ assert .Nil (t , res )
102
+
103
+ res , err = cmd .FindCmd ([]string {"cmd" }, true )
74
104
if err == nil {
75
105
t .Fatal ("should not find this child!" )
76
106
}
0 commit comments