From 25fc02743af0e3fec6b10ffdb5cee3b7f22b9889 Mon Sep 17 00:00:00 2001 From: kzc Date: Thu, 1 Sep 2016 09:24:56 -0400 Subject: Account for side effects in `string + expr` optimization --- test/compress/issue-1275.js | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 test/compress/issue-1275.js (limited to 'test/compress') diff --git a/test/compress/issue-1275.js b/test/compress/issue-1275.js new file mode 100644 index 00000000..e88e284c --- /dev/null +++ b/test/compress/issue-1275.js @@ -0,0 +1,49 @@ +string_plus_optimization: { + options = { + side_effects : true, + evaluate : true, + conditionals : true, + comparisons : true, + dead_code : true, + booleans : true, + unused : true, + if_return : true, + join_vars : true, + cascade : true, + hoist_funs : true, + }; + input: { + function foo(anything) { + function throwing_function() { + throw "nope"; + } + try { + console.log('0' + throwing_function() ? "yes" : "no"); + } catch (ex) { + console.log(ex); + } + console.log('0' + anything ? "yes" : "no"); + console.log(anything + '0' ? "Yes" : "No"); + console.log('' + anything); + console.log(anything + ''); + } + foo(); + } + expect: { + function foo(anything) { + function throwing_function() { + throw "nope"; + } + try { + console.log('0' + throwing_function() ? "yes" : "no"); + } catch (ex) { + console.log(ex); + } + console.log("yes"); + console.log("Yes"); + console.log('' + anything); + console.log(anything + ''); + } + foo(); + } +} -- cgit v1.2.3