aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2020-06-08 17:09:21 +0100
committerGitHub <noreply@github.com>2020-06-09 00:09:21 +0800
commit5561d3e7f3252837ac3b85401f2403937860da46 (patch)
tree5e55b19e83e45ad990a6f2da3e5994d7d1dc592a /test
parent491d6ce1d5f8e49730de25788cabf9e213470588 (diff)
downloadtracifyjs-5561d3e7f3252837ac3b85401f2403937860da46.tar.gz
tracifyjs-5561d3e7f3252837ac3b85401f2403937860da46.zip
fix corner case in `collapse_vars` (#3972)
fixes #3971
Diffstat (limited to 'test')
-rw-r--r--test/compress/collapse_vars.js55
1 files changed, 51 insertions, 4 deletions
diff --git a/test/compress/collapse_vars.js b/test/compress/collapse_vars.js
index f99e0124..71c3a147 100644
--- a/test/compress/collapse_vars.js
+++ b/test/compress/collapse_vars.js
@@ -7977,7 +7977,7 @@ mangleable_var: {
expect_stdout: "PASS"
}
-issue_3884: {
+issue_3884_1: {
options = {
collapse_vars: true,
evaluate: true,
@@ -7995,9 +7995,33 @@ issue_3884: {
console.log(a, b);
}
expect: {
- var a = 100;
- ++a;
- console.log(a, 32);
+ var a = 100, b = 1;
+ b <<= ++a;
+ console.log(a, b);
+ }
+ expect_stdout: "101 32"
+}
+
+issue_3884_2: {
+ options = {
+ collapse_vars: true,
+ evaluate: true,
+ passes: 3,
+ reduce_vars: true,
+ side_effects: true,
+ toplevel: true,
+ unused: true,
+ }
+ input: {
+ var a = 100, b = 1;
+ {
+ a++ + a || a;
+ b <<= a;
+ }
+ console.log(a, b);
+ }
+ expect: {
+ console.log(101, 32);
}
expect_stdout: "101 32"
}
@@ -8195,3 +8219,26 @@ operator_in: {
}
expect_stdout: "PASS"
}
+
+issue_3971: {
+ options = {
+ collapse_vars: true,
+ evaluate: true,
+ reduce_vars: true,
+ side_effects: true,
+ toplevel: true,
+ }
+ input: {
+ var a = 0 == typeof f, b = 0;
+ {
+ var a = void (a++ + (b |= a));
+ }
+ console.log(b);
+ }
+ expect: {
+ var a = 0 == typeof f, b = 0;
+ var a = void (b |= ++a);
+ console.log(b);
+ }
+ expect_stdout: "1"
+}