mirror of
https://github.com/thangisme/notes.git
synced 2026-06-12 16:39:26 -04:00
Initial commit
This commit is contained in:
82
node_modules/yargs/test/parse_defaults.js
generated
vendored
Normal file
82
node_modules/yargs/test/parse_defaults.js
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
var should = require('chai').should(),
|
||||
yargs = require('../');
|
||||
|
||||
describe('parse', function () {
|
||||
|
||||
describe('defaults', function () {
|
||||
function checkNoArgs(argv, hasAlias) {
|
||||
it('should set defaults if no args', function() {
|
||||
var result = argv.parse([ ]);
|
||||
result.should.have.property('flag', true);
|
||||
if (hasAlias) {
|
||||
result.should.have.property('f', true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function checkExtraArg(argv, hasAlias) {
|
||||
it('should set defaults if one extra arg', function() {
|
||||
var result = argv.parse([ 'extra' ]);
|
||||
result.should.have.property('flag', true);
|
||||
result.should.have.property('_').and.deep.equal(['extra']);
|
||||
if (hasAlias) {
|
||||
result.should.have.property('f', true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function checkStringArg(argv, hasAlias) {
|
||||
it('should set defaults even if arg looks like a string', function() {
|
||||
var result = argv.parse([ '--flag', 'extra' ]);
|
||||
result.should.have.property('flag', true);
|
||||
result.should.have.property('_').and.deep.equal(['extra']);
|
||||
if (hasAlias) {
|
||||
result.should.have.property('f', true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
describe('for options with aliases', function () {
|
||||
var args = yargs().options({
|
||||
flag : {
|
||||
alias : 'f',
|
||||
default : true
|
||||
}
|
||||
});
|
||||
|
||||
checkNoArgs(args, true);
|
||||
checkExtraArg(args, true);
|
||||
// This test case should fail, because we didn't specify that the
|
||||
// option is a boolean
|
||||
// checkStringArg(args, true);
|
||||
});
|
||||
|
||||
describe('for typed options without aliases', function () {
|
||||
var args = yargs().options({
|
||||
flag : {
|
||||
type : 'boolean',
|
||||
default : true
|
||||
}
|
||||
});
|
||||
|
||||
checkNoArgs(args);
|
||||
checkExtraArg(args);
|
||||
checkStringArg(args);
|
||||
});
|
||||
|
||||
describe('for typed options with aliases', function () {
|
||||
var args = yargs().options({
|
||||
flag : {
|
||||
alias : 'f',
|
||||
type : 'boolean',
|
||||
default : true
|
||||
}
|
||||
});
|
||||
|
||||
checkNoArgs(args, true);
|
||||
checkExtraArg(args, true);
|
||||
checkStringArg(args, true);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user