@@ -2202,11 +2202,11 @@ mangle_properties: {
|
||||
expect_stdout: "PASS 42"
|
||||
expect_warnings: [
|
||||
"INFO: Preserving reserved property q",
|
||||
"INFO: Preserving reserved property log",
|
||||
"INFO: Mapping property #P to #t",
|
||||
"INFO: Mapping property Q to s",
|
||||
"INFO: Mapping property #p to #i",
|
||||
"INFO: Mapping property r to e",
|
||||
"INFO: Preserving reserved property log",
|
||||
]
|
||||
node_version: ">=14.6"
|
||||
}
|
||||
@@ -3619,3 +3619,59 @@ issue_5662: {
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=6"
|
||||
}
|
||||
|
||||
issue_5682_class_key: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
"use strict";
|
||||
function f(a) {
|
||||
return "foo" in a;
|
||||
}
|
||||
class A {
|
||||
foo() {}
|
||||
}
|
||||
console.log(f(new A()) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect: {
|
||||
"use strict";
|
||||
function f(o) {
|
||||
return "o" in o;
|
||||
}
|
||||
class A {
|
||||
o() {}
|
||||
}
|
||||
console.log(f(new A()) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
issue_5682_class_key_computed: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
"use strict";
|
||||
function f(a) {
|
||||
return "foo" in a;
|
||||
}
|
||||
class A {
|
||||
["foo"]() {}
|
||||
}
|
||||
console.log(f(new A()) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect: {
|
||||
"use strict";
|
||||
function f(o) {
|
||||
return "o" in o;
|
||||
}
|
||||
class A {
|
||||
["o"]() {}
|
||||
}
|
||||
console.log(f(new A()) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
@@ -115,9 +115,9 @@ numeric_literal: {
|
||||
"8 7 8",
|
||||
]
|
||||
expect_warnings: [
|
||||
"INFO: Preserving reserved property log",
|
||||
"INFO: Mapping property 0x25 to o",
|
||||
"INFO: Mapping property 1E42 to b",
|
||||
"INFO: Preserving reserved property log",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ dont_reuse_prop: {
|
||||
expect_stdout: "123"
|
||||
expect_warnings: [
|
||||
"INFO: Preserving excluded property a",
|
||||
"INFO: Preserving reserved property log",
|
||||
"INFO: Mapping property asd to b",
|
||||
"INFO: Preserving reserved property log",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ unmangleable_props_should_always_be_reserved: {
|
||||
expect_stdout: "123"
|
||||
expect_warnings: [
|
||||
"INFO: Preserving excluded property a",
|
||||
"INFO: Preserving reserved property log",
|
||||
"INFO: Mapping property asd to b",
|
||||
"INFO: Preserving reserved property log",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -147,8 +147,8 @@ mangle_properties_1: {
|
||||
a["a"] = "bar";
|
||||
a.b = "red";
|
||||
x = {o: 10};
|
||||
a.r(x.o, a.a);
|
||||
a['r']({b: "blue", a: "baz"});
|
||||
a.run(x.o, a.a);
|
||||
a['run']({b: "blue", a: "baz"});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -962,14 +962,14 @@ issue_2256: {
|
||||
}
|
||||
input: {
|
||||
({ "keep": 42 });
|
||||
global.keep = global.change;
|
||||
global.keep = global.change = "PASS";
|
||||
console.log(keep);
|
||||
}
|
||||
expect: {
|
||||
global.keep = global.l;
|
||||
global.keep = global.l = "PASS";
|
||||
console.log(keep);
|
||||
}
|
||||
expect_stdout: "undefined"
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
lhs_prop_1: {
|
||||
@@ -1645,3 +1645,163 @@ issue_5177: {
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
issue_5682_in_1: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return "foo" in a;
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = 42;
|
||||
console.log(f(o) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return "foo" in o;
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = 42;
|
||||
console.log(f(o) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
issue_5682_in_2: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return "foo" in a;
|
||||
}
|
||||
var o = { foo: 42 };
|
||||
console.log(f(o) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return "o" in o;
|
||||
}
|
||||
var o = { o: 42 };
|
||||
console.log(f(o) ? "PASS" : "FAIL");
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
issue_5682_dot_1: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return a.foo;
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = "PASS";
|
||||
console.log(f(o));
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return o.foo;
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = "PASS";
|
||||
console.log(f(o));
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
issue_5682_dot_2: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return a.foo;
|
||||
}
|
||||
var o = { foo: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return o.o;
|
||||
}
|
||||
var o = { o: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
issue_5682_dot_2_computed: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return a.foo;
|
||||
}
|
||||
var o = { ["foo"]: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return o.o;
|
||||
}
|
||||
var o = { ["o"]: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
node_version: ">=4"
|
||||
}
|
||||
|
||||
issue_5682_sub_1: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return a["foo"];
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = "PASS";
|
||||
console.log(f(o));
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return o["foo"];
|
||||
}
|
||||
var o = {};
|
||||
var p = "foo";
|
||||
o[p] = "PASS";
|
||||
console.log(f(o));
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
issue_5682_sub_2: {
|
||||
mangle = {
|
||||
properties: true,
|
||||
}
|
||||
input: {
|
||||
function f(a) {
|
||||
return a["foo"];
|
||||
}
|
||||
var o = { foo: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect: {
|
||||
function f(o) {
|
||||
return o["o"];
|
||||
}
|
||||
var o = { o: "PASS" };
|
||||
console.log(f(o));
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user