aboutsummaryrefslogtreecommitdiff
path: root/test/compress/negate-iife.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/compress/negate-iife.js')
-rw-r--r--test/compress/negate-iife.js87
1 files changed, 87 insertions, 0 deletions
diff --git a/test/compress/negate-iife.js b/test/compress/negate-iife.js
index f17ae206..9a0b5a46 100644
--- a/test/compress/negate-iife.js
+++ b/test/compress/negate-iife.js
@@ -32,6 +32,19 @@ negate_iife_2: {
}
}
+negate_iife_2_side_effects: {
+ options = {
+ negate_iife: true,
+ side_effects: true,
+ }
+ input: {
+ (function(){ return {} })().x = 10; // should not transform this one
+ }
+ expect: {
+ (function(){ return {} })().x = 10;
+ }
+}
+
negate_iife_3: {
options = {
negate_iife: true,
@@ -45,6 +58,34 @@ negate_iife_3: {
}
}
+negate_iife_3_evaluate: {
+ options = {
+ conditionals: true,
+ evaluate: true,
+ negate_iife: true,
+ }
+ input: {
+ (function(){ return true })() ? console.log(true) : console.log(false);
+ }
+ expect: {
+ console.log(true);
+ }
+}
+
+negate_iife_3_side_effects: {
+ options = {
+ conditionals: true,
+ negate_iife: true,
+ side_effects: true,
+ }
+ input: {
+ (function(){ return t })() ? console.log(true) : console.log(false);
+ }
+ expect: {
+ !function(){ return t }() ? console.log(false) : console.log(true);
+ }
+}
+
negate_iife_3_off: {
options = {
negate_iife: false,
@@ -58,6 +99,20 @@ negate_iife_3_off: {
}
}
+negate_iife_3_off_evaluate: {
+ options = {
+ conditionals: true,
+ evaluate: true,
+ negate_iife: false,
+ }
+ input: {
+ (function(){ return true })() ? console.log(true) : console.log(false);
+ }
+ expect: {
+ console.log(true);
+ }
+}
+
negate_iife_4: {
options = {
negate_iife: true,
@@ -320,3 +375,35 @@ issue_1288: {
}(0);
}
}
+
+issue_1288_side_effects: {
+ options = {
+ conditionals: true,
+ negate_iife: true,
+ side_effects: true,
+ }
+ input: {
+ if (w) ;
+ else {
+ (function f() {})();
+ }
+ if (!x) {
+ (function() {
+ x = {};
+ })();
+ }
+ if (y)
+ (function() {})();
+ else
+ (function(z) {
+ return z;
+ })(0);
+ }
+ expect: {
+ w;
+ x || function() {
+ x = {};
+ }();
+ y;
+ }
+}