diff options
-rw-r--r-- | lib/output.js | 2 | ||||
-rw-r--r-- | test/compress/negate-iife.js | 28 |
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")}}()();' +} |