Skip to content

Commit ca4bef6

Browse files
authored
Add minimist to the project and update the test (#65)
1 parent 26585e5 commit ca4bef6

File tree

3 files changed

+43
-50
lines changed

3 files changed

+43
-50
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@
4040
"connectivity": "^1.0.0",
4141
"es6-promise": "^3.2.1",
4242
"github-api": "^3.0.0",
43-
"require-yaml": "0.0.1",
44-
"object-assign-deep": "0.0.4"
43+
"minimist": "^1.2.0",
44+
"object-assign-deep": "0.0.4",
45+
"require-yaml": "0.0.1"
4546
},
4647
"devDependencies": {
4748
"eslint": "^3.6.0",

src/utils.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
var chalk = require('chalk');
44
var fs = require('fs');
5+
var minimist = require('minimist');
56
require('require-yaml');
67

78
/**
@@ -130,17 +131,7 @@ function dashToCamelCase(value) {
130131
* @return {Object} The object containg the key/value options
131132
*/
132133
function getBashOptions(args) {
133-
var settings = {};
134-
135-
for (var i = 2; i < args.length; i++) {
136-
var paramArray = args[i].split('=');
137-
var key = paramArray[0].replace('--', '');
138-
var value = paramArray[1];
139-
140-
settings[dashToCamelCase(key)] = value || true;
141-
}
142-
143-
return settings;
134+
return minimist(args.slice(2));
144135
}
145136

146137
/**

test/utils.js

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,42 @@
33
var utils = require('../src/utils');
44

55
exports['utils'] = {
6-
'Should return the string of the formatted date': function (test) {
7-
test.expect(1);
8-
9-
test.deepEqual(utils.formatDate(new Date(0)), '01/01/1970', 'Given a date object.');
10-
test.done();
11-
},
12-
'Should return the options in a key/value format': function (test) {
13-
test.expect(1);
14-
15-
let bashOptions = utils.getBashOptions([null, null, '--key=value', '--key2=value2']);
16-
17-
test.deepEqual(JSON.stringify(bashOptions), JSON.stringify({
18-
key: 'value',
19-
key2: 'value2'
20-
}), 'Given an array of node arguments.');
21-
test.done();
22-
},
23-
'Should return a camelCase string': function (test) {
24-
test.expect(2);
25-
26-
test.deepEqual(utils.dashToCamelCase('this-is-a-string'), 'thisIsAString', 'Given a string with dashes.');
27-
test.deepEqual(utils.dashToCamelCase('tHIs-Is-a-sTriNg'), 'thisIsAString', 'Given a string with random capital letters');
28-
test.done();
29-
},
30-
'Should return if a number is in between a range': function (test) {
31-
test.expect(7);
32-
33-
test.deepEqual(utils.isInRange(2, 1, 3), true, 'Given a number in range');
34-
test.deepEqual(utils.isInRange(1, 2, 3), false, 'Given a number below range');
35-
test.deepEqual(utils.isInRange(4, 1, 3), false, 'Given a number above range');
36-
test.deepEqual(utils.isInRange(-1, 1, 3), false, 'Given a number above range, negative');
37-
test.deepEqual(utils.isInRange(-1, -3, 0), true, 'Given a number in range, negative');
38-
test.deepEqual(utils.isInRange(2, 2, 5), true, 'Given same number as first range value');
39-
test.deepEqual(utils.isInRange(5, 2, 5), false, 'Given same number as last range value');
40-
41-
test.done();
42-
}
6+
'Should return the string of the formatted date': function (test) {
7+
test.expect(1);
8+
9+
test.deepEqual(utils.formatDate(new Date(0)), '01/01/1970', 'Given a date object.');
10+
test.done();
11+
},
12+
'Should return the options in a key/value format': function (test) {
13+
test.expect(1);
14+
15+
let bashOptions = utils.getBashOptions([null, null, '--key=value', '--key2=value2']);
16+
17+
test.deepEqual(JSON.stringify(bashOptions), JSON.stringify({
18+
_: [],
19+
key: 'value',
20+
key2: 'value2'
21+
}), 'Given an array of node arguments.');
22+
test.done();
23+
},
24+
'Should return a camelCase string': function (test) {
25+
test.expect(2);
26+
27+
test.deepEqual(utils.dashToCamelCase('this-is-a-string'), 'thisIsAString', 'Given a string with dashes.');
28+
test.deepEqual(utils.dashToCamelCase('tHIs-Is-a-sTriNg'), 'thisIsAString', 'Given a string with random capital letters');
29+
test.done();
30+
},
31+
'Should return if a number is in between a range': function (test) {
32+
test.expect(7);
33+
34+
test.deepEqual(utils.isInRange(2, 1, 3), true, 'Given a number in range');
35+
test.deepEqual(utils.isInRange(1, 2, 3), false, 'Given a number below range');
36+
test.deepEqual(utils.isInRange(4, 1, 3), false, 'Given a number above range');
37+
test.deepEqual(utils.isInRange(-1, 1, 3), false, 'Given a number above range, negative');
38+
test.deepEqual(utils.isInRange(-1, -3, 0), true, 'Given a number in range, negative');
39+
test.deepEqual(utils.isInRange(2, 2, 5), true, 'Given same number as first range value');
40+
test.deepEqual(utils.isInRange(5, 2, 5), false, 'Given same number as last range value');
41+
42+
test.done();
43+
}
4344
};

0 commit comments

Comments
 (0)