From 9e626281716c0f11ed6b289d6a48c7b681a99a1e Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Mon, 24 Apr 2017 03:14:01 +0800 Subject: fix `unused` on for-in statements (#1843) Only need to avoid `var` within the initialisation block. fixes #1841 --- test/compress/functions.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'test/compress/functions.js') diff --git a/test/compress/functions.js b/test/compress/functions.js index dca40623..2a2d0965 100644 --- a/test/compress/functions.js +++ b/test/compress/functions.js @@ -93,3 +93,55 @@ issue_485_crashing_1530: { this, void 0; } } + +issue_1841_1: { + options = { + keep_fargs: false, + pure_getters: "strict", + reduce_vars: true, + unused: true, + } + input: { + var b = 10; + !function(arg) { + for (var key in "hi") + var n = arg.baz, n = [ b = 42 ]; + }(--b); + console.log(b); + } + expect: { + var b = 10; + !function() { + for (var key in "hi") + b = 42; + }(--b); + console.log(b); + } + expect_exact: "42" +} + +issue_1841_2: { + options = { + keep_fargs: false, + pure_getters: false, + reduce_vars: true, + unused: true, + } + input: { + var b = 10; + !function(arg) { + for (var key in "hi") + var n = arg.baz, n = [ b = 42 ]; + }(--b); + console.log(b); + } + expect: { + var b = 10; + !function(arg) { + for (var key in "hi") + arg.baz, b = 42; + }(--b); + console.log(b); + } + expect_exact: "42" +} -- cgit v1.2.3