Skip to content

Commit 31b7abb

Browse files
authored
Merge pull request #1709 from nirhaas/nhaas/required_flag_with_alias_errors_with_actual_name
Fix missing required flag error uses flag name and not alias
2 parents 0436998 + 69df7bf commit 31b7abb

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

context.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,10 @@ func (cCtx *Context) checkRequiredFlags(flags []Flag) requiredFlagsErr {
204204
var flagPresent bool
205205
var flagName string
206206

207-
for _, key := range f.Names() {
208-
flagName = key
207+
flagNames := f.Names()
208+
flagName = flagNames[0]
209209

210+
for _, key := range flagNames {
210211
if cCtx.IsSet(strings.TrimSpace(key)) {
211212
flagPresent = true
212213
}

context_test.go

+15
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,21 @@ func TestCheckRequiredFlags(t *testing.T) {
602602
&StringFlag{Name: "n", Required: true},
603603
},
604604
},
605+
{
606+
testCase: "required_flag_with_alias_errors_with_actual_name",
607+
expectedAnError: true,
608+
expectedErrorContents: []string{"Required flag \"collection\" not set"},
609+
flags: []Flag{
610+
&StringFlag{Name: "collection", Required: true, Aliases: []string{"c"}},
611+
},
612+
},
613+
{
614+
testCase: "required_flag_without_name_or_aliases_doesnt_error",
615+
expectedAnError: false,
616+
flags: []Flag{
617+
&StringFlag{Required: true},
618+
},
619+
},
605620
}
606621

607622
for _, test := range tdata {

0 commit comments

Comments
 (0)