enhance mangle.properties (#4064)
This commit is contained in:
@@ -312,9 +312,7 @@ function test_case(test) {
|
||||
if (test.mangle) {
|
||||
output.compute_char_frequency(test.mangle);
|
||||
output.mangle_names(test.mangle);
|
||||
if (test.mangle.properties) {
|
||||
output = U.mangle_properties(output, test.mangle.properties);
|
||||
}
|
||||
if (test.mangle.properties) U.mangle_properties(output, test.mangle.properties);
|
||||
}
|
||||
var output_code = make_code(output, output_options);
|
||||
if (expect != output_code) {
|
||||
|
||||
@@ -130,7 +130,7 @@ evaluate_string_length: {
|
||||
}
|
||||
}
|
||||
|
||||
mangle_properties: {
|
||||
mangle_properties_1: {
|
||||
mangle = {
|
||||
properties: {
|
||||
keep_quoted: false,
|
||||
@@ -152,6 +152,53 @@ mangle_properties: {
|
||||
}
|
||||
}
|
||||
|
||||
mangle_properties_2: {
|
||||
mangle = {
|
||||
properties: {
|
||||
reserved: [
|
||||
"value",
|
||||
]
|
||||
},
|
||||
}
|
||||
input: {
|
||||
var o = {
|
||||
prop1: 1,
|
||||
};
|
||||
Object.defineProperty(o, "prop2", {
|
||||
value: 2,
|
||||
});
|
||||
Object.defineProperties(o, {
|
||||
prop3: {
|
||||
value: 3,
|
||||
},
|
||||
});
|
||||
console.log("prop1", o.prop1, "prop1" in o);
|
||||
console.log("prop2", o.prop2, o.hasOwnProperty("prop2"));
|
||||
console.log("prop3", o.prop3, Object.getOwnPropertyDescriptor(o, "prop3").value);
|
||||
}
|
||||
expect: {
|
||||
var o = {
|
||||
o: 1,
|
||||
};
|
||||
Object.defineProperty(o, "p", {
|
||||
value: 2,
|
||||
});
|
||||
Object.defineProperties(o, {
|
||||
r: {
|
||||
value: 3,
|
||||
},
|
||||
});
|
||||
console.log("prop1", o.o, "o" in o);
|
||||
console.log("prop2", o.p, o.hasOwnProperty("p"));
|
||||
console.log("prop3", o.r, Object.getOwnPropertyDescriptor(o, "r").value);
|
||||
}
|
||||
expect_stdout: [
|
||||
"prop1 1 true",
|
||||
"prop2 2 true",
|
||||
"prop3 3 3",
|
||||
]
|
||||
}
|
||||
|
||||
mangle_unquoted_properties: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
|
||||
Reference in New Issue
Block a user