From a1a4c2ada70760851c63a7e3ff51ee7f786d3e8f Mon Sep 17 00:00:00 2001 From: Tal Ater Date: Sat, 13 Sep 2014 18:59:19 +0300 Subject: Optimize conditionals where the consequent and alternative are both booleans and not equivalent --- test/compress/conditionals.js | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'test/compress/conditionals.js') diff --git a/test/compress/conditionals.js b/test/compress/conditionals.js index 2212f85f..9af1630a 100644 --- a/test/compress/conditionals.js +++ b/test/compress/conditionals.js @@ -312,3 +312,57 @@ cond_7_1: { x = (y, 2); } } + +cond_8: { + options = { + conditionals: true, + evaluate : true + }; + input: { + // compress these + a = condition ? true : false; + + a = !condition ? true : false; + + a = condition() ? true : false; + + if (condition) { + a = true; + } else { + a = false; + } + + a = condition ? false : true; + + a = !condition ? false : true; + + a = condition() ? false : true; + + if (condition) { + a = false; + } else { + a = true; + } + + // don't compress these + a = condition ? 1 : false; + + a = !condition ? true : 0; + + a = condition ? 1 : 0; + + } + expect: { + a = !!condition; + a = !condition; + a = !!condition(); + a = !!condition; + a = !condition; + a = !!condition; + a = !condition(); + a = !condition; + a = condition ? 1 : false; + a = condition ? 0 : true; + a = condition ? 1 : 0; + } +} \ No newline at end of file -- cgit v1.2.3