aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkzc <zaxxon2011@gmail.com>2016-08-16 21:54:54 -0400
committerkzc <zaxxon2011@gmail.com>2016-08-17 01:29:34 -0400
commitd854523783b4a73d1dd734605f1c41fcae86e932 (patch)
treea338beec781561576005ce136af78b261ee99e12
parent781f26eda1327265f15ef5a213c69b5f9a551ca2 (diff)
downloadtracifyjs-d854523783b4a73d1dd734605f1c41fcae86e932.tar.gz
tracifyjs-d854523783b4a73d1dd734605f1c41fcae86e932.zip
Fix negate_iife regression #1254
-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")}}()();'
+}