@@ -3204,17 +3204,60 @@ func TestCommand_Bool(t *testing.T) {
3204
3204
}
3205
3205
3206
3206
func TestCommand_Value (t * testing.T ) {
3207
- set := flag .NewFlagSet ("test" , 0 )
3208
- set .Int ("myflag" , 12 , "doc" )
3209
- parentSet := flag .NewFlagSet ("test" , 0 )
3210
- parentSet .Int ("top-flag" , 13 , "doc" )
3211
- pCmd := & Command {flagSet : parentSet }
3212
- cmd := & Command {flagSet : set , parent : pCmd }
3207
+ subCmd := & Command {
3208
+ Name : "test" ,
3209
+ Flags : []Flag {
3210
+ & IntFlag {
3211
+ Name : "myflag" ,
3212
+ Usage : "doc" ,
3213
+ Aliases : []string {"m" , "mf" },
3214
+ },
3215
+ },
3216
+ Action : func (ctx context.Context , c * Command ) error {
3217
+ return nil
3218
+ },
3219
+ }
3213
3220
3214
- r := require .New (t )
3215
- r .Equal (12 , cmd .Value ("myflag" ))
3216
- r .Equal (13 , cmd .Value ("top-flag" ))
3217
- r .Nil (cmd .Value ("unknown-flag" ))
3221
+ cmd := & Command {
3222
+ Flags : []Flag {
3223
+ & IntFlag {
3224
+ Name : "top-flag" ,
3225
+ Usage : "doc" ,
3226
+ Aliases : []string {"t" , "tf" },
3227
+ },
3228
+ },
3229
+ Commands : []* Command {
3230
+ subCmd ,
3231
+ },
3232
+ }
3233
+ t .Run ("flag name" , func (t * testing.T ) {
3234
+ r := require .New (t )
3235
+ err := cmd .Run (buildTestContext (t ), []string {"main" , "--top-flag" , "13" , "test" , "--myflag" , "14" })
3236
+
3237
+ r .NoError (err )
3238
+ r .Equal (int64 (13 ), cmd .Value ("top-flag" ))
3239
+ r .Equal (int64 (13 ), cmd .Value ("t" ))
3240
+ r .Equal (int64 (13 ), cmd .Value ("tf" ))
3241
+
3242
+ r .Equal (int64 (14 ), subCmd .Value ("myflag" ))
3243
+ r .Equal (int64 (14 ), subCmd .Value ("m" ))
3244
+ r .Equal (int64 (14 ), subCmd .Value ("mf" ))
3245
+ })
3246
+
3247
+ t .Run ("flag aliases" , func (t * testing.T ) {
3248
+ r := require .New (t )
3249
+ err := cmd .Run (buildTestContext (t ), []string {"main" , "-tf" , "15" , "test" , "-m" , "16" })
3250
+
3251
+ r .NoError (err )
3252
+ r .Equal (int64 (15 ), cmd .Value ("top-flag" ))
3253
+ r .Equal (int64 (15 ), cmd .Value ("t" ))
3254
+ r .Equal (int64 (15 ), cmd .Value ("tf" ))
3255
+
3256
+ r .Equal (int64 (16 ), subCmd .Value ("myflag" ))
3257
+ r .Equal (int64 (16 ), subCmd .Value ("m" ))
3258
+ r .Equal (int64 (16 ), subCmd .Value ("mf" ))
3259
+ r .Nil (cmd .Value ("unknown-flag" ))
3260
+ })
3218
3261
}
3219
3262
3220
3263
func TestCommand_Value_InvalidFlagAccessHandler (t * testing.T ) {
0 commit comments