2018-11-28 20:07:40 +08:00
|
|
|
import value from "./file";
|
|
|
|
|
|
|
|
|
|
module.hot.accept("./file");
|
|
|
|
|
|
|
|
|
|
const asyncNext = () => {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
NEXT((err, stats) => {
|
2022-03-25 22:16:04 +08:00
|
|
|
if (err) return reject(err);
|
2018-11-28 20:07:40 +08:00
|
|
|
resolve(stats);
|
|
|
|
|
});
|
|
|
|
|
});
|
2022-03-25 22:16:04 +08:00
|
|
|
};
|
2018-11-28 20:07:40 +08:00
|
|
|
|
|
|
|
|
it("should download the missing update chunk on import", () => {
|
|
|
|
|
expect(value).toBe(1);
|
|
|
|
|
return asyncNext().then(() => {
|
|
|
|
|
return module.hot.check().then(() => {
|
2022-03-25 22:16:04 +08:00
|
|
|
return Promise.all([
|
|
|
|
|
import("./chunk"),
|
|
|
|
|
import("./unaffected-chunk")
|
|
|
|
|
]).then(([chunk, unaffectedChunk]) => {
|
2018-11-28 20:07:40 +08:00
|
|
|
expect(value).toBe(1);
|
|
|
|
|
expect(chunk.default).toBe(10);
|
2022-03-25 22:16:04 +08:00
|
|
|
expect(unaffectedChunk.default).toBe(10);
|
2018-11-28 20:07:40 +08:00
|
|
|
return module.hot.apply().then(() => {
|
|
|
|
|
expect(value).toBe(2);
|
|
|
|
|
expect(chunk.default).toBe(20);
|
2022-03-25 22:16:04 +08:00
|
|
|
expect(unaffectedChunk.default).toBe(10);
|
2018-11-28 20:07:40 +08:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|