This repository has been archived by the owner on Feb 27, 2022. It is now read-only.
/
test-nshtools-getOption.js
139 lines (134 loc) · 3.95 KB
/
test-nshtools-getOption.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/env node
option_test = '--testme="Hello World"';
nshtools = require(process.cwd() + '/nshtools');
nsh = nshtools.createNshtool();
nsh.echo("Running manual test. e.g. --test='hello world'");
nsh.getOption('--test', function (test_error, value) {
if (test_error) {
nsh.echo("Try running: node test-nshtools.getOption.js --test='hello world'");
return;
}
nsh.echo("OK? --test returned [" + value + "]");
});
nsh.echo("Running automated tests.");
nsh.argv.push(option_test);
nsh.getOption('--testme', function (testme_error, value) {
if (testme_error) {
nsh.echo("Failed: should have found the --testme option. " + testme_error);
} else {
if (value.trim() === '"Hello World"') {
nsh.echo("Success: --testme returned " + value);
} else {
nsh.echo("ERROR: Get unexpected wrong value: " + value);
}
}
});
nsh.getOption('--testme', function (testme_error, value) {
if (testme_error) {
nsh.echo("Success: last call should have removed --testme option. " + testme_error);
} else {
nsh.echo("Failed: should not still have --testme in nsh.argv list returned " + value);
}
});
nsh.echo("Testing Short Option (-t):");
nsh.argv.push('-t');
nsh.getOption('-t', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -t');
if (arg === undefined) {
nsh.echo('OK, found -t with related arg undefined OK.');
}
});
nsh.echo("Testing Short Option (-t optional_arg):");
nsh.argv.push('-t');
nsh.argv.push('optional_arg');
nsh.getOption('-t', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
if (arg === 'optional_arg') {
nsh.echo('OK, found -t optional_arg.');
} else {
nsh.echo('Oops, found -t but not "optional_arg" [' + arg + ']');
}
});
nsh.echo("Testing Combined short Options (-zxvf):");
nsh.argv.push('-zxvf');
nsh.getOption('-z', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -z');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-x', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -x');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-v', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -v');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-f', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -f');
if (arg === undefined) {
nsh.echo('Ok, did not define additional arg');
}
});
nsh.argv = ['node', 'test-nshtools-getOption.js', '-zxvf', 'test.txt'];
nsh.echo("Testing Short Option (-zxvf optional_arg):");
nsh.getOption('-z', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -z');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-x', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -x');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-v', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -v');
if (arg !== undefined) {
nsh.echo("Oops, stole arg from something: " + arg);
}
});
nsh.getOption('-f', function(t_error, arg) {
if (t_error) {
nsh.echo("Oops should have found this: " + t_error);
}
nsh.echo('OK, found -f');
if (arg === undefined) {
nsh.echo('Oops, found -f without option_arg.' + nsh.inspect(nsh.argv));
} else {
nsh.echo('Ok, -f ' + arg);
}
});