MCPcopy
hub / github.com/webpack/webpack / validate

Function validate

test/statsCases/real-content-hash/test.config.js:16–46  ·  view source on GitHub ↗

* @param {import("../../../").MultiStats} stats stats

(stats)

Source from the content-addressed store, hash-verified

14 * @param {import("../../../").MultiStats} stats stats
15 */
16 validate(stats) {
17 for (let i = 0; i < 4; i += 2) {
18 const a = stats.stats[i + 0].toJson({
19 assets: true
20 });
21 const b = stats.stats[i + 1].toJson({
22 assets: true
23 });
24 expect(Object.keys(a.assetsByChunkName)).toHaveLength(5);
25 expect(a.assetsByChunkName.main).toEqual(b.assetsByChunkName.main);
26 expect(a.assetsByChunkName.lazy).toEqual(b.assetsByChunkName.lazy);
27 expect(a.assetsByChunkName.a).toEqual(b.assetsByChunkName.a);
28 expect(a.assetsByChunkName.b).toEqual(b.assetsByChunkName.b);
29 expect(a.assetsByChunkName.a).toEqual(a.assetsByChunkName.b);
30 }
31 for (let i = 0; i < 4; i++) {
32 const statsData = stats.stats[i].toJson({
33 assets: true
34 });
35 for (const name of Object.keys(hashedFiles)) {
36 const asset = statsData.assets.find(hashedFiles[name]);
37 expect(asset).toBeDefined();
38 const content = fs.readFileSync(path.resolve(__dirname, "a", name));
39 const hash = createHash("md4")
40 .update(content)
41 .digest("hex")
42 .slice(0, 20);
43 expect(asset.name.slice(0, 20)).toBe(hash);
44 }
45 }
46 }
47};

Callers

nothing calls this directly

Calls 7

createHashFunction · 0.85
sliceMethod · 0.80
keysMethod · 0.65
resolveMethod · 0.65
toJsonMethod · 0.45
digestMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected