309 lines
5.7 KiB
JavaScript
309 lines
5.7 KiB
JavaScript
await_await: {
|
|
input: {
|
|
(async function() {
|
|
console.log("PASS");
|
|
await await 42;
|
|
})();
|
|
}
|
|
expect: {
|
|
(async function() {
|
|
console.log("PASS");
|
|
await await 42;
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
defun_name: {
|
|
input: {
|
|
async function await() {
|
|
console.log("PASS");
|
|
}
|
|
await();
|
|
}
|
|
expect: {
|
|
async function await() {
|
|
console.log("PASS");
|
|
}
|
|
await();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
nested_await: {
|
|
input: {
|
|
(async function() {
|
|
console.log(function(await) {
|
|
return await;
|
|
}("PASS"));
|
|
})();
|
|
}
|
|
expect: {
|
|
(async function() {
|
|
console.log(function(await) {
|
|
return await;
|
|
}("PASS"));
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
reduce_single_use_defun: {
|
|
options = {
|
|
reduce_vars: true,
|
|
toplevel: true,
|
|
unused: true,
|
|
}
|
|
input: {
|
|
async function f(a) {
|
|
console.log(a);
|
|
}
|
|
f("PASS");
|
|
}
|
|
expect: {
|
|
(async function(a) {
|
|
console.log(a);
|
|
})("PASS");
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
dont_inline: {
|
|
options = {
|
|
inline: true,
|
|
}
|
|
input: {
|
|
(async function() {
|
|
A;
|
|
})().catch(function() {});
|
|
console.log("PASS");
|
|
}
|
|
expect: {
|
|
(async function() {
|
|
A;
|
|
})().catch(function() {});
|
|
console.log("PASS");
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
evaluate: {
|
|
options = {
|
|
evaluate: true,
|
|
reduce_vars: true,
|
|
toplevel: true,
|
|
unused: true,
|
|
}
|
|
input: {
|
|
var a = async function() {}();
|
|
console.log(typeof a);
|
|
}
|
|
expect: {
|
|
var a = async function() {}();
|
|
console.log(typeof a);
|
|
}
|
|
expect_stdout: "object"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
negate: {
|
|
options = {
|
|
side_effects: true,
|
|
}
|
|
input: {
|
|
console && async function() {} && console.log("PASS");
|
|
}
|
|
expect: {
|
|
console && async function() {} && console.log("PASS");
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
negate_iife: {
|
|
options = {
|
|
negate_iife: true,
|
|
}
|
|
input: {
|
|
(async function() {
|
|
console.log("PASS");
|
|
})();
|
|
}
|
|
expect: {
|
|
!async function() {
|
|
console.log("PASS");
|
|
}();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
collapse_vars_1: {
|
|
options = {
|
|
collapse_vars: true,
|
|
}
|
|
input: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
a = "PASS";
|
|
await 42;
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
a = "PASS";
|
|
await 42;
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
collapse_vars_2: {
|
|
options = {
|
|
collapse_vars: true,
|
|
}
|
|
input: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
await (a = "PASS");
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
await (a = "PASS");
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
collapse_vars_3: {
|
|
options = {
|
|
collapse_vars: true,
|
|
}
|
|
input: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
await (a = "PASS", 42);
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect: {
|
|
var a = "FAIL";
|
|
(async function() {
|
|
await (a = "PASS", 42);
|
|
return "PASS";
|
|
})();
|
|
console.log(a);
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
issue_4335_1: {
|
|
options = {
|
|
inline: true,
|
|
}
|
|
input: {
|
|
var await = "PASS";
|
|
(async function() {
|
|
console.log(function() {
|
|
return await;
|
|
}());
|
|
})();
|
|
}
|
|
expect: {
|
|
var await = "PASS";
|
|
(async function() {
|
|
console.log(function() {
|
|
return await;
|
|
}());
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
issue_4335_2: {
|
|
options = {
|
|
inline: true,
|
|
}
|
|
input: {
|
|
(async function() {
|
|
console.log(function() {
|
|
function await() {}
|
|
return "PASS";
|
|
}());
|
|
})();
|
|
}
|
|
expect: {
|
|
(async function() {
|
|
console.log(function() {
|
|
function await() {}
|
|
return "PASS";
|
|
}());
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
issue_4337: {
|
|
options = {
|
|
reduce_vars: true,
|
|
unused: true,
|
|
}
|
|
input: {
|
|
(function(a) {
|
|
a();
|
|
})(async function() {
|
|
console.log("PASS");
|
|
});
|
|
}
|
|
expect: {
|
|
(function(a) {
|
|
(async function() {
|
|
console.log("PASS");
|
|
})();
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|
|
|
|
issue_4340: {
|
|
options = {
|
|
evaluate: true,
|
|
reduce_vars: true,
|
|
}
|
|
input: {
|
|
(async function a(a) {
|
|
console.log(a || "PASS");
|
|
})();
|
|
}
|
|
expect: {
|
|
(async function a(a) {
|
|
console.log(a || "PASS");
|
|
})();
|
|
}
|
|
expect_stdout: "PASS"
|
|
node_version: ">=8"
|
|
}
|