Skip to content

Instantly share code, notes, and snippets.

@mathroc
Last active August 29, 2015 14:14
Show Gist options
  • Save mathroc/0acfaeceff852d1b848c to your computer and use it in GitHub Desktop.
Save mathroc/0acfaeceff852d1b848c to your computer and use it in GitHub Desktop.
yargs #72
{
"arg_no_default____config_false_no_cli___" : false,
"arg_default_true__config_false_no_cli___" : false,
"arg_default_false_config_false_no_cli___" : false,
"arg_no_default____config_true__no_cli___" : true,
"arg_default_true__config_true__no_cli___" : true,
"arg_default_false_config_true__no_cli___" : true,
"arg_no_default____config_true__cli_true_" : true,
"arg_default_true__config_true__cli_true_" : true,
"arg_default_false_config_true__cli_true_" : true,
"arg_no_default____config_false_cli_true_" : false,
"arg_default_true__config_false_cli_true_" : false,
"arg_default_false_config_false_cli_true_" : false,
"arg_no_default____config_true__cli_false" : true,
"arg_default_true__config_true__cli_false" : true,
"arg_default_false_config_true__cli_false" : true,
"arg_no_default____config_false_cli_false" : false,
"arg_default_true__config_false_cli_false" : false,
"arg_default_false_config_false_cli_false" : false
}
arg_no_default____no_config____no_cli___ undefined
arg_default_true__no_config____no_cli___ true
arg_default_false_no_config____no_cli___ false
arg_no_default____config_false_no_cli___ false
arg_default_true__config_false_no_cli___ false
arg_default_false_config_false_no_cli___ false
arg_no_default____config_true__no_cli___ true
arg_default_true__config_true__no_cli___ true
arg_default_false_config_true__no_cli___ true
arg_no_default____no_config____cli_true_ true
arg_default_true__no_config____cli_true_ true
arg_default_false_no_config____cli_true_ true
arg_no_default____config_true__cli_true_ true
arg_default_true__config_true__cli_true_ true
arg_default_false_config_true__cli_true_ true
arg_no_default____config_false_cli_true_ true
arg_default_true__config_false_cli_true_ true
arg_default_false_config_false_cli_true_ true
arg_no_default____no_config____cli_false false
arg_default_true__no_config____cli_false false
arg_default_false_no_config____cli_false false
arg_no_default____config_true__cli_false false
arg_default_true__config_true__cli_false false
arg_default_false_config_true__cli_false false
arg_no_default____config_false_cli_false false
arg_default_true__config_false_cli_false false
arg_default_false_config_false_cli_false false
{
"dependencies": {
"yargs": "chevex/yargs#bcoe/test-fix-config-changes"
}
}
var yargs = require('yargs')
.options('config', {
alias: 'c',
default: 'config.json',
describe: "Config file"
}).config('config');
var suffixes = {
'no_config____no_cli___': '',
'config_false_no_cli___': '',
'config_true__no_cli___': '',
'no_config____cli_true_': '',
'config_true__cli_true_': '',
'config_false_cli_true_': '',
'no_config____cli_false': '',
'config_true__cli_false': '',
'config_false_cli_false': ''
};
for (var suffix in suffixes) {
yargs.options('arg_no_default____'+suffix, {
});
yargs.options('arg_default_true__'+suffix, {
default: true
});
yargs.options('arg_default_false_'+suffix, {
default: false
});
}
for (var suffix in suffixes) {
console.log('arg_no_default____'+suffix, yargs.argv['arg_no_default____'+suffix]);
console.log('arg_default_true__'+suffix, yargs.argv['arg_default_true__'+suffix]);
console.log('arg_default_false_'+suffix, yargs.argv['arg_default_false_'+suffix]);
}
node test.js --arg_no_default____no_config____cli_true_ --arg_default_true__no_config____cli_true_ --arg_default_false_no_config____cli_true_ --arg_no_default____config_true__cli_true_ --arg_default_true__config_true__cli_true_ --arg_default_false_config_true__cli_true_ --arg_no_default____config_false_cli_true_ --arg_default_true__config_false_cli_true_ --arg_default_false_config_false_cli_true_ --no-arg_no_default____no_config____cli_false --no-arg_default_true__no_config____cli_false --no-arg_default_false_no_config____cli_false --no-arg_no_default____config_true__cli_false --no-arg_default_true__config_true__cli_false --no-arg_default_false_config_true__cli_false --no-arg_no_default____config_false_cli_false --no-arg_default_true__config_false_cli_false --no-arg_default_false_config_false_cli_false | diff expected_output.txt -
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment