@@ -336,5 +336,46 @@ public void Response_files_can_refer_to_other_response_files()
336
336
result . FindResultFor ( option3 ) . GetValueOrDefault ( ) . Should ( ) . Be ( 3 ) ;
337
337
result . Errors . Should ( ) . BeEmpty ( ) ;
338
338
}
339
+
340
+ [ Fact ]
341
+ public void When_response_file_options_or_arguments_contain_trailing_spaces_they_are_ignored ( )
342
+ {
343
+ var responseFile = ResponseFile ( "--option1 " , "value1 " , "--option2\t " , "2\t " ) ;
344
+
345
+ var option1 = new Option ( "--option1" ) { Argument = new Argument < string > ( ) } ;
346
+ var option2 = new Option ( "--option2" ) { Argument = new Argument < int > ( ) } ;
347
+
348
+ var result = new RootCommand { option1 , option2 } . Parse ( $ "@{ responseFile } ") ;
349
+ result . ValueForOption ( "--option1" ) . Should ( ) . Be ( "value1" ) ;
350
+ result . ValueForOption ( "--option2" ) . Should ( ) . Be ( 2 ) ;
351
+ }
352
+
353
+ [ Fact ]
354
+ public void When_response_file_options_or_arguments_contain_leading_spaces_they_are_ignored ( )
355
+ {
356
+ var responseFile = ResponseFile ( " --option1" , " value1" , "\t --option2" , "\t 2" ) ;
357
+
358
+ var option1 = new Option ( "--option1" ) { Argument = new Argument < string > ( ) } ;
359
+ var option2 = new Option ( "--option2" ) { Argument = new Argument < int > ( ) } ;
360
+
361
+ var result = new RootCommand { option1 , option2 } . Parse ( $ "@{ responseFile } ") ;
362
+ result . ValueForOption ( "--option1" ) . Should ( ) . Be ( "value1" ) ;
363
+ result . ValueForOption ( "--option2" ) . Should ( ) . Be ( 2 ) ;
364
+ result . Errors . Should ( ) . BeEmpty ( ) ;
365
+ }
366
+
367
+ [ Fact ]
368
+ public void When_response_file_options_or_arguments_contain_trailing_and_leading_spaces_they_are_ignored ( )
369
+ {
370
+ var responseFile = ResponseFile ( " --option1 " , " value1 " , "\t --option2\t " , "\t 2\t " ) ;
371
+
372
+ var option1 = new Option ( "--option1" ) { Argument = new Argument < string > ( ) } ;
373
+ var option2 = new Option ( "--option2" ) { Argument = new Argument < int > ( ) } ;
374
+
375
+ var result = new RootCommand { option1 , option2 } . Parse ( $ "@{ responseFile } ") ;
376
+ result . ValueForOption ( "--option1" ) . Should ( ) . Be ( "value1" ) ;
377
+ result . ValueForOption ( "--option2" ) . Should ( ) . Be ( 2 ) ;
378
+ result . Errors . Should ( ) . BeEmpty ( ) ;
379
+ }
339
380
}
340
381
}
0 commit comments