aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/output.js2
-rw-r--r--test/compress/negate-iife.js28
2 files changed, 30 insertions, 0 deletions
diff --git a/lib/output.js b/lib/output.js
index 801f7516..f1e0c2f1 100644
--- a/lib/output.js
+++ b/lib/output.js
@@ -531,6 +531,8 @@ function OutputStream(options) {
});
PARENS([ AST_Unary, AST_Undefined ], function(output){
+ if (this.expression instanceof AST_Call)
+ return false;
var p = output.parent();
return p instanceof AST_PropAccess && p.expression === this
|| p instanceof AST_Call && p.expression === this;
diff --git a/test/compress/negate-iife.js b/test/compress/negate-iife.js
index b73ff547..aa95d958 100644
--- a/test/compress/negate-iife.js
+++ b/test/compress/negate-iife.js
@@ -130,3 +130,31 @@ negate_iife_issue_1073: {
}(7))();
}
}
+
+issue_1254_negate_iife_false: {
+ options = {
+ negate_iife: false,
+ }
+ input: {
+ (function() {
+ return function() {
+ console.log('test')
+ };
+ })()();
+ }
+ expect_exact: '(function(){return function(){console.log("test")}})()();'
+}
+
+issue_1254_negate_iife_true: {
+ options = {
+ negate_iife: true,
+ }
+ input: {
+ (function() {
+ return function() {
+ console.log('test')
+ };
+ })()();
+ }
+ expect_exact: '!function(){return function(){console.log("test")}}()();'
+}