diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2020-06-08 17:09:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-09 00:09:21 +0800 |
commit | 5561d3e7f3252837ac3b85401f2403937860da46 (patch) | |
tree | 5e55b19e83e45ad990a6f2da3e5994d7d1dc592a /test | |
parent | 491d6ce1d5f8e49730de25788cabf9e213470588 (diff) | |
download | tracifyjs-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.js | 55 |
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" +} |