fix corner case in merge_vars (#4957)

fixes #4956
This commit is contained in:
Alex Lam S.L
2021-05-24 02:56:02 +01:00
committed by GitHub
parent 8b0c836515
commit eb08fed120
3 changed files with 79 additions and 2 deletions

View File

@@ -3301,3 +3301,80 @@ issue_4761: {
}
expect_stdout: "undefined"
}
issue_4956_1: {
options = {
merge_vars: true,
toplevel: true,
}
input: {
var a, b;
function f(c) {
switch (c) {
case 0:
a = { p: 42 };
case 1:
b = a.p;
console.log(b);
}
}
f(0);
f(1);
}
expect: {
var a, b;
function f(c) {
switch (c) {
case 0:
a = { p: 42 };
case 1:
b = a.p;
console.log(b);
}
}
f(0);
f(1);
}
expect_stdout: [
"42",
"42",
]
}
issue_4956_2: {
options = {
merge_vars: true,
toplevel: true,
}
input: {
var a, b;
function f(c) {
if (0 == c) {
console;
a = { p: 42 };
}
b = a.p;
if (1 == c)
console.log(b);
}
f(0);
f(1);
}
expect: {
var a, b;
function f(c) {
if (0 == c) {
console;
a = { p: 42 };
}
b = a.p;
if (1 == c)
console.log(b);
}
f(0);
f(1);
}
expect_stdout: "42"
}