aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2021-06-24 12:43:46 +0100
committerGitHub <noreply@github.com>2021-06-24 19:43:46 +0800
commit1a064b6e741f9c3e98f4e2de8084c48f324c0318 (patch)
tree64c8e372030465ac480464d3d58d99da67bca128 /test
parent82772ccb12cfef97480fa8021032a53f90cd1f45 (diff)
downloadtracifyjs-1a064b6e741f9c3e98f4e2de8084c48f324c0318.tar.gz
tracifyjs-1a064b6e741f9c3e98f4e2de8084c48f324c0318.zip
fix corner case in `functions` (#5035)
fixes #5034
Diffstat (limited to 'test')
-rw-r--r--test/compress/awaits.js34
-rw-r--r--test/compress/yields.js30
2 files changed, 64 insertions, 0 deletions
diff --git a/test/compress/awaits.js b/test/compress/awaits.js
index a0d744ba..eb808464 100644
--- a/test/compress/awaits.js
+++ b/test/compress/awaits.js
@@ -1989,3 +1989,37 @@ issue_5032_webkit: {
]
node_version: ">=8"
}
+
+issue_5034: {
+ options = {
+ functions: true,
+ reduce_vars: true,
+ unused: true,
+ }
+ input: {
+ (function() {
+ var await = function f() {
+ return async function() {
+ return f;
+ };
+ };
+ await()().then(function(value) {
+ console.log(value === await ? "PASS" : "FAIL");
+ });
+ })();
+ }
+ expect: {
+ (function() {
+ var await = function f() {
+ return async function() {
+ return f;
+ };
+ };
+ await()().then(function(value) {
+ console.log(value === await ? "PASS" : "FAIL");
+ });
+ })();
+ }
+ expect_stdout: "PASS"
+ node_version: ">=8"
+}
diff --git a/test/compress/yields.js b/test/compress/yields.js
index 5761d85e..9df533b9 100644
--- a/test/compress/yields.js
+++ b/test/compress/yields.js
@@ -1216,3 +1216,33 @@ issue_5032_webkit: {
]
node_version: ">=4"
}
+
+issue_5034: {
+ options = {
+ functions: true,
+ reduce_vars: true,
+ unused: true,
+ }
+ input: {
+ console.log(function() {
+ var yield = function f() {
+ return function*() {
+ return f;
+ };
+ };
+ return yield()().next().value === yield;
+ }() ? "PASS" : "FAIL");
+ }
+ expect: {
+ console.log(function() {
+ var yield = function f() {
+ return function*() {
+ return f;
+ };
+ };
+ return yield()().next().value === yield;
+ }() ? "PASS" : "FAIL");
+ }
+ expect_stdout: "PASS"
+ node_version: ">=4"
+}