2017-12-27 22:54:59 +08:00
|
|
|
const path = require("path");
|
|
|
|
const fs = require("fs");
|
2015-04-04 08:32:04 +08:00
|
|
|
|
2017-12-27 22:54:59 +08:00
|
|
|
const fixtures = path.join(__dirname, "fixtures");
|
2015-04-04 08:32:04 +08:00
|
|
|
|
2015-07-16 06:27:37 +08:00
|
|
|
try {
|
|
|
|
fs.mkdirSync(fixtures);
|
2018-06-13 19:04:23 +08:00
|
|
|
} catch (e) {
|
2018-06-14 16:09:39 +08:00
|
|
|
// The directory already exists
|
2018-06-13 19:04:23 +08:00
|
|
|
}
|
2015-04-04 08:32:04 +08:00
|
|
|
|
2018-02-17 19:09:35 +08:00
|
|
|
function generateRequireString(conditional, suffix) {
|
|
|
|
const prefixedSuffix = suffix ? `.${suffix}` : "";
|
|
|
|
return `require(${JSON.stringify(`./${conditional}${prefixedSuffix}.js`)});`;
|
|
|
|
}
|
|
|
|
|
2018-06-13 19:04:23 +08:00
|
|
|
for (let i = 0; i < 10000; i++) {
|
2017-12-27 22:54:59 +08:00
|
|
|
const source = [];
|
2018-06-13 19:04:23 +08:00
|
|
|
if (i > 8) source.push(generateRequireString((i / 8) | 0));
|
|
|
|
if (i > 4) source.push(generateRequireString((i / 4) | 0));
|
|
|
|
if (i > 2) source.push(generateRequireString((i / 2) | 0));
|
|
|
|
if (i > 0) source.push(generateRequireString(i - 1));
|
2015-04-04 08:32:04 +08:00
|
|
|
source.push("module.exports = " + i + ";");
|
|
|
|
fs.writeFileSync(path.join(fixtures, i + ".js"), source.join("\n"), "utf-8");
|
|
|
|
}
|
|
|
|
|
2018-06-13 19:04:23 +08:00
|
|
|
for (let i = 0; i < 10000; i++) {
|
2017-12-27 22:54:59 +08:00
|
|
|
const source = [];
|
2015-04-04 08:32:04 +08:00
|
|
|
source.push("require.ensure([], function(require) {");
|
2018-06-13 19:04:23 +08:00
|
|
|
if (i > 8) source.push(generateRequireString((i / 8) | 0, "async"));
|
|
|
|
if (i > 4) source.push(generateRequireString((i / 4) | 0, "async"));
|
|
|
|
if (i > 2) source.push(generateRequireString((i / 2) | 0, "async"));
|
|
|
|
if (i > 0) source.push(generateRequireString(i - 1, "async"));
|
2015-04-04 08:32:04 +08:00
|
|
|
source.push("});");
|
|
|
|
source.push("module.exports = " + i + ";");
|
2018-06-13 19:04:23 +08:00
|
|
|
fs.writeFileSync(
|
|
|
|
path.join(fixtures, i + ".async.js"),
|
|
|
|
source.join("\n"),
|
|
|
|
"utf-8"
|
|
|
|
);
|
2015-04-04 08:32:04 +08:00
|
|
|
}
|
|
|
|
|
2018-06-13 19:04:23 +08:00
|
|
|
for (let i = 0; i < 100; i++) {
|
2017-12-27 22:54:59 +08:00
|
|
|
const source = [];
|
2018-06-13 19:04:23 +08:00
|
|
|
if (i > 8) source.push(generateRequireString((i / 8) | 0, "big"));
|
|
|
|
if (i > 4) source.push(generateRequireString((i / 4) | 0, "big"));
|
|
|
|
if (i > 2) source.push(generateRequireString((i / 2) | 0, "big"));
|
|
|
|
if (i > 0) source.push(generateRequireString(i - 1, "big"));
|
|
|
|
for (let j = 0; j < 300; j++)
|
|
|
|
source.push(
|
|
|
|
"if(Math.random())hello.world();test.a.b.c.d();x(1,2,3,4);var a,b,c,d,e,f;"
|
|
|
|
);
|
2015-04-04 08:32:04 +08:00
|
|
|
source.push("module.exports = " + i + ";");
|
2018-06-13 19:04:23 +08:00
|
|
|
fs.writeFileSync(
|
|
|
|
path.join(fixtures, i + ".big.js"),
|
|
|
|
source.join("\n"),
|
|
|
|
"utf-8"
|
|
|
|
);
|
2015-04-04 08:32:04 +08:00
|
|
|
}
|