UglifyJS/test/compress
Alex Lam S.L 257ddc3bdb improve compression of undefined, NaN & Infinitiy (#1748)
- migrate transformation logic from `OutputStream` to `Compressor`
- always turn `undefined` into `void 0` (unless `unsafe`)
- always keep `NaN` except when avoiding local variable redefinition
- introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition

supersedes #1723
fixes #1730
2017-04-01 03:02:14 +08:00
..
angular-inject.js added newline at the end of the file 2014-07-08 11:16:35 +02:00
arrays.js improve string concatenation 2017-02-21 13:29:57 +08:00
ascii.js Enable --screw-ie8 by default. 2016-06-30 21:49:48 +02:00
asm.js implement optimization: (x = 2 * x) ---> (x *= 2) 2016-08-30 08:43:02 -04:00
assignment.js implement optimization: (x = 2 * x) ---> (x *= 2) 2016-08-30 08:43:02 -04:00
blocks.js minor 2012-08-27 11:00:26 +03:00
collapse_vars.js fix delete related issues in collapse_vars and reduce_vars (#1689) 2017-03-26 19:14:30 +08:00
comparing.js Fix test262 failures related to <, <=, in and instanceof 2016-06-15 23:11:08 +02:00
concat-strings.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
conditionals.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
const.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
dead-code.js optimize try-catch-finally (#1731) 2017-03-30 12:16:58 +08:00
debugger.js wrote more of the compressor and added some tests 2012-08-22 15:21:58 +03:00
drop-console.js Add .gitattributes to checkout lf eol style 2017-02-21 13:29:58 +08:00
drop-unused.js optimize try-catch-finally (#1731) 2017-03-30 12:16:58 +08:00
evaluate.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
functions.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
global_defs.js enhance global_defs 2017-02-21 13:29:58 +08:00
hoist_vars.js fix duplicated test names 2017-02-21 13:29:58 +08:00
html_comments.js throw parse error on invalid assignments (#1627) 2017-03-21 14:11:32 +08:00
if_return.js Improve optimizing function() { if(c){return foo} bar();} 2017-02-18 18:56:18 +08:00
issue-12.js Allow operator names as getters/setters 2016-01-19 19:28:51 +01:00
issue-22.js fix for if (...) return; else return ...; 2012-10-24 09:33:32 +03:00
issue-44.js fix invalid AST produced by dropping unused variable 2012-11-12 13:23:57 +02:00
issue-59.js Add test for issue #59 2012-11-30 11:26:37 +02:00
issue-126.js Add a unit test for issue-126 2013-10-25 16:28:15 -04:00
issue-143.js Added test cases for #104. 2013-05-08 16:22:48 +03:00
issue-208.js enhance global_defs 2017-02-21 13:29:58 +08:00
issue-267.js Disallow reversal where lhs has higher or equal precedence 2013-10-29 21:37:36 +01:00
issue-269.js Fix faulty compression 2013-11-20 21:13:16 +02:00
issue-368.js fixup for #1553 (#1555) 2017-03-05 17:15:37 +08:00
issue-597.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
issue-611.js Replace the correct node when replacing in void sequences 2015-01-12 17:09:34 +01:00
issue-637.js Fix invalid removal of left side in && and || compression 2015-02-11 21:08:41 +01:00
issue-640.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-747.js Fix mangling of property names which overwrite unmangleable properties 2015-08-05 21:18:39 +02:00
issue-751.js Don't attempt to negate non-boolean AST_Binary 2015-07-22 16:55:55 +03:00
issue-782.js preserve ThisBinding for side_effects 2016-02-17 19:34:01 +01:00
issue-892.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-913.js Fix hoisting the var in ForIn 2016-01-05 13:56:52 +02:00
issue-973.js make collapse_vars consistent with toplevel (#1608) 2017-03-16 13:22:26 +08:00
issue-976.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-979.js Improve optimizing function() { if(c){return foo} bar();} 2017-02-18 18:56:18 +08:00
issue-1034.js introduce compressor.info() (#1633) 2017-03-23 06:49:49 +08:00
issue-1041.js enable collapse_vars & reduce_vars by default 2017-02-24 01:46:57 +08:00
issue-1052.js Add test cases for slightly more esoteric cases 2016-04-26 11:49:55 +02:00
issue-1105.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
issue-1202.js fix top-level directives in compress tests (#1615) 2017-03-18 01:56:15 +08:00
issue-1261.js combine rules for binary boolean operations (#1744) 2017-03-31 18:47:44 +08:00
issue-1275.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-1321.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-1431.js fix corner case in keep_fnames 2017-02-18 19:00:54 +08:00
issue-1443.js improve unsafe on undefined (#1548) 2017-03-05 13:09:27 +08:00
issue-1446.js enable typeof "undefined" for general use 2017-02-18 19:01:42 +08:00
issue-1447.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
issue-1569.js fix return from recursive IIFE (#1570) 2017-03-08 03:31:51 +08:00
issue-1588.js handle runtime errors in expect_stdout (#1618) 2017-03-18 02:33:51 +08:00
issue-1609.js fix chained evaluation (#1610) 2017-03-17 00:26:48 +08:00
issue-1639.js fix assignment substitution in sequences (#1643) 2017-03-24 14:30:31 +08:00
issue-1656.js fix invalid AST_For.init (#1657) 2017-03-25 03:18:36 +08:00
issue-1673.js optimize try-catch-finally (#1731) 2017-03-30 12:16:58 +08:00
issue-1704.js handle var within catch of the same name (#1711) 2017-03-28 16:42:39 +08:00
issue-1733.js fix catch symbol mangling (#1734) 2017-03-31 02:57:47 +08:00
labels.js make expect_stdout work on Node.js 0.12 (#1623) 2017-03-19 12:00:32 +08:00
loops.js fix corner case in AST_For.init (#1652) 2017-03-24 19:31:17 +08:00
max_line_len.js support multi-line string in tests (#1590) 2017-03-10 11:27:30 +08:00
negate-iife.js fix typeof side effects (#1696) 2017-03-27 04:37:42 +08:00
new.js Fix negate_iife transform to return a correct tree for nested IIFEs 2016-08-17 11:55:59 +02:00
numbers.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
properties.js improve compression of undefined, NaN & Infinitiy (#1748) 2017-04-01 03:02:14 +08:00
pure_funcs.js fix pure_funcs & improve side_effects 2017-02-21 13:31:59 +08:00
reduce_vars.js handle overlapped variable definitions (#1691) 2017-03-27 01:30:21 +08:00
return_undefined.js return undefined optimization no longer uses return_void_0 option 2015-10-29 08:19:12 +01:00
screw-ie8.js optimize try-catch-finally (#1731) 2017-03-30 12:16:58 +08:00
sequences.js fix cascade on anonymous function reference (#1693) 2017-03-27 01:58:21 +08:00
string-literal.js Move OctalEscapeSequence to read_escape_char 2016-06-30 21:42:15 +02:00
switch.js improve beautified output of switch blocks (#1721) 2017-03-29 04:40:05 +08:00
transform.js fix expect_stdout (#1642) 2017-03-24 13:19:50 +08:00
typeof.js fix typeof side-effects (#1669) 2017-03-25 17:40:18 +08:00
unicode.js Add test 2015-01-20 00:31:44 +01:00
wrap_iife.js Remove console.log and add extra test case 2016-10-06 14:11:32 +02:00