diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2020-08-20 17:35:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-21 00:35:39 +0800 |
commit | a153176469d49b851b884b96261f01ea8026ba82 (patch) | |
tree | 8fac2c4f65b740cfb6a330a54aea34a64c817278 /test/compress | |
parent | 1c6384b6a565a808cf40169919a7c155f15b5216 (diff) | |
download | tracifyjs-a153176469d49b851b884b96261f01ea8026ba82.tar.gz tracifyjs-a153176469d49b851b884b96261f01ea8026ba82.zip |
enhance `conditionals` & `switches` (#4058)
Diffstat (limited to 'test/compress')
-rw-r--r-- | test/compress/reduce_vars.js | 2 | ||||
-rw-r--r-- | test/compress/switch.js | 128 |
2 files changed, 127 insertions, 3 deletions
diff --git a/test/compress/reduce_vars.js b/test/compress/reduce_vars.js index 77782cfd..8ed827a7 100644 --- a/test/compress/reduce_vars.js +++ b/test/compress/reduce_vars.js @@ -2031,6 +2031,7 @@ issue_1670_4: { issue_1670_5: { options = { + conditionals: true, dead_code: true, evaluate: true, keep_fargs: false, @@ -2062,6 +2063,7 @@ issue_1670_5: { issue_1670_6: { options = { + conditionals: true, dead_code: true, evaluate: true, keep_fargs: false, diff --git a/test/compress/switch.js b/test/compress/switch.js index 1de676e3..83bc40f5 100644 --- a/test/compress/switch.js +++ b/test/compress/switch.js @@ -1,5 +1,6 @@ constant_switch_1: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -19,6 +20,7 @@ constant_switch_1: { constant_switch_2: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -39,6 +41,7 @@ constant_switch_2: { constant_switch_3: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -60,6 +63,7 @@ constant_switch_3: { constant_switch_4: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -86,6 +90,7 @@ constant_switch_4: { constant_switch_5: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -120,6 +125,7 @@ constant_switch_5: { constant_switch_6: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -154,6 +160,7 @@ constant_switch_6: { constant_switch_7: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -197,6 +204,7 @@ constant_switch_7: { constant_switch_8: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -226,6 +234,7 @@ constant_switch_8: { constant_switch_9: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -315,6 +324,7 @@ keep_default: { issue_1663: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -551,6 +561,7 @@ issue_441_2: { issue_1674: { options = { + conditionals: true, dead_code: true, evaluate: true, side_effects: true, @@ -876,6 +887,7 @@ beautify: { issue_1758: { options = { + conditionals: true, dead_code: true, switches: true, } @@ -898,15 +910,16 @@ issue_1758: { issue_2535: { options = { + conditionals: true, dead_code: true, evaluate: true, switches: true, } input: { switch(w(), 42) { - case 13: x(); - case 42: y(); - default: z(); + case 13: x(); + case 42: y(); + default: z(); } } expect: { @@ -919,6 +932,7 @@ issue_2535: { issue_1750: { options = { + conditionals: true, dead_code: true, evaluate: true, switches: true, @@ -963,6 +977,7 @@ drop_switch_1: { drop_switch_2: { options = { + conditionals: true, dead_code: true, switches: true, } @@ -1007,6 +1022,7 @@ drop_switch_3: { drop_switch_4: { options = { + conditionals: true, dead_code: true, switches: true, } @@ -1028,3 +1044,109 @@ drop_switch_4: { } expect_stdout: "PASS" } + +drop_switch_5: { + options = { + conditionals: true, + dead_code: true, + switches: true, + } + input: { + switch (A) { + case B: + x(); + default: + } + switch (C) { + default: + y(); + case D: + } + } + expect: { + A === B && x(); + C !== D && y(); + } +} + +drop_switch_6: { + options = { + conditionals: true, + dead_code: true, + switches: true, + } + input: { + switch (A) { + case B: + default: + x(); + } + switch (C) { + default: + case D: + y(); + } + } + expect: { + A === B; + x(); + C !== D; + y(); + } +} + +drop_switch_7: { + options = { + conditionals: true, + dead_code: true, + switches: true, + } + input: { + switch (A) { + case B: + w(); + default: + x(); + } + switch (C) { + default: + y(); + case D: + z(); + } + } + expect: { + A === B && w(); + x(); + C !== D && y(); + z(); + } +} + +drop_switch_8: { + options = { + conditionals: true, + dead_code: true, + switches: true, + } + input: { + switch (A) { + case B: + w(); + break; + default: + x(); + } + switch (C) { + default: + y(); + break; + case D: + z(); + } + } + expect: { + (A === B ? w : x)(); + (C !== D ? y : z)(); + } +} |