File tree 2 files changed +12
-8
lines changed
2 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -389,7 +389,8 @@ function parse (args, opts) {
389
389
// for keys without value ==> argsToSet remains an empty []
390
390
// set user default value, if available
391
391
if ( defaults . hasOwnProperty ( key ) ) {
392
- argsToSet . push ( defaults [ key ] )
392
+ let defVal = defaults [ key ]
393
+ argsToSet = Array . isArray ( defVal ) ? defVal : [ defVal ]
393
394
}
394
395
} else {
395
396
for ( var ii = i + 1 ; ii < args . length ; ii ++ ) {
Original file line number Diff line number Diff line change @@ -1516,18 +1516,21 @@ describe('yargs-parser', function () {
1516
1516
} )
1517
1517
1518
1518
it ( 'should default argument to empty array if no value given' , function ( ) {
1519
- var result = parser ( [ '-b' ] , {
1520
- array : 'b'
1519
+ var result = parser ( [ '-b' , '--tag' ] , {
1520
+ array : [ 'b' , 'tag' ] ,
1521
+ default : { 'tag' : [ ] }
1521
1522
} )
1522
- result . should . have . property ( 'b' ) . and . deep . equal ( [ ] )
1523
+ result . b . should . deep . equal ( [ ] )
1524
+ result . tag . should . deep . equal ( [ ] )
1523
1525
} )
1524
1526
1525
1527
it ( 'should place default of argument in array, when default provided' , function ( ) {
1526
- var result = parser ( [ '-b' ] , {
1527
- array : 'b' ,
1528
- default : { 'b' : 33 }
1528
+ var result = parser ( [ '-b' , '--tag' ] , {
1529
+ array : [ 'b' , 'tag' ] ,
1530
+ default : { 'b' : 33 , 'tag' : [ 'foo' ] }
1529
1531
} )
1530
- result . should . have . property ( 'b' ) . and . deep . equal ( [ 33 ] )
1532
+ result . b . should . deep . equal ( [ 33 ] )
1533
+ result . tag . should . deep . equal ( [ 'foo' ] )
1531
1534
} )
1532
1535
1533
1536
it ( 'should place value of argument in array, when one argument provided' , function ( ) {
You can’t perform that action at this time.
0 commit comments