Skip to content
This repository was archived by the owner on Jan 19, 2019. It is now read-only.

Commit 6a10392

Browse files
committed
Chore: Replace mocha (istanbul, chai, leche) with Jest
1 parent 992f1fa commit 6a10392

11 files changed

+45
-53
lines changed

Makefile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const OPEN_SOURCE_LICENSES = [
3333
const NODE_MODULES = "./node_modules/",
3434

3535
// Utilities - intentional extra space at the end of each string
36-
MOCHA = `${NODE_MODULES}mocha/bin/_mocha `,
36+
JEST = `${NODE_MODULES}jest/bin/jest.js`,
3737

3838
// Files
3939
MAKEFILE = "./Makefile.js",
@@ -96,7 +96,7 @@ target.lint = function() {
9696
target.test = function() {
9797
target.lint();
9898

99-
const lastReturn = nodeCLI.exec("istanbul", "cover", MOCHA, "-- -c", TEST_FILES);
99+
const lastReturn = nodeCLI.exec(JEST);
100100
let errors = 0;
101101

102102
if (lastReturn.code !== 0) {

package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@
1818
},
1919
"license": "BSD-2-Clause",
2020
"devDependencies": {
21-
"chai": "3.5.0",
22-
"dateformat": "2.0.0",
2321
"eslint": "3.19.0",
2422
"eslint-config-eslint": "4.0.0",
2523
"eslint-plugin-node": "4.2.2",
2624
"eslint-release": "0.10.3",
27-
"istanbul": "0.4.5",
28-
"leche": "2.1.2",
29-
"mocha": "3.3.0",
25+
"jest": "20.0.4",
3026
"npm-license": "0.3.3",
3127
"shelljs": "0.7.7",
3228
"shelljs-nodecli": "0.1.1",
@@ -43,6 +39,7 @@
4339
],
4440
"scripts": {
4541
"test": "node Makefile.js test",
42+
"jest": "jest",
4643
"lint": "node Makefile.js lint",
4744
"release": "eslint-release",
4845
"ci-release": "eslint-ci-release",
@@ -56,5 +53,11 @@
5653
},
5754
"peerDependencies": {
5855
"typescript": "*"
56+
},
57+
"jest": {
58+
"testRegex": "tests\/lib\/.+\\.js$",
59+
"testPathIgnorePatterns": [],
60+
"collectCoverage": true,
61+
"coverageReporters": ["text-summary"]
5962
}
6063
}

tests/lib/.eslintrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
env:
2-
mocha: true
2+
jest: true

tests/lib/basics.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
// Requirements
1212
//------------------------------------------------------------------------------
1313

14-
const assert = require("chai").assert,
15-
leche = require("leche"),
16-
path = require("path"),
14+
const path = require("path"),
1715
parser = require("../../parser"),
1816
shelljs = require("shelljs"),
19-
tester = require("./tester");
17+
testUtils = require("../../tools/test-utils");
2018

2119
//------------------------------------------------------------------------------
2220
// Setup
@@ -47,7 +45,7 @@ describe("basics", () => {
4745
};
4846
});
4947

50-
leche.withData(testFiles, filename => {
48+
testFiles.forEach(filename => {
5149

5250
// Uncomment and fill in filename to focus on a single file
5351
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
@@ -59,7 +57,7 @@ describe("basics", () => {
5957

6058
try {
6159
result = parser.parse(code, config);
62-
result = tester.getRaw(result);
60+
result = testUtils.getRaw(result);
6361
} catch (ex) {
6462

6563
// format of error isn't exactly the same, just check if it's expected
@@ -72,7 +70,7 @@ describe("basics", () => {
7270
}
7371

7472
// console.log(JSON.stringify(result, null, 4));
75-
assert.deepEqual(result, expected);
73+
expect(result).toEqual(expected);
7674

7775
});
7876

tests/lib/comments.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,10 @@
3030
// Requirements
3131
//------------------------------------------------------------------------------
3232

33-
const assert = require("chai").assert,
34-
leche = require("leche"),
35-
path = require("path"),
33+
const path = require("path"),
3634
parser = require("../../parser"),
3735
shelljs = require("shelljs"),
38-
tester = require("./tester");
36+
testUtils = require("../../tools/test-utils");
3937

4038
//------------------------------------------------------------------------------
4139
// Setup
@@ -68,7 +66,7 @@ describe("Comments", () => {
6866
};
6967
});
7068

71-
leche.withData(testFiles, filename => {
69+
testFiles.forEach(filename => {
7270
const code = shelljs.cat(`${path.resolve(FIXTURES_DIR, filename)}.src.js`);
7371

7472
it("should produce correct AST when parsed with comment", () => {
@@ -77,7 +75,7 @@ describe("Comments", () => {
7775

7876
try {
7977
result = parser.parse(code, config);
80-
result = tester.getRaw(result);
78+
result = testUtils.getRaw(result);
8179
} catch (ex) {
8280

8381
// format of error isn't exactly the same, just check if it's expected
@@ -88,7 +86,7 @@ describe("Comments", () => {
8886

8987

9088
}
91-
assert.deepEqual(result, expected);
89+
expect(result).toEqual(expected);
9290
});
9391

9492
});

tests/lib/ecma-features.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
// Requirements
1212
//------------------------------------------------------------------------------
1313

14-
const assert = require("chai").assert,
15-
leche = require("leche"),
16-
path = require("path"),
14+
const path = require("path"),
1715
parser = require("../../parser"),
1816
shelljs = require("shelljs"),
19-
tester = require("./tester");
17+
testUtils = require("../../tools/test-utils");
2018

2119
//------------------------------------------------------------------------------
2220
// Setup
@@ -65,7 +63,7 @@ describe("ecmaFeatures", () => {
6563
};
6664
});
6765

68-
leche.withData(testFiles, filename => {
66+
testFiles.forEach(filename => {
6967

7068
// Uncomment and fill in filename to focus on a single file
7169
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
@@ -98,7 +96,7 @@ describe("ecmaFeatures", () => {
9896

9997
try {
10098
result = parser.parse(code, config);
101-
result = tester.getRaw(result);
99+
result = testUtils.getRaw(result);
102100
} catch (ex) {
103101

104102
// format of error isn't exactly the same, just check if it's expected
@@ -109,7 +107,7 @@ describe("ecmaFeatures", () => {
109107

110108

111109
}
112-
assert.deepEqual(result, expected);
110+
expect(result).toEqual(expected);
113111
});
114112

115113
});

tests/lib/jsx.js

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
// Requirements
1212
//------------------------------------------------------------------------------
1313

14-
const assert = require("chai").assert,
15-
leche = require("leche"),
16-
path = require("path"),
14+
const path = require("path"),
1715
parser = require("../../parser"),
1816
shelljs = require("shelljs"),
19-
tester = require("./tester");
17+
testUtils = require("../../tools/test-utils");
2018

2119
//------------------------------------------------------------------------------
2220
// Setup
@@ -84,7 +82,7 @@ describe("JSX", () => {
8482

8583
try {
8684
result = parser.parse(code, config);
87-
result = tester.getRaw(result);
85+
result = testUtils.getRaw(result);
8886
} catch (ex) {
8987

9088
// format of error isn't exactly the same, just check if it's expected
@@ -95,15 +93,15 @@ describe("JSX", () => {
9593

9694

9795
}
98-
assert.deepEqual(result, expected);
96+
expect(result).toEqual(expected);
9997
});
10098
};
10199
}
102100

103101
describe("useJSXTextNode: false", () => {
104-
leche.withData(jsxTestFiles, testFixture(JSX_FIXTURES_DIR, false));
102+
jsxTestFiles.forEach(testFixture(JSX_FIXTURES_DIR, false));
105103
});
106104
describe("useJSXTextNode: true", () => {
107-
leche.withData(jsxTextTestFiles, testFixture(JSX_JSXTEXT_FIXTURES_DIR, true));
105+
jsxTextTestFiles.forEach(testFixture(JSX_JSXTEXT_FIXTURES_DIR, true));
108106
});
109107
});

tests/lib/parse.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
// Requirements
1212
//------------------------------------------------------------------------------
1313

14-
const assert = require("chai").assert,
15-
parser = require("../../parser"),
16-
tester = require("./tester");
14+
const parser = require("../../parser"),
15+
testUtils = require("../../tools/test-utils");
1716

1817
//------------------------------------------------------------------------------
1918
// Tests
@@ -25,8 +24,8 @@ describe("parse()", () => {
2524
describe("basic functionality", () => {
2625

2726
it("should parse an empty string", () => {
28-
assert.deepEqual(parser.parse("").body, []);
29-
assert.deepEqual(parser.parse("", {}).body, []);
27+
expect(parser.parse("").body).toEqual([]);
28+
expect(parser.parse("", {}).body).toEqual([]);
3029
});
3130

3231
});
@@ -37,7 +36,7 @@ describe("parse()", () => {
3736
try {
3837
parser.parse("function fn(a, a) {\n}", { sourceType: "module" });
3938
} catch (err) {
40-
assert.equal(err.column, 16);
39+
expect(err.column).toEqual(16);
4140
}
4241
});
4342

@@ -56,7 +55,7 @@ describe("parse()", () => {
5655
loc: true
5756
});
5857

59-
assert.deepEqual(tester.getRaw(ast), require("../fixtures/parse/all-pieces.json"));
58+
expect(testUtils.getRaw(ast)).toEqual(require("../fixtures/parse/all-pieces.json"));
6059
});
6160

6261
});

tests/lib/typescript.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
// Requirements
1212
//------------------------------------------------------------------------------
1313

14-
const assert = require("chai").assert,
15-
leche = require("leche"),
16-
path = require("path"),
14+
const path = require("path"),
1715
parser = require("../../parser"),
1816
shelljs = require("shelljs"),
19-
tester = require("./tester");
17+
testUtils = require("../../tools/test-utils");
2018

2119
//------------------------------------------------------------------------------
2220
// Setup
@@ -47,7 +45,7 @@ describe("typescript", () => {
4745
};
4846
});
4947

50-
leche.withData(testFiles, filename => {
48+
testFiles.forEach(filename => {
5149

5250
// Uncomment and fill in filename to focus on a single file
5351
// var filename = "jsx/invalid-matching-placeholder-in-closing-tag";
@@ -59,7 +57,7 @@ describe("typescript", () => {
5957

6058
try {
6159
result = parser.parse(code, config);
62-
result = tester.getRaw(result);
60+
result = testUtils.getRaw(result);
6361
} catch (ex) {
6462

6563
// format of error isn't exactly the same, just check if it's expected
@@ -72,7 +70,7 @@ describe("typescript", () => {
7270
}
7371

7472
// console.log(JSON.stringify(result, null, 4));
75-
assert.deepEqual(result, expected);
73+
expect(result).toEqual(expected);
7674

7775
});
7876

File renamed without changes.

tools/update-typescript-tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
var shelljs = require("shelljs"),
1919
parser = require("../parser"),
20-
tester = require("../tests/lib/tester"),
20+
testUtils = require("./test-utils"),
2121
path = require("path");
2222

2323
//------------------------------------------------------------------------------
@@ -36,7 +36,7 @@ function getRaw(ast) {
3636

3737
function getExpectedResult(code, config) {
3838
try {
39-
return tester.getRaw(parser.parse(code, config));
39+
return testUtils.getRaw(parser.parse(code, config));
4040
} catch (ex) {
4141
var raw = getRaw(ex);
4242
raw.message = ex.message;

0 commit comments

Comments
 (0)