Blame view

node_modules/posix-getopt/tests/test-tokenize-optstr.js 1.57 KB
f7563de62   Palak Handa   first commit
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
  /*
   * Tests internal state of the parser.
   */
  var mod_path = require('path');
  
  var mod_sys = require('sys');
  var mod_getopt = require('..');
  var mod_assert = require('assert');
  
  var test_cases = [ {
  	optstr: '',
  	silent: false,
  	options: {},
  	aliases: {},
  }, {
  	optstr: ':',
  	silent: true,
  	options: {},
  	aliases: {},
  }, {
  	optstr: ':l',
  	silent: true,
  	options: { l: false },
  	aliases: {},
  }, {
  	optstr: ':l:',
  	silent: true,
  	options: { l: true },
  	aliases: {},
  }, {
  	optstr: ':las',
  	silent: true,
  	options: { l: false, a: false, s: false },
  	aliases: {},
  }, {
  	optstr: ':l:a:s:',
  	silent: true,
  	options: { l: true, a: true, s: true },
  	aliases: {},
  }, {
  	optstr: ':l(long)',
  	silent: true,
  	options: { l: false },
  	aliases: { long: 'l' },
  }, {
  	optstr: ':l:(long)',
  	silent: true,
  	options: { l: true },
  	aliases: { long: 'l' },
  }, {
  	optstr: 'l:(long)(longer)',
  	silent: false,
  	options: { l: true },
  	aliases: { long: 'l', longer: 'l' },
  }, {
  	optstr: ':la:r(recurse)(recur)f:(file)(filename)q',
  	silent: true,
  	options: { l: false, a: true, r: false, f: true, q: false },
  	aliases: { recurse: 'r', recur: 'r', file: 'f', filename: 'f' }
  } ];
  
  var parser, ii;
  for (ii = 0; ii < test_cases.length; ii++) {
  	console.log('test case %s: "%s"', ii + 1, test_cases[ii].optstr);
  	parser = new mod_getopt.BasicParser(test_cases[ii].optstr, []);
  	mod_assert.ok(test_cases[ii].silent === parser.gop_silent);
  	mod_assert.deepEqual(test_cases[ii].options,
  	    parser.gop_options);
  	mod_assert.deepEqual(test_cases[ii].aliases,
  	    parser.gop_aliases);
  }
  
  console.log('%s test cases passed', test_cases.length);