test: added case

This commit is contained in:
alexander.akait 2023-04-19 02:30:04 +03:00
parent c8b3ed701e
commit 5cc6d13a47
9 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,10 @@
export default function test() {
const a = 1;
const b = 2;
const c = 3;
const d = 4;
const f = 5;
const e = 6;
return a + b + c + d + f + e;
}

View File

@ -0,0 +1,19 @@
async function test() {
const a = 1;
const b = 2;
const c = 3;
const d = 4;
const f = 5;
const e = 6;
await import("./async.js");
return a + b + c + d + f + e;
}
test();
export { test }
export default test;
test();

View File

@ -0,0 +1,5 @@
import { test } from "./file-1.js";
export default function foobar() {
return "test" + test();
}

View File

@ -0,0 +1,7 @@
function test() {
return "test";
}
test();
module.exports = "test";

View File

@ -0,0 +1,25 @@
import file from "./file-1.js";
import file2 from "./file-2.js";
async function test() {
const a = 1;
const b = 2;
const c = 3;
const d = 4;
const f = 5;
const e = 6;
await import(/* webpackMode: "eager" */"./async.js");
await import(/* webpackMode: "eager" */"./file-3.js");
return a + b + c + d + f + e;
}
test();
export { test, file, file2 }
export default function foo() {
return "test";
}
test();

View File

@ -0,0 +1,7 @@
import img from "./1.jpg";
import file from "./file.js";
it("should compile", () => {
expect(typeof img).toBe("string");
expect(typeof file).toBe("function");
});

View File

@ -0,0 +1,29 @@
const findOutputFiles = require("../../../helpers/findOutputFiles");
const allAssets = new Set();
const allBundles = new Set();
module.exports = {
findBundle: function (i, options) {
const bundle = findOutputFiles(options, new RegExp(`^bundle${i}`))[0];
allBundles.add(/\.([^.]+)\./.exec(bundle)[1]);
let asset;
switch (i) {
case 0:
asset = findOutputFiles(options, /^1\.[^\.]*\.jpg$/, "img")[0];
break;
}
if (asset) allAssets.add(asset);
return `./${bundle}`;
},
afterExecute: () => {
// Bundles have the same contenthash
expect(allBundles.size).toBe(1);
}
};

View File

@ -0,0 +1,37 @@
/** @type {import("../../../../").Configuration} */
module.exports = [
{
output: {
filename: "bundle0.[contenthash].a.js",
assetModuleFilename: "img/[name].a.[contenthash][ext]"
},
optimization: {
moduleIds: "size"
},
module: {
rules: [
{
test: /\.jpg$/,
type: "asset/resource"
}
]
}
},
{
output: {
filename: "bundle1.[contenthash].b.js",
assetModuleFilename: "img/[name].a.[contenthash][ext]"
},
optimization: {
moduleIds: "size"
},
module: {
rules: [
{
test: /\.jpg$/,
type: "asset/resource"
}
]
}
}
];