-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
options.flags.test.js
84 lines (73 loc) · 2.79 KB
/
options.flags.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
const commander = require('../');
// Test the various ways flags can be specified in the first parameter to `.option`
test('when only short flag defined and not specified then value is undefined', () => {
const program = new commander.Command();
program
.option('-p', 'add pepper');
program.parse(['node', 'test']);
expect(program.p).toBeUndefined();
});
// Sanity check that pepper is not true normally, as otherwise all the following tests would pass for thr wrong reasons!
test('when only short flag defined and specified then value is true', () => {
const program = new commander.Command();
program
.option('-p', 'add pepper');
program.parse(['node', 'test', '-p']);
expect(program.p).toBe(true);
});
test('when only long flag defined and not specified then value is undefined', () => {
const program = new commander.Command();
program
.option('--pepper', 'add pepper');
program.parse(['node', 'test']);
expect(program.pepper).toBeUndefined();
});
test('when only long flag defined and specified then value is true', () => {
const program = new commander.Command();
program
.option('--pepper', 'add pepper');
program.parse(['node', 'test', '--pepper']);
expect(program.pepper).toBe(true);
});
test('when "short,long" flags defined and short specified then value is true', () => {
const program = new commander.Command();
program
.option('-p,--pepper', 'add pepper');
program.parse(['node', 'test', '-p']);
expect(program.pepper).toBe(true);
});
test('when "short,long" flags defined and long specified then value is true', () => {
const program = new commander.Command();
program
.option('-p,--pepper', 'add pepper');
program.parse(['node', 'test', '--pepper']);
expect(program.pepper).toBe(true);
});
test('when "short|long" flags defined and short specified then value is true', () => {
const program = new commander.Command();
program
.option('-p|--pepper', 'add pepper');
program.parse(['node', 'test', '-p']);
expect(program.pepper).toBe(true);
});
test('when "short|long" flags defined and long specified then value is true', () => {
const program = new commander.Command();
program
.option('-p|--pepper', 'add pepper');
program.parse(['node', 'test', '--pepper']);
expect(program.pepper).toBe(true);
});
test('when "short long" flags defined and short specified then value is true', () => {
const program = new commander.Command();
program
.option('-p --pepper', 'add pepper');
program.parse(['node', 'test', '-p']);
expect(program.pepper).toBe(true);
});
test('when "short long" flags defined and long specified then value is true', () => {
const program = new commander.Command();
program
.option('-p --pepper', 'add pepper');
program.parse(['node', 'test', '--pepper']);
expect(program.pepper).toBe(true);
});