aboutsummaryrefslogtreecommitdiff
path: root/test/compress
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2020-12-28 22:17:52 +0000
committerGitHub <noreply@github.com>2020-12-29 06:17:52 +0800
commitddc0ed7072ed460f0121a700a6e7fde8fe28400a (patch)
treef58a7dda828f35b13124224f0236991c52e563e8 /test/compress
parentc00efe56f4fb07d27eb1d47915288b027b3ef692 (diff)
downloadtracifyjs-ddc0ed7072ed460f0121a700a6e7fde8fe28400a.tar.gz
tracifyjs-ddc0ed7072ed460f0121a700a6e7fde8fe28400a.zip
expand test options (#4475)
- fix corner cases in `hoist_vars` & `keep_fnames`
Diffstat (limited to 'test/compress')
-rw-r--r--test/compress/async.js48
-rw-r--r--test/compress/const.js24
-rw-r--r--test/compress/default-values.js18
-rw-r--r--test/compress/destructured.js18
-rw-r--r--test/compress/hoist_vars.js25
5 files changed, 133 insertions, 0 deletions
diff --git a/test/compress/async.js b/test/compress/async.js
index 19b90f51..5d623bbe 100644
--- a/test/compress/async.js
+++ b/test/compress/async.js
@@ -32,6 +32,54 @@ defun_name: {
node_version: ">=8"
}
+drop_fname: {
+ rename = true
+ options = {
+ reduce_vars: true,
+ toplevel: true,
+ unused: true,
+ }
+ mangle = {
+ toplevel: true,
+ }
+ input: {
+ async function await() {
+ console.log("PASS");
+ }
+ await();
+ }
+ expect: {
+ (async function() {
+ console.log("PASS");
+ })();
+ }
+ expect_stdout: "PASS"
+ node_version: ">=8"
+}
+
+keep_fname: {
+ options = {
+ keep_fnames: true,
+ reduce_vars: true,
+ toplevel: true,
+ unused: true,
+ }
+ 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() {
diff --git a/test/compress/const.js b/test/compress/const.js
index 4eea1977..0281fd87 100644
--- a/test/compress/const.js
+++ b/test/compress/const.js
@@ -658,6 +658,30 @@ legacy_scope: {
expect_stdout: true
}
+hoist_vars: {
+ options = {
+ hoist_vars: true,
+ }
+ input: {
+ {
+ const a = "FAIL";
+ var b = 42;
+ }
+ var a = "PASS";
+ console.log(a, b);
+ }
+ expect: {
+ var b;
+ {
+ const a = "FAIL";
+ b = 42;
+ }
+ var a = "PASS";
+ console.log(a, b);
+ }
+ expect_stdout: true
+}
+
issue_4191: {
options = {
functions: true,
diff --git a/test/compress/default-values.js b/test/compress/default-values.js
index acd285f4..39fcddbd 100644
--- a/test/compress/default-values.js
+++ b/test/compress/default-values.js
@@ -505,6 +505,24 @@ drop_fargs: {
node_version: ">=6"
}
+hoist_vars: {
+ options = {
+ hoist_vars: true,
+ }
+ input: {
+ var a = "PASS";
+ var [ b = 42 ] = [];
+ console.log(a, b);
+ }
+ expect: {
+ var a = "PASS";
+ var [ b = 42 ] = [];
+ console.log(a, b);
+ }
+ expect_stdout: "PASS 42"
+ node_version: ">=6"
+}
+
unused_var_1: {
options = {
toplevel: true,
diff --git a/test/compress/destructured.js b/test/compress/destructured.js
index 98e84f48..ba7dbf3c 100644
--- a/test/compress/destructured.js
+++ b/test/compress/destructured.js
@@ -1358,6 +1358,24 @@ fn_name_unused: {
node_version: ">=6"
}
+hoist_vars: {
+ options = {
+ hoist_vars: true,
+ }
+ input: {
+ var a = "PASS";
+ var [ b ] = [ 42 ];
+ console.log(a, b);
+ }
+ expect: {
+ var a = "PASS";
+ var [ b ] = [ 42 ];
+ console.log(a, b);
+ }
+ expect_stdout: "PASS 42"
+ node_version: ">=6"
+}
+
issue_4280: {
options = {
evaluate: true,
diff --git a/test/compress/hoist_vars.js b/test/compress/hoist_vars.js
index 6aa1f7b4..6cd99b06 100644
--- a/test/compress/hoist_vars.js
+++ b/test/compress/hoist_vars.js
@@ -89,6 +89,31 @@ sequences_funs: {
}
}
+catch_var: {
+ options = {
+ dead_code: true,
+ hoist_vars: true,
+ side_effects: true,
+ toplevel: true,
+ unused: true,
+ }
+ input: {
+ var a = "PASS";
+ try {
+ a;
+ } catch (a) {
+ var a = 0;
+ a;
+ }
+ console.log(a);
+ }
+ expect: {
+ var a = "PASS";
+ console.log(a);
+ }
+ expect_stdout: "PASS"
+}
+
issue_2295: {
options = {
collapse_vars: true,