fix corner case in conditionals (#5335)

fixes #5334
This commit is contained in:
Alex Lam S.L
2022-02-03 17:48:30 +00:00
committed by GitHub
parent 8ceb4b0492
commit fa30960b8b
2 changed files with 68 additions and 15 deletions

View File

@@ -2007,3 +2007,58 @@ issue_5232_3: {
"undefined",
]
}
issue_5334_1: {
options = {
conditionals: true,
hoist_props: true,
reduce_vars: true,
side_effects: true,
toplevel: true,
unused: true,
}
input: {
function f() {
if (console.log("PASS"))
var o = true, o = {
p: o += console.log("FAIL"),
};
}
f();
}
expect: {
(function() {
var o;
console.log("PASS") && (o = true, o = {
p: o += console.log("FAIL"),
});
})();
}
expect_stdout: "PASS"
}
issue_5334_2: {
options = {
conditionals: true,
hoist_props: true,
inline: true,
passes: 3,
reduce_vars: true,
side_effects: true,
toplevel: true,
unused: true,
}
input: {
function f() {
if (console.log("PASS"))
var o = true, o = {
p: o += console.log("FAIL"),
};
}
f();
}
expect: {
console.log("PASS") && console.log("FAIL");
}
expect_stdout: "PASS"
}