aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/compress/async.js21
-rw-r--r--test/compress/objects.js23
-rw-r--r--test/ufuzz/index.js10
3 files changed, 51 insertions, 3 deletions
diff --git a/test/compress/async.js b/test/compress/async.js
index d73bba41..ffd941c8 100644
--- a/test/compress/async.js
+++ b/test/compress/async.js
@@ -143,6 +143,27 @@ negate_iife: {
node_version: ">=8"
}
+object_function: {
+ options = {
+ properties: true,
+ side_effects: true,
+ }
+ input: {
+ ({
+ async f() {
+ console.log("PASS");
+ },
+ }).f();
+ }
+ expect: {
+ (async function() {
+ console.log("PASS");
+ })();
+ }
+ expect_stdout: "PASS"
+ node_version: ">=8"
+}
+
collapse_vars_1: {
options = {
collapse_vars: true,
diff --git a/test/compress/objects.js b/test/compress/objects.js
index d35f1538..67acefd6 100644
--- a/test/compress/objects.js
+++ b/test/compress/objects.js
@@ -257,6 +257,29 @@ keep_computed_key: {
node_version: ">=4"
}
+shorthand_keywords: {
+ options = {
+ evaluate: true,
+ reduce_vars: true,
+ toplevel: true,
+ unsafe: true,
+ unused: true,
+ }
+ input: {
+ var async = 1, get = 2, set = 3, o = {
+ async,
+ get,
+ set,
+ };
+ console.log(o.async, o.get, o.set);
+ }
+ expect: {
+ console.log(1, 2, 3);
+ }
+ expect_stdout: "1 2 3"
+ node_version: ">=6"
+}
+
issue_4269_1: {
options = {
evaluate: true,
diff --git a/test/ufuzz/index.js b/test/ufuzz/index.js
index 77a69a51..8fce55de 100644
--- a/test/ufuzz/index.js
+++ b/test/ufuzz/index.js
@@ -1262,13 +1262,14 @@ function createObjectKey(recurmax, stmtDepth, canThrow) {
function createObjectFunction(recurmax, stmtDepth, canThrow) {
var nameLenBefore = VAR_NAMES.length;
var save_async = async;
- async = SUPPORT.async && rng(50) == 0;
var s;
createBlockVariables(recurmax, stmtDepth, canThrow, function(defns) {
switch (rng(SUPPORT.computed_key ? 3 : 2)) {
case 0:
+ var name = createObjectKey(recurmax, stmtDepth, canThrow);
+ async = false;
s = [
- "get " + createObjectKey(recurmax, stmtDepth, canThrow) + "(){",
+ "get " + name + "(){",
strictMode(),
defns(),
_createStatements(2, recurmax, canThrow, CANNOT_BREAK, CANNOT_CONTINUE, CAN_RETURN, stmtDepth),
@@ -1282,6 +1283,7 @@ function createObjectFunction(recurmax, stmtDepth, canThrow) {
do {
prop2 = getDotKey();
} while (prop1 == prop2);
+ async = false;
s = [
"set " + prop1 + "(" + createVarName(MANDATORY) + "){",
strictMode(),
@@ -1292,8 +1294,10 @@ function createObjectFunction(recurmax, stmtDepth, canThrow) {
];
break;
default:
+ var name = createObjectKey(recurmax, stmtDepth, canThrow);
+ async = SUPPORT.async && rng(50) == 0;
s = [
- createObjectKey(recurmax, stmtDepth, canThrow) + "(" + createParams(save_async, NO_DUPLICATE) + "){",
+ (async ? "async " : "") + name + "(" + createParams(save_async, NO_DUPLICATE) + "){",
strictMode(),
defns(),
_createStatements(3, recurmax, canThrow, CANNOT_BREAK, CANNOT_CONTINUE, CAN_RETURN, stmtDepth),