fix corner case in inline (#5270)

fixes #5269
This commit is contained in:
Alex Lam S.L
2022-01-07 05:22:16 +00:00
committed by GitHub
parent 10a1523ee6
commit 9aab1f3661
2 changed files with 217 additions and 0 deletions

View File

@@ -3192,3 +3192,219 @@ issue_5081_property_access_ie: {
}
expect_stdout: "PASS"
}
issue_5269_1: {
options = {
ie: false,
inline: true,
toplevel: true,
}
input: {
"use strict";
do {
(function() {
try {
throw "PASS";
} catch (e) {
console.log(e);
}
})();
} while (!console);
}
expect: {
"use strict";
do {
try {
throw "PASS";
} catch (e) {
console.log(e);
}
} while (!console);
}
expect_stdout: "PASS"
}
issue_5269_1_ie: {
options = {
ie: true,
inline: true,
toplevel: true,
}
input: {
"use strict";
do {
(function() {
try {
throw "PASS";
} catch (e) {
console.log(e);
}
})();
} while (!console);
}
expect: {
"use strict";
do {
try {
throw "PASS";
} catch (e) {
console.log(e);
}
} while (!console);
}
expect_stdout: "PASS"
}
issue_5269_2: {
options = {
ie: false,
inline: true,
toplevel: true,
}
input: {
for (var i = 0; i < 2; i++)
(function() {
console.log(e);
try {
console;
} catch (e) {
var e = "FAIL 1";
}
e = "FAIL 2";
console;
})();
}
expect: {
for (var i = 0; i < 2; i++) {
e = void 0;
console.log(e);
try {
console;
} catch (e) {
var e = "FAIL 1";
}
e = "FAIL 2";
console;
}
}
expect_stdout: [
"undefined",
"undefined",
]
}
issue_5269_2_ie: {
options = {
ie: true,
inline: true,
toplevel: true,
}
input: {
for (var i = 0; i < 2; i++)
(function() {
console.log(e);
try {
console;
} catch (e) {
var e = "FAIL 1";
}
e = "FAIL 2";
console;
})();
}
expect: {
for (var i = 0; i < 2; i++) {
e = void 0;
console.log(e);
try {
console;
} catch (e) {
var e = "FAIL 1";
}
e = "FAIL 2";
console;
}
}
expect_stdout: [
"undefined",
"undefined",
]
}
issue_5269_3: {
options = {
ie: false,
inline: true,
toplevel: true,
}
input: {
e = "foo";
for (var i = 0; i < 2; i++)
(function() {
console.log(e);
try {
console;
} catch (e) {
e = "FAIL";
}
e = "bar";
console;
})();
}
expect: {
e = "foo";
for (var i = 0; i < 2; i++) {
console.log(e);
try {
console;
} catch (e) {
e = "FAIL";
}
e = "bar";
console;
}
}
expect_stdout: [
"foo",
"bar",
]
}
issue_5269_3_ie: {
options = {
ie: true,
inline: true,
toplevel: true,
}
input: {
e = "foo";
for (var i = 0; i < 2; i++)
(function() {
console.log(e);
try {
console;
} catch (e) {
e = "FAIL";
}
e = "bar";
console;
})();
}
expect: {
e = "foo";
for (var i = 0; i < 2; i++) {
console.log(e);
try {
console;
} catch (e) {
e = "FAIL";
}
e = "bar";
console;
}
}
expect_stdout: [
"foo",
"bar",
]
}