From a2b16e89a475d3f7744481a5e07e1c7168d878af Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Fri, 10 Apr 2020 17:34:45 +0100 Subject: fix corner cases in `inline` (#3773) fixes #3770 fixes #3771 fixes #3772 --- test/compress/functions.js | 86 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) (limited to 'test/compress/functions.js') diff --git a/test/compress/functions.js b/test/compress/functions.js index 4a192d59..c1522e2e 100644 --- a/test/compress/functions.js +++ b/test/compress/functions.js @@ -3928,3 +3928,89 @@ preserve_binding_2: { } expect_stdout: "PASS" } + +issue_3770: { + options = { + inline: true, + reduce_vars: true, + side_effects: true, + unused: true, + } + input: { + (function() { + function f(a, a) { + var b = function() { + return a || "PASS"; + }(); + console.log(b); + } + f("FAIL"); + })(); + } + expect: { + (function() { + b = a || "PASS", + console.log(b); + var a, b; + })(); + } + expect_stdout: "PASS" +} + +issue_3771: { + options = { + inline: true, + reduce_vars: true, + side_effects: true, + toplevel: true, + unused: true, + } + input: { + try { + function f(a) { + var a = f(1234); + } + f(); + } catch (e) { + console.log("PASS"); + } + } + expect: { + try { + (function f(a) { + f(); + })(); + } catch (e) { + console.log("PASS"); + } + } + expect_stdout: "PASS" +} + +issue_3772: { + options = { + collapse_vars: true, + dead_code: true, + inline: true, + reduce_vars: true, + side_effects: true, + toplevel: true, + unused: true, + } + input: { + var a = "PASS"; + function f() { + return a; + } + var b = f(); + function g() { + console.log(f()); + } + g(); + } + expect: { + var a = "PASS"; + console.log(a); + } + expect_stdout: "PASS" +} -- cgit v1.2.3 lass='left'>Commit message (Expand)Author