@@ -146,6 +146,23 @@ describe('parse', () => {
146
146
}
147
147
} )
148
148
149
+ it ( 'throws error when no value provided to required flag with options' , async ( ) => {
150
+ try {
151
+ await parse ( [ '--myflag' , '--second' , 'value' ] , {
152
+ flags : {
153
+ myflag : Flags . string ( {
154
+ required : true ,
155
+ options : [ 'a' , 'b' ] ,
156
+ } ) ,
157
+ second : Flags . string ( ) ,
158
+ } ,
159
+ } )
160
+ assert . fail ( 'should have thrown' )
161
+ } catch ( error ) {
162
+ expect ( ( error as CLIError ) . message ) . to . include ( 'Flag --myflag expects one of these values: a, b' )
163
+ }
164
+ } )
165
+
149
166
it ( 'throws error when no value provided to required flag before a short char flag' , async ( ) => {
150
167
try {
151
168
await parse ( [ '--myflag' , '-s' , 'value' ] , {
@@ -270,7 +287,7 @@ describe('parse', () => {
270
287
await parse ( [ 'arg1' ] , {
271
288
args : {
272
289
arg1 : Args . string ( { required : true } ) ,
273
- arg2 : Args . string ( { required : true , description : 'arg2 desc' } ) ,
290
+ arg2 : Args . string ( { required : true , description : 'arg2 desc' , options : [ 'a' , 'b' ] } ) ,
274
291
arg3 : Args . string ( { required : true , description : 'arg3 desc' } ) ,
275
292
} ,
276
293
} )
@@ -279,7 +296,7 @@ describe('parse', () => {
279
296
}
280
297
281
298
expect ( message ) . to . include ( `Missing 2 required args:
282
- arg2 arg2 desc
299
+ arg2 (a|b) arg2 desc
283
300
arg3 arg3 desc
284
301
See more help with --help` )
285
302
} )
0 commit comments