From df8a99439a3cab07670fd462ad2f8d6d240a8312 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Mon, 7 May 2018 07:36:25 +0800 Subject: fix various corner cases (#3126) - augment ufuzz/reminify test options fixes #3125 --- test/compress/reduce_vars.js | 88 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'test/compress/reduce_vars.js') diff --git a/test/compress/reduce_vars.js b/test/compress/reduce_vars.js index e47b96b5..bc5fcf1b 100644 --- a/test/compress/reduce_vars.js +++ b/test/compress/reduce_vars.js @@ -6058,3 +6058,91 @@ conditional_nested_2: { } expect_stdout: "1" } + +issue_2436: { + options = { + evaluate: true, + reduce_vars: true, + toplevel: true, + unsafe: true, + } + input: { + var c; + console.log(((c = { + a: 1, + b: 2 + }).a = 3, { + x: c.a, + y: c.b + })); + } + expect: { + var c; + console.log(((c = { + a: 1, + b: 2 + }).a = 3, { + x: c.a, + y: c.b + })); + } + expect_stdout: true +} + +issue_2916: { + options = { + collapse_vars: true, + evaluate: true, + inline: true, + passes: 2, + reduce_vars: true, + side_effects: true, + unsafe: true, + unused: true, + } + input: { + var c = "FAIL"; + (function(b) { + (function(d) { + d[0] = 1; + })(b); + +b && (c = "PASS"); + })([]); + console.log(c); + } + expect: { + var c = "FAIL"; + (function(b) { + b[0] = 1; + +b && (c = "PASS"); + })([]); + console.log(c); + } + expect_stdout: "PASS" +} + +issue_3125: { + options = { + evaluate: true, + reduce_vars: true, + toplevel: true, + unsafe: true, + } + input: { + var o; + console.log((function() { + this.p++; + }.call(o = { + p: 6 + }), o.p)); + } + expect: { + var o; + console.log((function() { + this.p++; + }.call(o = { + p: 6 + }), o.p)); + } + expect_stdout: "7" +} -- cgit v1.2.3