diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/compress/async.js | 21 | ||||
-rw-r--r-- | test/compress/objects.js | 23 | ||||
-rw-r--r-- | test/ufuzz/index.js | 10 |
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), |