diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2019-10-06 21:37:45 +0200 | 
|---|---|---|
| committer | Dimitri Staessens <dimitri@ouroboros.rocks> | 2019-10-06 21:37:45 +0200 | 
| commit | 3c51c3be85bb0d1bdb87ea0d6632f1c256912f27 (patch) | |
| tree | c7ccc8279b12c4f7bdbbb4270d617e48f51722e4 /node_modules/minimist/test | |
| parent | 412c104bebc507bea9c94fd53b5bdc4b64cbfe31 (diff) | |
| download | website-3c51c3be85bb0d1bdb87ea0d6632f1c256912f27.tar.gz website-3c51c3be85bb0d1bdb87ea0d6632f1c256912f27.zip | |
build: Add some required modules for node
Diffstat (limited to 'node_modules/minimist/test')
| -rw-r--r-- | node_modules/minimist/test/all_bool.js | 32 | ||||
| -rw-r--r-- | node_modules/minimist/test/bool.js | 166 | ||||
| -rw-r--r-- | node_modules/minimist/test/dash.js | 31 | ||||
| -rw-r--r-- | node_modules/minimist/test/default_bool.js | 35 | ||||
| -rw-r--r-- | node_modules/minimist/test/dotted.js | 22 | ||||
| -rw-r--r-- | node_modules/minimist/test/kv_short.js | 16 | ||||
| -rw-r--r-- | node_modules/minimist/test/long.js | 31 | ||||
| -rw-r--r-- | node_modules/minimist/test/num.js | 36 | ||||
| -rw-r--r-- | node_modules/minimist/test/parse.js | 197 | ||||
| -rw-r--r-- | node_modules/minimist/test/parse_modified.js | 9 | ||||
| -rw-r--r-- | node_modules/minimist/test/short.js | 67 | ||||
| -rw-r--r-- | node_modules/minimist/test/stop_early.js | 15 | ||||
| -rw-r--r-- | node_modules/minimist/test/unknown.js | 102 | ||||
| -rw-r--r-- | node_modules/minimist/test/whitespace.js | 8 | 
14 files changed, 767 insertions, 0 deletions
| diff --git a/node_modules/minimist/test/all_bool.js b/node_modules/minimist/test/all_bool.js new file mode 100644 index 0000000..ac83548 --- /dev/null +++ b/node_modules/minimist/test/all_bool.js @@ -0,0 +1,32 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean true (default all --args to boolean)', function (t) { +    var argv = parse(['moo', '--honk', 'cow'], { +        boolean: true +    }); +     +    t.deepEqual(argv, { +        honk: true, +        _: ['moo', 'cow'] +    }); +     +    t.deepEqual(typeof argv.honk, 'boolean'); +    t.end(); +}); + +test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { +    var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { +        boolean: true +    }); +     +    t.deepEqual(argv, { +        honk: true, +        tacos: 'good', +        p: 55, +        _: ['moo', 'cow'] +    }); +     +    t.deepEqual(typeof argv.honk, 'boolean'); +    t.end(); +}); diff --git a/node_modules/minimist/test/bool.js b/node_modules/minimist/test/bool.js new file mode 100644 index 0000000..14b0717 --- /dev/null +++ b/node_modules/minimist/test/bool.js @@ -0,0 +1,166 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean default false', function (t) { +    var argv = parse(['moo'], { +        boolean: ['t', 'verbose'], +        default: { verbose: false, t: false } +    }); +     +    t.deepEqual(argv, { +        verbose: false, +        t: false, +        _: ['moo'] +    }); +     +    t.deepEqual(typeof argv.verbose, 'boolean'); +    t.deepEqual(typeof argv.t, 'boolean'); +    t.end(); + +}); + +test('boolean groups', function (t) { +    var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { +        boolean: ['x','y','z'] +    }); +     +    t.deepEqual(argv, { +        x : true, +        y : false, +        z : true, +        _ : [ 'one', 'two', 'three' ] +    }); +     +    t.deepEqual(typeof argv.x, 'boolean'); +    t.deepEqual(typeof argv.y, 'boolean'); +    t.deepEqual(typeof argv.z, 'boolean'); +    t.end(); +}); +test('boolean and alias with chainable api', function (t) { +    var aliased = [ '-h', 'derp' ]; +    var regular = [ '--herp',  'derp' ]; +    var opts = { +        herp: { alias: 'h', boolean: true } +    }; +    var aliasedArgv = parse(aliased, { +        boolean: 'herp', +        alias: { h: 'herp' } +    }); +    var propertyArgv = parse(regular, { +        boolean: 'herp', +        alias: { h: 'herp' } +    }); +    var expected = { +        herp: true, +        h: true, +        '_': [ 'derp' ] +    }; +     +    t.same(aliasedArgv, expected); +    t.same(propertyArgv, expected);  +    t.end(); +}); + +test('boolean and alias with options hash', function (t) { +    var aliased = [ '-h', 'derp' ]; +    var regular = [ '--herp', 'derp' ]; +    var opts = { +        alias: { 'h': 'herp' }, +        boolean: 'herp' +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); +    var expected = { +        herp: true, +        h: true, +        '_': [ 'derp' ] +    }; +    t.same(aliasedArgv, expected); +    t.same(propertyArgv, expected); +    t.end(); +}); + +test('boolean and alias array with options hash', function (t) { +    var aliased = [ '-h', 'derp' ]; +    var regular = [ '--herp', 'derp' ]; +    var alt = [ '--harp', 'derp' ]; +    var opts = { +        alias: { 'h': ['herp', 'harp'] }, +        boolean: 'h' +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); +    var altPropertyArgv = parse(alt, opts); +    var expected = { +        harp: true, +        herp: true, +        h: true, +        '_': [ 'derp' ] +    }; +    t.same(aliasedArgv, expected); +    t.same(propertyArgv, expected); +    t.same(altPropertyArgv, expected); +    t.end(); +}); + +test('boolean and alias using explicit true', function (t) { +    var aliased = [ '-h', 'true' ]; +    var regular = [ '--herp',  'true' ]; +    var opts = { +        alias: { h: 'herp' }, +        boolean: 'h' +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); +    var expected = { +        herp: true, +        h: true, +        '_': [ ] +    }; + +    t.same(aliasedArgv, expected); +    t.same(propertyArgv, expected);  +    t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { +    var parsed = parse(['--boool', '--other=true'], { +        boolean: 'boool' +    }); + +    t.same(parsed.boool, true); +    t.same(parsed.other, 'true'); + +    parsed = parse(['--boool', '--other=false'], { +        boolean: 'boool' +    }); +     +    t.same(parsed.boool, true); +    t.same(parsed.other, 'false'); +    t.end(); +}); + +test('boolean --boool=true', function (t) { +    var parsed = parse(['--boool=true'], { +        default: { +            boool: false +        }, +        boolean: ['boool'] +    }); + +    t.same(parsed.boool, true); +    t.end(); +}); + +test('boolean --boool=false', function (t) { +    var parsed = parse(['--boool=false'], { +        default: { +          boool: true +        }, +        boolean: ['boool'] +    }); + +    t.same(parsed.boool, false); +    t.end(); +}); diff --git a/node_modules/minimist/test/dash.js b/node_modules/minimist/test/dash.js new file mode 100644 index 0000000..5a4fa5b --- /dev/null +++ b/node_modules/minimist/test/dash.js @@ -0,0 +1,31 @@ +var parse = require('../'); +var test = require('tape'); + +test('-', function (t) { +    t.plan(5); +    t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); +    t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); +    t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); +    t.deepEqual( +        parse([ '-b', '-' ], { boolean: 'b' }), +        { b: true, _: [ '-' ] } +    ); +    t.deepEqual( +        parse([ '-s', '-' ], { string: 's' }), +        { s: '-', _: [] } +    ); +}); + +test('-a -- b', function (t) { +    t.plan(3); +    t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); +    t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); +    t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); +}); + +test('move arguments after the -- into their own `--` array', function(t) { +    t.plan(1); +    t.deepEqual( +        parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), +        { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); +}); diff --git a/node_modules/minimist/test/default_bool.js b/node_modules/minimist/test/default_bool.js new file mode 100644 index 0000000..780a311 --- /dev/null +++ b/node_modules/minimist/test/default_bool.js @@ -0,0 +1,35 @@ +var test = require('tape'); +var parse = require('../'); + +test('boolean default true', function (t) { +    var argv = parse([], { +        boolean: 'sometrue', +        default: { sometrue: true } +    }); +    t.equal(argv.sometrue, true); +    t.end(); +}); + +test('boolean default false', function (t) { +    var argv = parse([], { +        boolean: 'somefalse', +        default: { somefalse: false } +    }); +    t.equal(argv.somefalse, false); +    t.end(); +}); + +test('boolean default to null', function (t) { +    var argv = parse([], { +        boolean: 'maybe', +        default: { maybe: null } +    }); +    t.equal(argv.maybe, null); +    var argv = parse(['--maybe'], { +        boolean: 'maybe', +        default: { maybe: null } +    }); +    t.equal(argv.maybe, true); +    t.end(); + +}) diff --git a/node_modules/minimist/test/dotted.js b/node_modules/minimist/test/dotted.js new file mode 100644 index 0000000..d8b3e85 --- /dev/null +++ b/node_modules/minimist/test/dotted.js @@ -0,0 +1,22 @@ +var parse = require('../'); +var test = require('tape'); + +test('dotted alias', function (t) { +    var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); +    t.equal(argv.a.b, 22); +    t.equal(argv.aa.bb, 22); +    t.end(); +}); + +test('dotted default', function (t) { +    var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); +    t.equal(argv.a.b, 11); +    t.equal(argv.aa.bb, 11); +    t.end(); +}); + +test('dotted default with no alias', function (t) { +    var argv = parse('', {default: {'a.b': 11}}); +    t.equal(argv.a.b, 11); +    t.end(); +}); diff --git a/node_modules/minimist/test/kv_short.js b/node_modules/minimist/test/kv_short.js new file mode 100644 index 0000000..f813b30 --- /dev/null +++ b/node_modules/minimist/test/kv_short.js @@ -0,0 +1,16 @@ +var parse = require('../'); +var test = require('tape'); + +test('short -k=v' , function (t) { +    t.plan(1); +     +    var argv = parse([ '-b=123' ]); +    t.deepEqual(argv, { b: 123, _: [] }); +}); + +test('multi short -k=v' , function (t) { +    t.plan(1); +     +    var argv = parse([ '-a=whatever', '-b=robots' ]); +    t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); +}); diff --git a/node_modules/minimist/test/long.js b/node_modules/minimist/test/long.js new file mode 100644 index 0000000..5d3a1e0 --- /dev/null +++ b/node_modules/minimist/test/long.js @@ -0,0 +1,31 @@ +var test = require('tape'); +var parse = require('../'); + +test('long opts', function (t) { +    t.deepEqual( +        parse([ '--bool' ]), +        { bool : true, _ : [] }, +        'long boolean' +    ); +    t.deepEqual( +        parse([ '--pow', 'xixxle' ]), +        { pow : 'xixxle', _ : [] }, +        'long capture sp' +    ); +    t.deepEqual( +        parse([ '--pow=xixxle' ]), +        { pow : 'xixxle', _ : [] }, +        'long capture eq' +    ); +    t.deepEqual( +        parse([ '--host', 'localhost', '--port', '555' ]), +        { host : 'localhost', port : 555, _ : [] }, +        'long captures sp' +    ); +    t.deepEqual( +        parse([ '--host=localhost', '--port=555' ]), +        { host : 'localhost', port : 555, _ : [] }, +        'long captures eq' +    ); +    t.end(); +}); diff --git a/node_modules/minimist/test/num.js b/node_modules/minimist/test/num.js new file mode 100644 index 0000000..2cc77f4 --- /dev/null +++ b/node_modules/minimist/test/num.js @@ -0,0 +1,36 @@ +var parse = require('../'); +var test = require('tape'); + +test('nums', function (t) { +    var argv = parse([ +        '-x', '1234', +        '-y', '5.67', +        '-z', '1e7', +        '-w', '10f', +        '--hex', '0xdeadbeef', +        '789' +    ]); +    t.deepEqual(argv, { +        x : 1234, +        y : 5.67, +        z : 1e7, +        w : '10f', +        hex : 0xdeadbeef, +        _ : [ 789 ] +    }); +    t.deepEqual(typeof argv.x, 'number'); +    t.deepEqual(typeof argv.y, 'number'); +    t.deepEqual(typeof argv.z, 'number'); +    t.deepEqual(typeof argv.w, 'string'); +    t.deepEqual(typeof argv.hex, 'number'); +    t.deepEqual(typeof argv._[0], 'number'); +    t.end(); +}); + +test('already a number', function (t) { +    var argv = parse([ '-x', 1234, 789 ]); +    t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); +    t.deepEqual(typeof argv.x, 'number'); +    t.deepEqual(typeof argv._[0], 'number'); +    t.end(); +}); diff --git a/node_modules/minimist/test/parse.js b/node_modules/minimist/test/parse.js new file mode 100644 index 0000000..7b4a2a1 --- /dev/null +++ b/node_modules/minimist/test/parse.js @@ -0,0 +1,197 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse args', function (t) { +    t.deepEqual( +        parse([ '--no-moo' ]), +        { moo : false, _ : [] }, +        'no' +    ); +    t.deepEqual( +        parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]), +        { v : ['a','b','c'], _ : [] }, +        'multi' +    ); +    t.end(); +}); +  +test('comprehensive', function (t) { +    t.deepEqual( +        parse([ +            '--name=meowmers', 'bare', '-cats', 'woo', +            '-h', 'awesome', '--multi=quux', +            '--key', 'value', +            '-b', '--bool', '--no-meep', '--multi=baz', +            '--', '--not-a-flag', 'eek' +        ]), +        { +            c : true, +            a : true, +            t : true, +            s : 'woo', +            h : 'awesome', +            b : true, +            bool : true, +            key : 'value', +            multi : [ 'quux', 'baz' ], +            meep : false, +            name : 'meowmers', +            _ : [ 'bare', '--not-a-flag', 'eek' ] +        } +    ); +    t.end(); +}); + +test('flag boolean', function (t) { +    var argv = parse([ '-t', 'moo' ], { boolean: 't' }); +    t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); +    t.deepEqual(typeof argv.t, 'boolean'); +    t.end(); +}); + +test('flag boolean value', function (t) { +    var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], { +        boolean: [ 't', 'verbose' ], +        default: { verbose: true } +    }); +     +    t.deepEqual(argv, { +        verbose: false, +        t: true, +        _: ['moo'] +    }); +     +    t.deepEqual(typeof argv.verbose, 'boolean'); +    t.deepEqual(typeof argv.t, 'boolean'); +    t.end(); +}); + +test('newlines in params' , function (t) { +    var args = parse([ '-s', "X\nX" ]) +    t.deepEqual(args, { _ : [], s : "X\nX" }); +     +    // reproduce in bash: +    // VALUE="new +    // line" +    // node program.js --s="$VALUE" +    args = parse([ "--s=X\nX" ]) +    t.deepEqual(args, { _ : [], s : "X\nX" }); +    t.end(); +}); + +test('strings' , function (t) { +    var s = parse([ '-s', '0001234' ], { string: 's' }).s; +    t.equal(s, '0001234'); +    t.equal(typeof s, 'string'); +     +    var x = parse([ '-x', '56' ], { string: 'x' }).x; +    t.equal(x, '56'); +    t.equal(typeof x, 'string'); +    t.end(); +}); + +test('stringArgs', function (t) { +    var s = parse([ '  ', '  ' ], { string: '_' })._; +    t.same(s.length, 2); +    t.same(typeof s[0], 'string'); +    t.same(s[0], '  '); +    t.same(typeof s[1], 'string'); +    t.same(s[1], '  '); +    t.end(); +}); + +test('empty strings', function(t) { +    var s = parse([ '-s' ], { string: 's' }).s; +    t.equal(s, ''); +    t.equal(typeof s, 'string'); + +    var str = parse([ '--str' ], { string: 'str' }).str; +    t.equal(str, ''); +    t.equal(typeof str, 'string'); + +    var letters = parse([ '-art' ], { +        string: [ 'a', 't' ] +    }); + +    t.equal(letters.a, ''); +    t.equal(letters.r, true); +    t.equal(letters.t, ''); + +    t.end(); +}); + + +test('string and alias', function(t) { +    var x = parse([ '--str',  '000123' ], { +        string: 's', +        alias: { s: 'str' } +    }); + +    t.equal(x.str, '000123'); +    t.equal(typeof x.str, 'string'); +    t.equal(x.s, '000123'); +    t.equal(typeof x.s, 'string'); + +    var y = parse([ '-s',  '000123' ], { +        string: 'str', +        alias: { str: 's' } +    }); + +    t.equal(y.str, '000123'); +    t.equal(typeof y.str, 'string'); +    t.equal(y.s, '000123'); +    t.equal(typeof y.s, 'string'); +    t.end(); +}); + +test('slashBreak', function (t) { +    t.same( +        parse([ '-I/foo/bar/baz' ]), +        { I : '/foo/bar/baz', _ : [] } +    ); +    t.same( +        parse([ '-xyz/foo/bar/baz' ]), +        { x : true, y : true, z : '/foo/bar/baz', _ : [] } +    ); +    t.end(); +}); + +test('alias', function (t) { +    var argv = parse([ '-f', '11', '--zoom', '55' ], { +        alias: { z: 'zoom' } +    }); +    t.equal(argv.zoom, 55); +    t.equal(argv.z, argv.zoom); +    t.equal(argv.f, 11); +    t.end(); +}); + +test('multiAlias', function (t) { +    var argv = parse([ '-f', '11', '--zoom', '55' ], { +        alias: { z: [ 'zm', 'zoom' ] } +    }); +    t.equal(argv.zoom, 55); +    t.equal(argv.z, argv.zoom); +    t.equal(argv.z, argv.zm); +    t.equal(argv.f, 11); +    t.end(); +}); + +test('nested dotted objects', function (t) { +    var argv = parse([ +        '--foo.bar', '3', '--foo.baz', '4', +        '--foo.quux.quibble', '5', '--foo.quux.o_O', +        '--beep.boop' +    ]); +     +    t.same(argv.foo, { +        bar : 3, +        baz : 4, +        quux : { +            quibble : 5, +            o_O : true +        } +    }); +    t.same(argv.beep, { boop : true }); +    t.end(); +}); diff --git a/node_modules/minimist/test/parse_modified.js b/node_modules/minimist/test/parse_modified.js new file mode 100644 index 0000000..ab620dc --- /dev/null +++ b/node_modules/minimist/test/parse_modified.js @@ -0,0 +1,9 @@ +var parse = require('../'); +var test = require('tape'); + +test('parse with modifier functions' , function (t) { +    t.plan(1); +     +    var argv = parse([ '-b', '123' ], { boolean: 'b' }); +    t.deepEqual(argv, { b: true, _: [123] }); +}); diff --git a/node_modules/minimist/test/short.js b/node_modules/minimist/test/short.js new file mode 100644 index 0000000..d513a1c --- /dev/null +++ b/node_modules/minimist/test/short.js @@ -0,0 +1,67 @@ +var parse = require('../'); +var test = require('tape'); + +test('numeric short args', function (t) { +    t.plan(2); +    t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); +    t.deepEqual( +        parse([ '-123', '456' ]), +        { 1: true, 2: true, 3: 456, _: [] } +    ); +}); + +test('short', function (t) { +    t.deepEqual( +        parse([ '-b' ]), +        { b : true, _ : [] }, +        'short boolean' +    ); +    t.deepEqual( +        parse([ 'foo', 'bar', 'baz' ]), +        { _ : [ 'foo', 'bar', 'baz' ] }, +        'bare' +    ); +    t.deepEqual( +        parse([ '-cats' ]), +        { c : true, a : true, t : true, s : true, _ : [] }, +        'group' +    ); +    t.deepEqual( +        parse([ '-cats', 'meow' ]), +        { c : true, a : true, t : true, s : 'meow', _ : [] }, +        'short group next' +    ); +    t.deepEqual( +        parse([ '-h', 'localhost' ]), +        { h : 'localhost', _ : [] }, +        'short capture' +    ); +    t.deepEqual( +        parse([ '-h', 'localhost', '-p', '555' ]), +        { h : 'localhost', p : 555, _ : [] }, +        'short captures' +    ); +    t.end(); +}); +  +test('mixed short bool and capture', function (t) { +    t.same( +        parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), +        { +            f : true, p : 555, h : 'localhost', +            _ : [ 'script.js' ] +        } +    ); +    t.end(); +}); +  +test('short and long', function (t) { +    t.deepEqual( +        parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), +        { +            f : true, p : 555, h : 'localhost', +            _ : [ 'script.js' ] +        } +    ); +    t.end(); +}); diff --git a/node_modules/minimist/test/stop_early.js b/node_modules/minimist/test/stop_early.js new file mode 100644 index 0000000..bdf9fbc --- /dev/null +++ b/node_modules/minimist/test/stop_early.js @@ -0,0 +1,15 @@ +var parse = require('../'); +var test = require('tape'); + +test('stops parsing on the first non-option when stopEarly is set', function (t) { +    var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { +        stopEarly: true +    }); + +    t.deepEqual(argv, { +        aaa: 'bbb', +        _: ['ccc', '--ddd'] +    }); + +    t.end(); +}); diff --git a/node_modules/minimist/test/unknown.js b/node_modules/minimist/test/unknown.js new file mode 100644 index 0000000..462a36b --- /dev/null +++ b/node_modules/minimist/test/unknown.js @@ -0,0 +1,102 @@ +var parse = require('../'); +var test = require('tape'); + +test('boolean and alias is not unknown', function (t) { +    var unknown = []; +    function unknownFn(arg) { +        unknown.push(arg); +        return false; +    } +    var aliased = [ '-h', 'true', '--derp', 'true' ]; +    var regular = [ '--herp',  'true', '-d', 'true' ]; +    var opts = { +        alias: { h: 'herp' }, +        boolean: 'h', +        unknown: unknownFn +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); + +    t.same(unknown, ['--derp', '-d']); +    t.end(); +}); + +test('flag boolean true any double hyphen argument is not unknown', function (t) { +    var unknown = []; +    function unknownFn(arg) { +        unknown.push(arg); +        return false; +    } +    var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { +        boolean: true, +        unknown: unknownFn +    }); +    t.same(unknown, ['--tacos=good', 'cow', '-p']); +    t.same(argv, { +        honk: true, +        _: [] +    }); +    t.end(); +}); + +test('string and alias is not unknown', function (t) { +    var unknown = []; +    function unknownFn(arg) { +        unknown.push(arg); +        return false; +    } +    var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; +    var regular = [ '--herp',  'hello', '-d', 'moon' ]; +    var opts = { +        alias: { h: 'herp' }, +        string: 'h', +        unknown: unknownFn +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); + +    t.same(unknown, ['--derp', '-d']); +    t.end(); +}); + +test('default and alias is not unknown', function (t) { +    var unknown = []; +    function unknownFn(arg) { +        unknown.push(arg); +        return false; +    } +    var aliased = [ '-h', 'hello' ]; +    var regular = [ '--herp',  'hello' ]; +    var opts = { +        default: { 'h': 'bar' }, +        alias: { 'h': 'herp' }, +        unknown: unknownFn +    }; +    var aliasedArgv = parse(aliased, opts); +    var propertyArgv = parse(regular, opts); + +    t.same(unknown, []); +    t.end(); +    unknownFn(); // exercise fn for 100% coverage +}); + +test('value following -- is not unknown', function (t) { +    var unknown = []; +    function unknownFn(arg) { +        unknown.push(arg); +        return false; +    } +    var aliased = [ '--bad', '--', 'good', 'arg' ]; +    var opts = { +        '--': true, +        unknown: unknownFn +    }; +    var argv = parse(aliased, opts); + +    t.same(unknown, ['--bad']); +    t.same(argv, { +        '--': ['good', 'arg'], +        '_': [] +    }) +    t.end(); +}); diff --git a/node_modules/minimist/test/whitespace.js b/node_modules/minimist/test/whitespace.js new file mode 100644 index 0000000..8a52a58 --- /dev/null +++ b/node_modules/minimist/test/whitespace.js @@ -0,0 +1,8 @@ +var parse = require('../'); +var test = require('tape'); + +test('whitespace should be whitespace' , function (t) { +    t.plan(1); +    var x = parse([ '-x', '\t' ]).x; +    t.equal(x, '\t'); +}); | 
