webpack/test/configCases/web/fetch-priority-2/index.js

43 lines
1.6 KiB
JavaScript
Raw Normal View History

2023-04-23 08:36:14 +08:00
it("should set fetchPriority", () => {
2023-05-24 13:18:26 +08:00
import(/* webpackFetchPriority: "high" */ "./a");
2023-05-24 10:45:33 +08:00
expect(document.head._children).toHaveLength(4);
2023-05-24 13:18:26 +08:00
const script1 = document.head._children[2];
expect(script1._attributes.fetchpriority).toBe("high");
2023-04-23 08:40:29 +08:00
2023-05-24 13:18:26 +08:00
import(/* webpackFetchPriority: "low" */ "./b");
2023-05-24 10:45:33 +08:00
expect(document.head._children).toHaveLength(5);
2023-05-24 13:18:26 +08:00
const script2 = document.head._children[4];
expect(script2._attributes.fetchpriority).toBe("low");
import(/* webpackFetchPriority: "low" */ "./c");
expect(document.head._children).toHaveLength(6);
const script3 = document.head._children[5];
expect(script3._attributes.fetchpriority).toBe("low");
2023-05-24 10:45:33 +08:00
import(/* webpackPrefetch: 20, webpackFetchPriority: "auto" */ "./c");
2023-05-24 13:18:26 +08:00
import("./d")
expect(document.head._children).toHaveLength(7);
const script4 = document.head._children[6];
expect(script4._attributes.fetchpriority).toBeUndefined();
import(/* webpackPrefetch: -20 */ "./d3");
expect(document.head._children).toHaveLength(8);
const script5 = document.head._children[7];
expect(script5._attributes.fetchpriority).toBeUndefined();
const condition = true;
if (!condition) {
import(/* webpackFetchPriority: "high", webpackChunkName: "one" */ "./e");
expect(document.head._children).toHaveLength(9);
const script6 = document.head._children[8];
expect(script6._attributes.fetchpriority).toBe("high");
} else {
import(/* webpackFetchPriority: "low", webpackChunkName: "two" */ "./e");
expect(document.head._children).toHaveLength(9);
const script6 = document.head._children[8];
expect(script6._attributes.fetchpriority).toBe("low");
}
2023-04-23 08:40:29 +08:00
});