enhance evaluate & reduce_vars (#3873)

This commit is contained in:
Alex Lam S.L
2020-05-10 20:08:05 +01:00
committed by GitHub
parent 7e0ad232b0
commit e23bf48052
4 changed files with 188 additions and 67 deletions

View File

@@ -2190,3 +2190,139 @@ issue_3755: {
}
expect_stdout: "undefined"
}
void_side_effects: {
options = {
evaluate: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var a = void console.log("PASS");
console.log(a);
}
expect: {
console.log("PASS");
console.log(void 0);
}
expect_stdout: [
"PASS",
"undefined",
]
}
no_returns: {
options = {
evaluate: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var a = function() {
console.log("PASS");
}();
console.log(a);
}
expect: {
(function() {
console.log("PASS");
})();
console.log(void 0);
}
expect_stdout: [
"PASS",
"undefined",
]
}
void_returns: {
options = {
evaluate: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var a = function f() {
function g(b) {
if (b) console.log("FAIL");
}
while (1) {
console.log("PASS");
try {
if (console) return;
} catch (e) {
return g(e);
}
}
}();
console.log(a);
}
expect: {
(function() {
function g(b) {
if (b) console.log("FAIL");
}
while (1) {
console.log("PASS");
try {
if (console) return;
} catch (e) {
return g(e);
}
}
})();
console.log(void 0);
}
expect_stdout: [
"PASS",
"undefined",
]
}
void_returns_recursive: {
options = {
evaluate: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var a = function f() {
function g(b) {
return f();
}
while (1) {
console.log("PASS");
try {
if (console) return;
} catch (e) {
return g(e);
}
}
}();
console.log(a);
}
expect: {
var a = function f() {
function g(b) {
return f();
}
while (1) {
console.log("PASS");
try {
if (console) return;
} catch (e) {
return g();
}
}
}();
console.log(a);
}
expect_stdout: [
"PASS",
"undefined",
]
}