command-line-args
Advanced tools
Comparing version 3.0.0 to 3.0.1
@@ -7,2 +7,4 @@ 'use strict'; | ||
var t = require('typical'); | ||
var OptionDefinition = function () { | ||
@@ -45,3 +47,7 @@ function OptionDefinition(definition) { | ||
value: function isBoolean() { | ||
return this.type === Boolean; | ||
if (this.type) { | ||
return this.type === Boolean || t.isFunction(this.type) && this.type.name === 'Boolean'; | ||
} else { | ||
return false; | ||
} | ||
} | ||
@@ -48,0 +54,0 @@ }]); |
'use strict' | ||
const t = require('typical') | ||
/** | ||
@@ -239,3 +241,7 @@ * @module definition | ||
isBoolean () { | ||
return this.type === Boolean | ||
if (this.type) { | ||
return this.type === Boolean || (t.isFunction(this.type) && this.type.name === 'Boolean') | ||
} else { | ||
return false | ||
} | ||
} | ||
@@ -242,0 +248,0 @@ } |
{ | ||
"name": "command-line-args", | ||
"version": "3.0.0", | ||
"version": "3.0.1", | ||
"description": "A library to parse command-line options.", | ||
@@ -9,5 +9,5 @@ "repository": "https://github.com/75lb/command-line-args.git", | ||
"scripts": { | ||
"test": "tape test/*.js", | ||
"test": "test-runner test/*.js", | ||
"docs": "jsdoc2md -l off -t jsdoc2md/README.hbs lib/*.js > README.md; echo", | ||
"cover": "istanbul cover ./node_modules/.bin/tape test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo", | ||
"cover": "istanbul cover ./node_modules/.bin/test-runner test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo", | ||
"es5": "babel --presets babel-preset-es2015 --no-comments lib --out-dir es5" | ||
@@ -32,5 +32,6 @@ }, | ||
"babel-preset-es2015": "^6.9.0", | ||
"coveralls": "^2.11.9", | ||
"core-assert": "~0.2.0", | ||
"coveralls": "^2.11.12", | ||
"jsdoc-to-markdown": "^1.3.6", | ||
"tape": "^4.5.1", | ||
"test-runner": "~0.1.6", | ||
"test-value": "^2.0.0" | ||
@@ -40,6 +41,6 @@ }, | ||
"array-back": "^1.0.3", | ||
"core-js": "^2.4.0", | ||
"feature-detect-es6": "^1.3.0", | ||
"core-js": "^2.4.1", | ||
"feature-detect-es6": "^1.3.1", | ||
"find-replace": "^1.0.2", | ||
"typical": "^2.4.2" | ||
"typical": "^2.5.0" | ||
}, | ||
@@ -46,0 +47,0 @@ "standard": { |
[![view on npm](http://img.shields.io/npm/v/command-line-args.svg)](https://www.npmjs.org/package/command-line-args) | ||
[![npm module downloads](http://img.shields.io/npm/dt/command-line-args.svg)](https://www.npmjs.org/package/command-line-args) | ||
[![Build Status](https://travis-ci.org/75lb/command-line-args.svg?branch=master)](https://travis-ci.org/75lb/command-line-args) | ||
[![Coverage Status](https://coveralls.io/repos/75lb/command-line-args/badge.svg?branch=master&service=github)](https://coveralls.io/github/75lb/command-line-args?branch=master) | ||
[![Coverage Status](https://coveralls.io/repos/github/75lb/command-line-args/badge.svg?branch=master)](https://coveralls.io/github/75lb/command-line-args?branch=master) | ||
[![Dependency Status](https://david-dm.org/75lb/command-line-args.svg)](https://david-dm.org/75lb/command-line-args) | ||
@@ -6,0 +6,0 @@ [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -11,25 +13,22 @@ var optionDefinitions = [ | ||
test('alias: one boolean', function (t) { | ||
test('alias: one boolean', function () { | ||
var argv = [ '-v' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
verbose: true | ||
}) | ||
t.end() | ||
}) | ||
test('alias: one --this-type boolean', function (t) { | ||
test('alias: one --this-type boolean', function () { | ||
var argv = [ '-d' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
'dry-run': true | ||
}) | ||
t.end() | ||
}) | ||
test('alias: one boolean, one string', function (t) { | ||
test('alias: one boolean, one string', function () { | ||
var argv = [ '-v', '-c' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
verbose: true, | ||
colour: true | ||
}) | ||
t.end() | ||
}) |
@@ -1,5 +0,7 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('bad-input: handles missing option value', function (t) { | ||
test('bad-input: handles missing option value', function () { | ||
var optionDefinitions = [ | ||
@@ -9,13 +11,12 @@ { name: 'colour', type: String }, | ||
] | ||
t.deepEqual(cliArgs(optionDefinitions, [ '--colour' ]), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--colour' ]), { | ||
colour: null | ||
}) | ||
t.deepEqual(cliArgs(optionDefinitions, [ '--colour', '--files', 'yeah' ]), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--colour', '--files', 'yeah' ]), { | ||
colour: null, | ||
files: 'yeah' | ||
}) | ||
t.end() | ||
}) | ||
test('bad-input: handles arrays with relative paths', function (t) { | ||
test('bad-input: handles arrays with relative paths', function () { | ||
var optionDefinitions = [ | ||
@@ -25,6 +26,5 @@ { name: 'colours', type: String, multiple: true } | ||
var argv = [ '--colours', '../what', '../ever' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
colours: [ '../what', '../ever' ] | ||
}) | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var detect = require('feature-detect-es6') | ||
var a = require('core-assert') | ||
var Argv | ||
@@ -15,30 +17,27 @@ var Definitions | ||
test('.expandOptionEqualsNotation()', function (t) { | ||
test('.expandOptionEqualsNotation()', function () { | ||
var argv = new Argv([ '--one=1', '--two', '2', '--three=3', '4' ]) | ||
argv.expandOptionEqualsNotation() | ||
t.deepEqual(argv.list, [ | ||
a.deepStrictEqual(argv.list, [ | ||
'--one', '1', '--two', '2', '--three', '3', '4' | ||
]) | ||
t.end() | ||
}) | ||
test('.expandGetoptNotation()', function (t) { | ||
test('.expandGetoptNotation()', function () { | ||
var argv = new Argv([ '-abc' ]) | ||
argv.expandGetoptNotation() | ||
t.deepEqual(argv.list, [ | ||
a.deepStrictEqual(argv.list, [ | ||
'-a', '-b', '-c' | ||
]) | ||
t.end() | ||
}) | ||
test('.expandGetoptNotation() with values', function (t) { | ||
test('.expandGetoptNotation() with values', function () { | ||
var argv = new Argv([ '-abc', '1', '-a', '2', '-bc' ]) | ||
argv.expandGetoptNotation() | ||
t.deepEqual(argv.list, [ | ||
a.deepStrictEqual(argv.list, [ | ||
'-a', '-b', '-c', '1', '-a', '2', '-b', '-c' | ||
]) | ||
t.end() | ||
}) | ||
test('.validate()', function (t) { | ||
test('.validate()', function () { | ||
var definitions = new Definitions([ | ||
@@ -48,3 +47,3 @@ { name: 'one', type: Number } | ||
t.doesNotThrow(function () { | ||
a.doesNotThrow(function () { | ||
var argv = new Argv([ '--one', '1' ]) | ||
@@ -54,3 +53,3 @@ argv.validate(definitions) | ||
t.throws(function () { | ||
a.throws(function () { | ||
var argv = new Argv([ '--one', '--two' ]) | ||
@@ -60,3 +59,3 @@ argv.validate(definitions) | ||
t.throws(function () { | ||
a.throws(function () { | ||
var argv = new Argv([ '--one', '2', '--two', 'two' ]) | ||
@@ -66,8 +65,6 @@ argv.validate(definitions) | ||
t.throws(function () { | ||
a.throws(function () { | ||
var argv = new Argv([ '-a', '2' ]) | ||
argv.validate(definitions) | ||
}) | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var detect = require('feature-detect-es6') | ||
var a = require('core-assert') | ||
var Definitions | ||
@@ -12,19 +14,16 @@ | ||
test('.createOutput()', function (t) { | ||
test('.createOutput()', function () { | ||
var definitions = new Definitions([ { name: 'one', defaultValue: 'eins' } ]) | ||
t.deepEqual(definitions.createOutput(), { one: 'eins' }) | ||
t.end() | ||
a.deepStrictEqual(definitions.createOutput(), { one: 'eins' }) | ||
}) | ||
test('.get()', function (t) { | ||
test('.get()', function () { | ||
var definitions = new Definitions([ { name: 'one', defaultValue: 'eins' } ]) | ||
t.strictEqual(definitions.get('--one').name, 'one') | ||
t.end() | ||
a.strictEqual(definitions.get('--one').name, 'one') | ||
}) | ||
test('.validate()', function (t) { | ||
t.throws(function () { | ||
test('.validate()', function () { | ||
a.throws(function () { | ||
var definitions = new Definitions([ { name: 'one' }, { name: 'one' } ]) | ||
}) | ||
t.end() | ||
}) |
@@ -1,5 +0,7 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('defaultOption: string', function (t) { | ||
test('defaultOption: string', function () { | ||
var optionDefinitions = [ | ||
@@ -9,9 +11,8 @@ { name: 'files', defaultOption: true } | ||
var argv = [ 'file1', 'file2' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
files: 'file2' | ||
}) | ||
t.end() | ||
}) | ||
test('defaultOption: multiple string', function (t) { | ||
test('defaultOption: multiple string', function () { | ||
var optionDefinitions = [ | ||
@@ -21,9 +22,8 @@ { name: 'files', defaultOption: true, multiple: true } | ||
var argv = [ 'file1', 'file2' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
files: [ 'file1', 'file2' ] | ||
}) | ||
t.end() | ||
}) | ||
test('defaultOption: after a boolean', function (t) { | ||
test('defaultOption: after a boolean', function () { | ||
var definitions = [ | ||
@@ -33,11 +33,9 @@ { name: 'one', type: Boolean }, | ||
] | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(definitions, [ '--one', 'sfsgf' ]), | ||
{ one: true, two: 'sfsgf' } | ||
) | ||
t.end() | ||
}) | ||
test('defaultOption: multiple defaultOption values between other arg/value pairs', function (t) { | ||
test('defaultOption: multiple defaultOption values between other arg/value pairs', function () { | ||
var optionDefinitions = [ | ||
@@ -49,3 +47,3 @@ { name: 'one' }, | ||
var argv = [ '--one', '1', 'file1', 'file2', '--two', '2' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
one: '1', | ||
@@ -55,6 +53,5 @@ two: '2', | ||
}) | ||
t.end() | ||
}) | ||
test('defaultOption: multiple defaultOption values between other arg/value pairs 2', function (t) { | ||
test('defaultOption: multiple defaultOption values between other arg/value pairs 2', function () { | ||
var optionDefinitions = [ | ||
@@ -66,3 +63,3 @@ { name: 'one', type: Boolean }, | ||
var argv = [ 'file0', '--one', 'file1', '--files', 'file2', '--two', '2', 'file3' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
one: true, | ||
@@ -72,15 +69,12 @@ two: '2', | ||
}) | ||
t.end() | ||
}) | ||
test('defaultOption: floating args present but no defaultOption', function (t) { | ||
test('defaultOption: floating args present but no defaultOption', function () { | ||
var definitions = [ | ||
{ name: 'one', type: Boolean } | ||
] | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(definitions, [ 'aaa', '--one', 'aaa', 'aaa' ]), | ||
{ one: true } | ||
) | ||
t.end() | ||
}) |
@@ -1,31 +0,30 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('default value', function (t) { | ||
t.deepEqual(cliArgs([ { name: 'one' }, { name: 'two', defaultValue: 'two' } ], [ '--one', '1' ]), { | ||
test('default value', function () { | ||
a.deepStrictEqual(cliArgs([ { name: 'one' }, { name: 'two', defaultValue: 'two' } ], [ '--one', '1' ]), { | ||
one: '1', | ||
two: 'two' | ||
}) | ||
t.deepEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], []), { | ||
a.deepStrictEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], []), { | ||
two: 'two' | ||
}) | ||
t.deepEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], [ '--two', 'zwei' ]), { | ||
a.deepStrictEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], [ '--two', 'zwei' ]), { | ||
two: 'zwei' | ||
}) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs([{ name: 'two', multiple: true, defaultValue: ['two', 'zwei'] }], [ '--two', 'duo' ]), | ||
{ two: [ 'duo' ] } | ||
) | ||
t.end() | ||
}) | ||
test('default value', function (t) { | ||
test('default value', function () { | ||
var defs = [{ name: 'two', multiple: true, defaultValue: ['two', 'zwei'] }] | ||
var result = cliArgs(defs, []) | ||
t.deepEqual(result, { two: [ 'two', 'zwei' ] }) | ||
t.end() | ||
a.deepStrictEqual(result, { two: [ 'two', 'zwei' ] }) | ||
}) | ||
test('default value: array as defaultOption', function (t) { | ||
test('default value: array as defaultOption', function () { | ||
var defs = [ | ||
@@ -35,7 +34,6 @@ { name: 'two', multiple: true, defaultValue: ['two', 'zwei'], defaultOption: true } | ||
var argv = [ 'duo' ] | ||
t.deepEqual(cliArgs(defs, argv), { two: [ 'duo' ] }) | ||
t.end() | ||
a.deepStrictEqual(cliArgs(defs, argv), { two: [ 'duo' ] }) | ||
}) | ||
test('default value: falsy default values', function (t) { | ||
test('default value: falsy default values', function () { | ||
var defs = [ | ||
@@ -47,7 +45,6 @@ { name: 'one', defaultValue: 0 }, | ||
var argv = [] | ||
t.deepEqual(cliArgs(defs, argv), { | ||
a.deepStrictEqual(cliArgs(defs, argv), { | ||
one: 0, | ||
two: false | ||
}) | ||
t.end() | ||
}) |
@@ -1,19 +0,19 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('detect process.argv: should automatically remove first two argv items', function (t) { | ||
test('detect process.argv: should automatically remove first two argv items', function () { | ||
process.argv = [ 'node', 'filename', '--one', 'eins' ] | ||
t.deepEqual(cliArgs({ name: 'one' }, process.argv), { | ||
a.deepStrictEqual(cliArgs({ name: 'one' }, process.argv), { | ||
one: 'eins' | ||
}) | ||
t.end() | ||
}) | ||
test('process.argv is left untouched', function (t) { | ||
test('process.argv is left untouched', function () { | ||
process.argv = [ 'node', 'filename', '--one', 'eins' ] | ||
t.deepEqual(cliArgs({ name: 'one' }), { | ||
a.deepStrictEqual(cliArgs({ name: 'one' }), { | ||
one: 'eins' | ||
}) | ||
t.deepEqual(process.argv, [ 'node', 'filename', '--one', 'eins' ]) | ||
t.end() | ||
a.deepStrictEqual(process.argv, [ 'node', 'filename', '--one', 'eins' ]) | ||
}) |
@@ -1,5 +0,7 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('err-invalid-definition: throws when no definition.name specified', function (t) { | ||
test('err-invalid-definition: throws when no definition.name specified', function () { | ||
var optionDefinitions = [ | ||
@@ -12,10 +14,9 @@ { something: 'one' }, | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'NAME_MISSING') | ||
a.strictEqual(err.name, 'NAME_MISSING') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: throws if dev set a numeric alias', function (t) { | ||
test('err-invalid-definition: throws if dev set a numeric alias', function () { | ||
var optionDefinitions = [ | ||
@@ -28,11 +29,9 @@ { name: 'colours', alias: '1' } | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_ALIAS') | ||
a.strictEqual(err.name, 'INVALID_ALIAS') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: throws if dev set an alias of "-"', function (t) { | ||
test('err-invalid-definition: throws if dev set an alias of "-"', function () { | ||
var optionDefinitions = [ | ||
@@ -45,11 +44,9 @@ { name: 'colours', alias: '-' } | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_ALIAS') | ||
a.strictEqual(err.name, 'INVALID_ALIAS') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: multi-character alias', function (t) { | ||
test('err-invalid-definition: multi-character alias', function () { | ||
var optionDefinitions = [ | ||
@@ -62,17 +59,15 @@ { name: 'one', alias: 'aa' } | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_ALIAS') | ||
a.strictEqual(err.name, 'INVALID_ALIAS') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: invalid type values', function (t) { | ||
test('err-invalid-definition: invalid type values', function () { | ||
var argv = [ '--one', 'something' ] | ||
try { | ||
cliArgs([ { name: 'one', type: 'string' } ], argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_TYPE') | ||
a.strictEqual(err.name, 'INVALID_TYPE') | ||
} | ||
@@ -82,5 +77,5 @@ | ||
cliArgs([ { name: 'one', type: 234 } ], argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_TYPE') | ||
a.strictEqual(err.name, 'INVALID_TYPE') | ||
} | ||
@@ -90,15 +85,13 @@ | ||
cliArgs([ { name: 'one', type: {} } ], argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'INVALID_TYPE') | ||
a.strictEqual(err.name, 'INVALID_TYPE') | ||
} | ||
t.doesNotThrow(function () { | ||
a.doesNotThrow(function () { | ||
cliArgs([ { name: 'one', type: function () {} } ], argv) | ||
}, /invalid/i) | ||
t.end() | ||
}) | ||
test('err-invalid-definition: value without option definition', function (t) { | ||
test('err-invalid-definition: value without option definition', function () { | ||
var optionDefinitions = [ | ||
@@ -108,3 +101,3 @@ { name: 'one', type: Number } | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', '1' ]), | ||
@@ -116,5 +109,5 @@ { one: 1 } | ||
cliArgs(optionDefinitions, [ '--one', '--two' ]) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
a.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
} | ||
@@ -124,5 +117,5 @@ | ||
cliArgs(optionDefinitions, [ '--one', '2', '--two', 'two' ]) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
a.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
} | ||
@@ -132,5 +125,5 @@ | ||
cliArgs(optionDefinitions, [ '-a', '2' ]) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
a.strictEqual(err.name, 'UNKNOWN_OPTION') | ||
} | ||
@@ -140,11 +133,9 @@ | ||
cliArgs(optionDefinitions, [ '-sdf' ]) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'UNKNOWN_OPTION', 'getOpts') | ||
a.strictEqual(err.name, 'UNKNOWN_OPTION', 'getOpts') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: duplicate name', function (t) { | ||
test('err-invalid-definition: duplicate name', function () { | ||
var optionDefinitions = [ | ||
@@ -158,11 +149,9 @@ { name: 'colours' }, | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'DUPLICATE_NAME') | ||
a.strictEqual(err.name, 'DUPLICATE_NAME') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: duplicate alias', function (t) { | ||
test('err-invalid-definition: duplicate alias', function () { | ||
var optionDefinitions = [ | ||
@@ -176,11 +165,9 @@ { name: 'one', alias: 'a' }, | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'DUPLICATE_ALIAS') | ||
a.strictEqual(err.name, 'DUPLICATE_ALIAS') | ||
} | ||
t.end() | ||
}) | ||
test('err-invalid-definition: multiple defaultOption', function (t) { | ||
test('err-invalid-definition: multiple defaultOption', function () { | ||
var optionDefinitions = [ | ||
@@ -194,8 +181,6 @@ { name: 'one', defaultOption: true }, | ||
cliArgs(optionDefinitions, argv) | ||
t.fail() | ||
a.fail() | ||
} catch (err) { | ||
t.strictEqual(err.name, 'DUPLICATE_DEFAULT_OPTION') | ||
a.strictEqual(err.name, 'DUPLICATE_DEFAULT_OPTION') | ||
} | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -10,4 +12,4 @@ var optionDefinitions = [ | ||
test('groups', function (t) { | ||
t.deepEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), { | ||
test('groups', function () { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), { | ||
a: { | ||
@@ -26,7 +28,5 @@ one: '1', | ||
}) | ||
t.end() | ||
}) | ||
test('groups: multiple and _none', function (t) { | ||
test('groups: multiple and _none', function () { | ||
var optionDefinitions = [ | ||
@@ -38,3 +38,3 @@ { name: 'one', group: ['a', 'f'] }, | ||
t.deepEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), { | ||
a: { | ||
@@ -59,4 +59,2 @@ one: '1', | ||
}) | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -11,10 +13,9 @@ var optionDefinitions = [ | ||
test('name-alias-mix: one of each', function (t) { | ||
test('name-alias-mix: one of each', function () { | ||
var argv = [ '--one', '-t', '--three' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.strictEqual(result.one, true) | ||
t.strictEqual(result.two, true) | ||
t.strictEqual(result.three, true) | ||
t.strictEqual(result.four, undefined) | ||
t.end() | ||
a.strictEqual(result.one, true) | ||
a.strictEqual(result.two, true) | ||
a.strictEqual(result.three, true) | ||
a.strictEqual(result.four, undefined) | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -10,9 +12,8 @@ var optionDefinitions = [ | ||
test('name-unicode: unicode names and aliases are permitted', function (t) { | ||
test('name-unicode: unicode names and aliases are permitted', function () { | ||
var argv = [ '--один', '1', '--两', '2', '-т', '3' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.strictEqual(result.один, '1') | ||
t.strictEqual(result.两, '2') | ||
t.strictEqual(result.три, '3') | ||
t.end() | ||
a.strictEqual(result.один, '1') | ||
a.strictEqual(result.两, '2') | ||
a.strictEqual(result.три, '3') | ||
}) |
@@ -1,5 +0,7 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
test('getOpt short notation: two flags, one option', function (t) { | ||
test('getOpt short notation: two flags, one option', function () { | ||
var optionDefinitions = [ | ||
@@ -12,3 +14,3 @@ { name: 'flagA', alias: 'a' }, | ||
var argv = [ '-abc', 'yeah' ] | ||
t.deepEqual(cliArgs(optionDefinitions, argv), { | ||
a.deepStrictEqual(cliArgs(optionDefinitions, argv), { | ||
flagA: true, | ||
@@ -18,6 +20,5 @@ flagB: true, | ||
}) | ||
t.end() | ||
}) | ||
test('option=value notation: two plus a regular notation', function (t) { | ||
test('option=value notation: two plus a regular notation', function () { | ||
var optionDefinitions = [ | ||
@@ -31,6 +32,5 @@ { name: 'one' }, | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.strictEqual(result.one, '1') | ||
t.strictEqual(result.two, '2') | ||
t.strictEqual(result.three, '3') | ||
t.end() | ||
a.strictEqual(result.one, '1') | ||
a.strictEqual(result.two, '2') | ||
a.strictEqual(result.three, '3') | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -8,9 +10,8 @@ var optionDefinitions = [ | ||
test('type-boolean-multiple: 1', function (t) { | ||
test('type-boolean-multiple: 1', function () { | ||
var argv = [ '--array', '--array', '--array' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
array: [ true, true, true ] | ||
}) | ||
t.end() | ||
}) |
@@ -1,27 +0,57 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
var optionDefinitions = [ | ||
{ name: 'one', type: Boolean } | ||
] | ||
test('type-boolean: different values', function () { | ||
var optionDefinitions = [ | ||
{ name: 'one', type: Boolean } | ||
] | ||
test('type-boolean: different values', function (t) { | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one' ]), | ||
{ one: true } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'true' ]), | ||
{ one: true } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'false' ]), | ||
{ one: true } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'sfsgf' ]), | ||
{ one: true } | ||
) | ||
}) | ||
t.end() | ||
var origBoolean = Boolean | ||
/* test in contexts which override the standard global Boolean constructor */ | ||
test('type-boolean: global Boolean overridden', function () { | ||
function Boolean () { | ||
return origBoolean.apply(origBoolean, arguments) | ||
} | ||
var optionDefinitions = [ | ||
{ name: 'one', type: Boolean } | ||
] | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'true' ]), | ||
{ one: true } | ||
) | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'false' ]), | ||
{ one: true } | ||
) | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'sfsgf' ]), | ||
{ one: true } | ||
) | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one' ]), | ||
{ one: true } | ||
) | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -9,47 +11,42 @@ var optionDefinitions = [ | ||
test('name: no argv values', function (t) { | ||
test('name: no argv values', function () { | ||
var argv = [] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, {}) | ||
t.end() | ||
a.deepStrictEqual(result, {}) | ||
}) | ||
test('name: just names, no values', function (t) { | ||
test('name: just names, no values', function () { | ||
var argv = [ '--one', '--two' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
one: true, | ||
two: true | ||
}) | ||
t.end() | ||
}) | ||
test('name: just names, no values, unpassed value', function (t) { | ||
test('name: just names, no values, unpassed value', function () { | ||
var argv = [ '--one', '--two' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
one: true, | ||
two: true | ||
}) | ||
t.end() | ||
}) | ||
test('name: just names, one value, one unpassed value', function (t) { | ||
test('name: just names, one value, one unpassed value', function () { | ||
var argv = [ '--one', 'one', '--two' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
one: 'one', | ||
two: true | ||
}) | ||
t.end() | ||
}) | ||
test('name: just names, two values', function (t) { | ||
test('name: just names, two values', function () { | ||
var argv = [ '--one', 'one', '--two', 'two' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
one: 'one', | ||
two: 'two' | ||
}) | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -8,24 +10,22 @@ var optionDefinitions = [ | ||
test('number multiple: 1', function (t) { | ||
test('number multiple: 1', function () { | ||
var argv = [ '--array', '1', '2', '3' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
array: [ 1, 2, 3 ] | ||
}) | ||
t.notDeepEqual(result, { | ||
a.notDeepStrictEqual(result, { | ||
array: [ '1', '2', '3' ] | ||
}) | ||
t.end() | ||
}) | ||
test('number multiple: 2', function (t) { | ||
test('number multiple: 2', function () { | ||
var argv = [ '--array', '1', '--array', '2', '--array', '3' ] | ||
var result = cliArgs(optionDefinitions, argv) | ||
t.deepEqual(result, { | ||
a.deepStrictEqual(result, { | ||
array: [ 1, 2, 3 ] | ||
}) | ||
t.notDeepEqual(result, { | ||
a.notDeepStrictEqual(result, { | ||
array: [ '1', '2', '3' ] | ||
}) | ||
t.end() | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -8,12 +10,12 @@ var optionDefinitions = [ | ||
test('type-number: different values', function (t) { | ||
t.deepEqual( | ||
test('type-number: different values', function () { | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', '1' ]), | ||
{ one: 1 } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one' ]), | ||
{ one: null } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', '-1' ]), | ||
@@ -23,5 +25,3 @@ { one: -1 } | ||
var result = cliArgs(optionDefinitions, [ '--one', 'asdf' ]) | ||
t.ok(isNaN(result.one)) | ||
t.end() | ||
a.ok(isNaN(result.one)) | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -10,17 +12,15 @@ var optionDefinitions = [ | ||
test('type-other-multiple: different values', function (t) { | ||
t.deepEqual( | ||
test('type-other-multiple: different values', function () { | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--file', 'one.js' ]), | ||
{ file: [ 'one.js' ] } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--file', 'one.js', 'two.js' ]), | ||
{ file: [ 'one.js', 'two.js' ] } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--file' ]), | ||
{ file: [] } | ||
) | ||
t.end() | ||
}) |
@@ -1,21 +0,32 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
var optionDefinitions = [ | ||
{ name: 'file', type: function (file) { | ||
return file | ||
}} | ||
] | ||
test('type-other: different values', function () { | ||
var optionDefinitions = [ | ||
{ name: 'file', type: function (file) { | ||
return file | ||
}} | ||
] | ||
test('type-other: different values', function (t) { | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--file', 'one.js' ]), | ||
{ file: 'one.js' } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--file' ]), | ||
{ file: null } | ||
) | ||
}) | ||
t.end() | ||
test('type-other: broken custom type function', function () { | ||
var optionDefinitions = [ | ||
{ name: 'file', type: function (file) { | ||
lasdfjsfakn | ||
}} | ||
] | ||
a.throws(function () { | ||
cliArgs(optionDefinitions, [ '--file', 'one.js' ]) | ||
}) | ||
}) |
@@ -1,3 +0,5 @@ | ||
var test = require('tape') | ||
'use strict' | ||
var test = require('test-runner') | ||
var cliArgs = require('../') | ||
var a = require('core-assert') | ||
@@ -8,26 +10,23 @@ var optionDefinitions = [ | ||
test('type-string: different values', function (t) { | ||
t.deepEqual( | ||
test('type-string: different values', function () { | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', 'yeah' ]), | ||
{ one: 'yeah' } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one' ]), | ||
{ one: null } | ||
) | ||
t.deepEqual( | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', '3' ]), | ||
{ one: '3' } | ||
) | ||
t.end() | ||
}) | ||
/* currently not supported, it would complain --yeah is an invalid option */ | ||
test.skip('type-string: pass a value resembling an option', function (t) { | ||
t.deepEqual( | ||
test.skip('type-string: pass a value resembling an option', function () { | ||
a.deepStrictEqual( | ||
cliArgs(optionDefinitions, [ '--one', '--yeah' ]), | ||
{ one: '--yeah' } | ||
) | ||
t.end() | ||
}) |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
76528
1836
6
Updatedcore-js@^2.4.1
Updatedfeature-detect-es6@^1.3.1
Updatedtypical@^2.5.0