source: node_modules/minimist/test/unknown.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 2.1 KB
Line 
1'use strict';
2
3var parse = require('../');
4var test = require('tape');
5
6test('boolean and alias is not unknown', function (t) {
7 var unknown = [];
8 function unknownFn(arg) {
9 unknown.push(arg);
10 return false;
11 }
12 var aliased = ['-h', 'true', '--derp', 'true'];
13 var regular = ['--herp', 'true', '-d', 'true'];
14 var opts = {
15 alias: { h: 'herp' },
16 boolean: 'h',
17 unknown: unknownFn,
18 };
19 parse(aliased, opts);
20 parse(regular, opts);
21
22 t.same(unknown, ['--derp', '-d']);
23 t.end();
24});
25
26test('flag boolean true any double hyphen argument is not unknown', function (t) {
27 var unknown = [];
28 function unknownFn(arg) {
29 unknown.push(arg);
30 return false;
31 }
32 var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {
33 boolean: true,
34 unknown: unknownFn,
35 });
36 t.same(unknown, ['--tacos=good', 'cow', '-p']);
37 t.same(argv, {
38 honk: true,
39 _: [],
40 });
41 t.end();
42});
43
44test('string and alias is not unknown', function (t) {
45 var unknown = [];
46 function unknownFn(arg) {
47 unknown.push(arg);
48 return false;
49 }
50 var aliased = ['-h', 'hello', '--derp', 'goodbye'];
51 var regular = ['--herp', 'hello', '-d', 'moon'];
52 var opts = {
53 alias: { h: 'herp' },
54 string: 'h',
55 unknown: unknownFn,
56 };
57 parse(aliased, opts);
58 parse(regular, opts);
59
60 t.same(unknown, ['--derp', '-d']);
61 t.end();
62});
63
64test('default and alias is not unknown', function (t) {
65 var unknown = [];
66 function unknownFn(arg) {
67 unknown.push(arg);
68 return false;
69 }
70 var aliased = ['-h', 'hello'];
71 var regular = ['--herp', 'hello'];
72 var opts = {
73 default: { h: 'bar' },
74 alias: { h: 'herp' },
75 unknown: unknownFn,
76 };
77 parse(aliased, opts);
78 parse(regular, opts);
79
80 t.same(unknown, []);
81 t.end();
82 unknownFn(); // exercise fn for 100% coverage
83});
84
85test('value following -- is not unknown', function (t) {
86 var unknown = [];
87 function unknownFn(arg) {
88 unknown.push(arg);
89 return false;
90 }
91 var aliased = ['--bad', '--', 'good', 'arg'];
92 var opts = {
93 '--': true,
94 unknown: unknownFn,
95 };
96 var argv = parse(aliased, opts);
97
98 t.same(unknown, ['--bad']);
99 t.same(argv, {
100 '--': ['good', 'arg'],
101 _: [],
102 });
103 t.end();
104});
Note: See TracBrowser for help on using the repository browser.