webpack/test/configCases/async-commons-chunk/existing-name/index.js

32 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-05-07 21:26:04 +08:00
const chunkLoadingSpy = jest.spyOn(__webpack_require__, "e");
it("should not have duplicate chunks in blocks", function(done) {
// This split point should contain: a
require.ensure([], function(require) {
expect(require("./a")).toBe("a");
2017-06-05 16:59:48 +08:00
}, "a");
// This split point should contain: a and b - we use CommonsChunksPlugin to
// have it only contain b and make chunk a be an async dependency.
require.ensure([], function(require) {
expect(require("./a")).toBe("a");
expect(require("./b")).toBe("b");
2017-06-05 16:59:48 +08:00
}, "a+b");
// This split point should contain: a, b and c - we use CommonsChunksPlugin to
// have it only contain c and make chunks a and a+b be async dependencies.
require.ensure([], function(require) {
expect(require("./a")).toBe("a");
expect(require("./b")).toBe("b");
expect(require("./c")).toBe("c");
2017-06-05 16:59:48 +08:00
}, "a+b+c");
// Each of the require.ensures above should end up resolving chunks:
// - a
// - a, a+b
// - a, a+b, a+b+c
2018-05-07 21:26:04 +08:00
expect(chunkLoadingSpy.mock.calls.length).toBe(6);
expect(chunkLoadingSpy.mock.calls).toEqual([["a"], ["a"], ["a+b~a+b+c" /* == b */], ["a"], ["a+b~a+b+c" /* == b */], ["a+b+c"]]);
done();
});