source: trip-planner-front/node_modules/minimist/test/unknown.js@ 1ad8e64

Last change on this file since 1ad8e64 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

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