Skip to content

Commit

Permalink
Merge pull request #7699 from webpack/ci/upgrade-jest
Browse files Browse the repository at this point in the history
upgrade jest
  • Loading branch information
sokra committed Jul 10, 2018
2 parents baa450d + f0cd451 commit 365beb1
Show file tree
Hide file tree
Showing 36 changed files with 563 additions and 533 deletions.
5 changes: 4 additions & 1 deletion .eslintrc.js
Expand Up @@ -61,7 +61,7 @@ module.exports = {
browser: true
},
globals: {
Promise: false,
Promise: false
},
parserOptions: {
ecmaVersion: 5
Expand All @@ -71,6 +71,9 @@ module.exports = {
files: ["test/**/*.js"],
env: {
"jest/globals": true
},
globals: {
nsObj: false
}
}
]
Expand Down
13 changes: 11 additions & 2 deletions package.json
Expand Up @@ -56,7 +56,7 @@
"istanbul": "^0.4.5",
"jade": "^1.11.0",
"jade-loader": "~0.8.0",
"jest": "^23.0.1",
"jest": "^23.3.0",
"jest-silent-reporter": "^0.0.5",
"json-loader": "^0.5.7",
"less": "^2.5.1",
Expand All @@ -82,6 +82,14 @@
"worker-loader": "^1.1.1",
"xxhashjs": "^0.2.1"
},
"resolutions": {
"**/jest-message-util/micromatch": "^2.3.11",
"**/jest-cli/micromatch": "^2.3.11",
"**/jest-runtime/micromatch": "^2.3.11",
"**/jest-haste-map/micromatch": "^2.3.11",
"**/jest-haste-map/sane/micromatch": "^2.3.11",
"**/jest-config/babel-jest/babel-plugin-istanbul/test-exclude/micromatch": "^2.3.11"
},
"engines": {
"node": ">=6.11.5"
},
Expand Down Expand Up @@ -179,7 +187,8 @@
"coveragePathIgnorePatterns": [
"\\.runtime\\.js$",
"<rootDir>/test/",
"<rootDir>/schemas/"
"<rootDir>/schemas/",
"<rootDir>/node_modules/"
],
"testEnvironment": "node",
"coverageReporters": [
Expand Down
2 changes: 2 additions & 0 deletions test/ConfigTestCases.test.js
Expand Up @@ -211,6 +211,7 @@ describe("ConfigTestCases", () => {
) {
fn = vm.runInNewContext(
"(function(require, module, exports, __dirname, __filename, it, beforeEach, afterEach, expect, jest, window) {" +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
content +
"\n})",
globalContext,
Expand All @@ -220,6 +221,7 @@ describe("ConfigTestCases", () => {
fn = vm.runInThisContext(
"(function(require, module, exports, __dirname, __filename, it, beforeEach, afterEach, expect, jest) {" +
"global.expect = expect; " +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
content +
"\n})",
p
Expand Down
1 change: 1 addition & 0 deletions test/HotTestCases.test.js
Expand Up @@ -151,6 +151,7 @@ describe("HotTestCases", () => {
const fn = vm.runInThisContext(
"(function(require, module, exports, __dirname, __filename, it, expect, NEXT, STATS) {" +
"global.expect = expect;" +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
fs.readFileSync(p, "utf-8") +
"\n})",
p
Expand Down
1 change: 1 addition & 0 deletions test/TestCases.template.js
Expand Up @@ -216,6 +216,7 @@ const describeCases = config => {
const fn = vm.runInThisContext(
"(function(require, module, exports, __dirname, it, expect) {" +
"global.expect = expect;" +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
fs.readFileSync(p, "utf-8") +
"\n})",
p
Expand Down
2 changes: 2 additions & 0 deletions test/WatchTestCases.test.js
Expand Up @@ -245,6 +245,7 @@ describe("WatchTestCases", () => {
) {
fn = vm.runInNewContext(
"(function(require, module, exports, __dirname, __filename, it, WATCH_STEP, STATS_JSON, STATE, expect, window) {" +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
content +
"\n})",
globalContext,
Expand All @@ -254,6 +255,7 @@ describe("WatchTestCases", () => {
fn = vm.runInThisContext(
"(function(require, module, exports, __dirname, __filename, it, WATCH_STEP, STATS_JSON, STATE, expect) {" +
"global.expect = expect;" +
'function nsObj(m) { Object.defineProperty(m, Symbol.toStringTag, { value: "Module" }); return m; }' +
content +
"\n})",
p
Expand Down
7 changes: 3 additions & 4 deletions test/cases/chunks/import-context/index.js
Expand Up @@ -23,10 +23,9 @@ function testCase(load, done) {
it("should be able to use expressions in import", function(done) {
function load(name, expected, callback) {
import("./dir/" + name).then(function(result) {
expect(result).toEqual({
default: expected,
[Symbol.toStringTag]: "Module"
});
expect(result).toEqual(nsObj({
default: expected
}));
callback();
}).catch(function(err) {
done(err);
Expand Down
7 changes: 3 additions & 4 deletions test/cases/chunks/import/index.js
@@ -1,9 +1,8 @@
it("should be able to use import", function(done) {
import("./two").then(function(two) {
expect(two).toEqual({
default: 2,
[Symbol.toStringTag]: "Module"
});
expect(two).toEqual(nsObj({
default: 2
}));
done();
}).catch(function(err) {
done(err);
Expand Down
14 changes: 6 additions & 8 deletions test/cases/chunks/inline-options/index.js
Expand Up @@ -110,17 +110,15 @@ function testChunkLoading(load, expectedSyncInitial, expectedSyncRequested) {
sync = true;
var p = Promise.all([
load("a").then(function(a) {
expect(a).toEqual({
default: "a",
[Symbol.toStringTag]: "Module"
});
expect(a).toEqual(nsObj({
default: "a"
}));
expect(sync).toBe(true);
}),
load("c").then(function(c) {
expect(c).toEqual({
default: "c",
[Symbol.toStringTag]: "Module"
});
expect(c).toEqual(nsObj({
default: "c"
}));
expect(sync).toBe(expectedSyncRequested);
})
]);
Expand Down
7 changes: 3 additions & 4 deletions test/cases/chunks/issue-2443/index.js
@@ -1,10 +1,9 @@
it("should be able to use expressions in import (directory)", function(done) {
function load(name, expected, callback) {
import("./dir/" + name + "/file.js").then(function(result) {
expect(result).toEqual({
default: expected,
[Symbol.toStringTag]: "Module"
});
expect(result).toEqual(nsObj({
default: expected
}));
callback();
}).catch(function(err) {
done(err);
Expand Down
49 changes: 21 additions & 28 deletions test/cases/json/import-lazy/index.js
Expand Up @@ -9,53 +9,46 @@ it("should be possible to import json data async", function() {
import("../data/f.json"),
import("../data/g.json")
]).then(([a, b, c, d, e, f, g]) => {
expect(a).toEqual({
default: null,
[Symbol.toStringTag]: "Module"
});
expect(b).toEqual({
default: 123,
[Symbol.toStringTag]: "Module"
});
expect(c).toEqual({
expect(a).toEqual(nsObj({
default: null
}));
expect(b).toEqual(nsObj({
default: 123
}));
expect(c).toEqual(nsObj({
0: 1,
1: 2,
2: 3,
3: 4,
default: [1, 2, 3, 4],
[Symbol.toStringTag]: "Module"
});
expect(d).toEqual({
default: {},
[Symbol.toStringTag]: "Module"
});
expect(e).toEqual({
default: [1, 2, 3, 4]
}));
expect(d).toEqual(nsObj({
default: {}
}));
expect(e).toEqual(nsObj({
aa: 1,
bb: 2,
1: "x",
default: {
aa: 1,
bb: 2,
"1": "x"
},
[Symbol.toStringTag]: "Module"
});
expect(f).toEqual({
}
}));
expect(f).toEqual(nsObj({
named: "named",
default: {
named: "named",
"default": "default",
__esModule: true
},
[Symbol.toStringTag]: "Module"
});
expect(g).toEqual({
}
}));
expect(g).toEqual(nsObj({
named: {},
default: {
named: {}
},
[Symbol.toStringTag]: "Module"
});
}
}));
expect(g.named).toBe(g.default.named);
});
});
35 changes: 15 additions & 20 deletions test/cases/mjs/cjs-import-default/index.mjs
Expand Up @@ -17,33 +17,30 @@ it("should get correct values when importing named exports from a CommonJs modul
default: "default"
}
});
expect(star).toEqual({
expect(star).toEqual(nsObj({
default: {
data: "ok",
default: "default"
},
[Symbol.toStringTag]: "Module"
});
}
}));
expect({ star }).toEqual({
star: {
star: nsObj({
default: {
data: "ok",
default: "default"
},
[Symbol.toStringTag]: "Module"
}
}
})
});
expect(star.default).toEqual({
data: "ok",
default: "default"
});
expect(ns).toEqual({
expect(ns).toEqual(nsObj({
default: {
data: "ok",
default: "default"
},
[Symbol.toStringTag]: "Module"
});
}
}));
expect(def1).toEqual({
data: "ok",
default: "default"
Expand All @@ -53,14 +50,13 @@ it("should get correct values when importing named exports from a CommonJs modul
default: "default"
});
expect((typeof data2)).toBe("undefined");
expect(reexport).toEqual({
ns: {
expect(reexport).toEqual(nsObj({
ns: nsObj({
default: {
data: "ok",
default: "default"
},
[Symbol.toStringTag]: "Module"
},
}
}),
default: {
data: "ok",
default: "default"
Expand All @@ -69,7 +65,6 @@ it("should get correct values when importing named exports from a CommonJs modul
data: "ok",
default: "default"
},
data: undefined,
[Symbol.toStringTag]: "Module"
});
data: undefined
}));
});
28 changes: 14 additions & 14 deletions test/cases/mjs/namespace-object-lazy/index.mjs
@@ -1,13 +1,13 @@
it("should receive a namespace object when importing commonjs", function(done) {
import("./cjs.js").then(function(result) {
expect(result).toEqual({ default: { named: "named", default: "default" }, [Symbol.toStringTag]: "Module" });
expect(result).toEqual(nsObj({ default: { named: "named", default: "default" } }));
done();
}).catch(done);
});

it("should receive a namespace object when importing commonjs with __esModule", function(done) {
import("./cjs-esmodule.js").then(function(result) {
expect(result).toEqual({ default: { __esModule: true, named: "named", default: "default" }, [Symbol.toStringTag]: "Module" });
expect(result).toEqual(nsObj({ default: { __esModule: true, named: "named", default: "default" } }));
done();
}).catch(done);
});
Expand Down Expand Up @@ -60,27 +60,27 @@ function promiseTest(promise, equalsTo) {

it("should receive a namespace object when importing commonjs via context", function() {
return Promise.all([
promiseTest(contextCJS("one"), { default: { named: "named", default: "default" }, [Symbol.toStringTag]: "Module" }),
promiseTest(contextCJS("two"), { default: { __esModule: true, named: "named", default: "default" }, [Symbol.toStringTag]: "Module" }),
promiseTest(contextCJS("three"), { default: { named: "named", default: "default" }, [Symbol.toStringTag]: "Module" }),
promiseTest(contextCJS("null"), { default: null, [Symbol.toStringTag]: "Module" })
promiseTest(contextCJS("one"), nsObj({ default: { named: "named", default: "default" } })),
promiseTest(contextCJS("two"), nsObj({ default: { __esModule: true, named: "named", default: "default" } })),
promiseTest(contextCJS("three"), nsObj({ default: { named: "named", default: "default" } })),
promiseTest(contextCJS("null"), nsObj({ default: null }))
]);
});

it("should receive a namespace object when importing harmony via context", function() {
return Promise.all([
promiseTest(contextHarmony("one"), { named: "named", default: "default", [Symbol.toStringTag]: "Module" }),
promiseTest(contextHarmony("two"), { named: "named", default: "default", [Symbol.toStringTag]: "Module" }),
promiseTest(contextHarmony("three"), { named: "named", default: "default", [Symbol.toStringTag]: "Module" })
promiseTest(contextHarmony("one"), nsObj({ named: "named", default: "default" })),
promiseTest(contextHarmony("two"), nsObj({ named: "named", default: "default" })),
promiseTest(contextHarmony("three"), nsObj({ named: "named", default: "default" }))
]);
});

it("should receive a namespace object when importing mixed content via context", function() {
return Promise.all([
promiseTest(contextMixed("one"), { default: { named: "named", default: "default" }, [Symbol.toStringTag]: "Module" }),
promiseTest(contextMixed("two"), { default: { __esModule: true, named: "named", default: "default" }, [Symbol.toStringTag]: "Module" }),
promiseTest(contextMixed("three"), { named: "named", default: "default", [Symbol.toStringTag]: "Module" }),
promiseTest(contextMixed("null"), { default: null, [Symbol.toStringTag]: "Module" }),
promiseTest(contextMixed("json.json"), { named: "named", default: { named: "named", default: "default" }, [Symbol.toStringTag]: "Module" })
promiseTest(contextMixed("one"), nsObj({ default: { named: "named", default: "default" } })),
promiseTest(contextMixed("two"), nsObj({ default: { __esModule: true, named: "named", default: "default" } })),
promiseTest(contextMixed("three"), nsObj({ named: "named", default: "default" })),
promiseTest(contextMixed("null"), nsObj({ default: null })),
promiseTest(contextMixed("json.json"), nsObj({ named: "named", default: { named: "named", default: "default" } }))
]);
});

0 comments on commit 365beb1

Please sign in to comment.