mirror of https://github.com/webpack/webpack.git
add test
This commit is contained in:
parent
fdf04da444
commit
2f9334fa45
|
|
@ -1,7 +1,7 @@
|
||||||
import * as module from "./module";
|
import * as module from "./module";
|
||||||
import { obj3, obj3CanMangle, obj4, obj4CanMangle } from "./reexport?side-effects" // enable side effects to ensure reexport is not skipped
|
import { obj3, obj3CanMangle, obj4, obj4CanMangle } from "./reexport?side-effects" // enable side effects to ensure reexport is not skipped
|
||||||
import data from "./data.json";
|
import data from "./data.json";
|
||||||
import fs from "fs";
|
import data2 from "./data.json?2";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
|
||||||
it("should mangle export when destructuring module", () => {
|
it("should mangle export when destructuring module", () => {
|
||||||
|
|
@ -41,37 +41,25 @@ it("should not mangle export when destructuring module's nested property is a mo
|
||||||
|
|
||||||
it("should mangle when destructuring json", async () => {
|
it("should mangle when destructuring json", async () => {
|
||||||
const { obj: {
|
const { obj: {
|
||||||
["a" + "r" + "r"]: [
|
"arr": [
|
||||||
{
|
{ prop1: p1 = 0 }
|
||||||
prop1: p1 = 0,
|
|
||||||
[`prop${2}`]: p2,
|
|
||||||
prop3 = 3
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
} } = data;
|
} } = data;
|
||||||
expect(p1).toBe(1);
|
expect(p1).toBe(1);
|
||||||
expect(p2).toBe(2);
|
|
||||||
expect(prop3).toBe(3);
|
|
||||||
const prop5 = "prop5";
|
|
||||||
const values = [];
|
const values = [];
|
||||||
({
|
({
|
||||||
foo: values[0],
|
foo: values[0],
|
||||||
obj: {
|
obj: {
|
||||||
["a" + "r" + "r"]: {
|
["a" + "r" + "r"]: {
|
||||||
1: { prop3: values[1] },
|
length: values[1],
|
||||||
2: { [prop5]: values[2] },
|
|
||||||
length: values[3],
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} = data);
|
} = data);
|
||||||
expect(values[0]).toBe("foo");
|
expect(values[0]).toBe("foo");
|
||||||
expect(values[1]).toBe(3);
|
expect(values[1]).toBe(3);
|
||||||
expect(values[2]).toBe(5);
|
|
||||||
expect(values[3]).toBe(3);
|
|
||||||
|
|
||||||
const generatedJson = __non_webpack_require__(path.resolve(__dirname, "data.json.js"));
|
const generatedJson = __non_webpack_require__(path.resolve(__dirname, "data.json.js"));
|
||||||
expect(generatedJson.foo).toBeUndefined();
|
|
||||||
expect(generatedJson.obj).toBeUndefined();
|
|
||||||
expect(generatedJson).toEqual({
|
expect(generatedJson).toEqual({
|
||||||
"W": {
|
"W": {
|
||||||
"arr": [
|
"arr": [
|
||||||
|
|
@ -83,3 +71,18 @@ it("should mangle when destructuring json", async () => {
|
||||||
"p": "foo"
|
"p": "foo"
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should mangle when destructuring json 2", async () => {
|
||||||
|
const { prop1, prop2 } = data2.obj.arr[0];
|
||||||
|
expect(prop1).toBe(1);
|
||||||
|
expect(prop2).toBe(2);
|
||||||
|
|
||||||
|
const generatedJson = __non_webpack_require__(path.resolve(__dirname, "data.json_2.js"));
|
||||||
|
expect(generatedJson).toEqual({
|
||||||
|
"W": {
|
||||||
|
"Q": [
|
||||||
|
{ "X": 1, "Q": 2 },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,9 @@ module.exports = {
|
||||||
const source = sources.get("javascript");
|
const source = sources.get("javascript");
|
||||||
const file = compilation.getAssetPath("[name].js", {
|
const file = compilation.getAssetPath("[name].js", {
|
||||||
filename:
|
filename:
|
||||||
module.readableIdentifier(compilation.requestShortener) +
|
module
|
||||||
".js"
|
.readableIdentifier(compilation.requestShortener)
|
||||||
|
.replace(/[?#]/g, "_") + ".js"
|
||||||
});
|
});
|
||||||
compilation.emitAsset(file, source);
|
compilation.emitAsset(file, source);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue