aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2017-05-28implement `--help options` (#2017)Alex Lam S.L
2017-05-28improve CLI usability (#2016)Alex Lam S.L
Report supported options upon invalid option syntax. fixes #1883
2017-05-27extend `node_version` range on applicable tests (#2015)Alex Lam S.L
2017-05-27fix `hoist_funs` on block-scoped `function` under "use strict" (#2013)Alex Lam S.L
Technically not part of ES5, but commonly used code exists in the wild.
2017-05-27fix `if_return` on `AST_Defun` (#2010)Alex Lam S.L
Previous fiix for #1052 perturbs declaration order of functions which leads to incorrect behaviour under "use strict".
2017-05-26fix `dead_code` on block-scoped `function` under "use strict" (#2006)Alex Lam S.L
Technically not part of ES5, but commonly used code exists in the wild.
2017-05-25report timing breakdown (#2000)Alex Lam S.L
fix corner cases with `sourceMap` fixes #1998
2017-05-23fix source map offset (#1993)Alex Lam S.L
Account for whitespace insertions. fixes #505 fixes #890
2017-05-22improve usability of `global_defs` in `minify()` (#1987)Alex Lam S.L
Use `@key` to `parse()` string value as `AST_Node`. fixes #1986
2017-05-20enhance `if_return` to handle `return void...` (#1977)Alex Lam S.L
fixes #512
2017-05-19introduce `unsafe_regexp` (#1970)Alex Lam S.L
fixes #1964
2017-05-18make `expect_stdout` node version specific (#1963)Alex Lam S.L
... via semver string on `node_version` label.
2017-05-17improve `RegExp` handling (#1959)Alex Lam S.L
- remove `options.output.unescape_regexps` - preserve original pattern whenever possible fixes #54 fixes #1929
2017-05-16fix parsing of property access after new line (#1944)Alex Lam S.L
Account for comments when detecting property access in `tokenizer`. fixes #1943
2017-05-15improve keyword-related parser errors (#1941)Alex Lam S.L
fixes #1937
2017-05-15fix & improve coverage of `estree` (#1935)Alex Lam S.L
- fix `estree` conversion of getter/setter - fix non-directive literal in `to_mozilla_ast()` - revamp `test/mozilla-ast.js` - reuse `test/ufuzz.js` for code generation - use `acorn.parse()` for creating `estree` - extend `test/ufuzz.js` for `acorn` workaround - catch variable redefinition - non-trivial literal as directive - adjust options for tolerance Miscellaneous - optional semi-colon when parsing directives fixes #1914 closes #1915
2017-05-14fix bugs with getter/setter (#1926)Alex Lam S.L
- `reduce_vars` - `side_effects` - property access for object - `AST_SymbolAccessor` as key names enhance `test/ufuzz.js` - add object getter & setter - property assignment to setter - avoid infinite recursion in setter - fix & adjust assignment operators - 50% `=` - 25% `+=` - 2.5% each for the rest - avoid "Invalid array length" - fix `console.log()` - bypass getter - curb recursive reference - deprecate `-E`, always report runtime errors
2017-05-12remove support for `const` (#1910)Alex Lam S.L
As this is not part of ES5.
2017-05-12avoid `arguments` and `eval` in `reduce_vars` (#1924)Alex Lam S.L
fixes #1922
2017-05-12fix invalid transform on `const` (#1919)Alex Lam S.L
- preserve (re)assignment to `const` for runtime error - suppress `cascade` on `const`, as runtime behaviour is ill-defined
2017-05-10extend test timeoutAlex Lam S.L
Travis has gone a lot slower recently, and most test failures are due to time-out on this particular test.
2017-05-09print error stack in CLI (#1890)Alex Lam S.L
2017-05-09update `minify()` usage in `test/ufuzz.js` (#1888)Alex Lam S.L
fixes #1887
2017-05-08return `Error` from `minify()` (#1880)Alex Lam S.L
Have `minify()` return `Error` in `result.error` rather than throwing it.
2017-05-08support dumping AST (#1879)Alex Lam S.L
Re-order `AST_Binary` properties to make dump more readable. closes #769
2017-05-08deprecate low level API (#1877)Alex Lam S.L
fixes #1872
2017-05-07fix test for #1865 (#1873)Alex Lam S.L
2017-05-06fix `unsafe` on `evaluate` of `reduce_vars` (#1870)Alex Lam S.L
Determine if variables with non-constant values can escape and be modified. fixes #1865
2017-05-06enhance `collapse_vars` (#1862)Alex Lam S.L
- extend expression types - `a++` - `a=x;` - extend scan range - `for(init;;);` - `switch(expr){case expr:}` - `a = x; a = a || y;` - terminate upon `debugger;` closes #1821 fixes #27 fixes #315 fixes #1858
2017-05-02update `test/benchmark.js` resources (#1864)Alex Lam S.L
2017-05-02improve literal return optimization (#1860)kzc
2017-04-30enforce `toplevel` on other compress options (#1855)Alex Lam S.L
Respect "funcs" and "vars" properly. fixes #1850
2017-04-24fix fuzzer on `this` (#1842)Alex Lam S.L
- forbid redeclaration of `this` - suppress probability for `this` within nested functions
2017-04-24fix `unused` on for-in statements (#1843)Alex Lam S.L
Only need to avoid `var` within the initialisation block. fixes #1841
2017-04-23improve parser under "use strict" (#1836)Alex Lam S.L
- `const` without value - `delete` of expression - redefining `arguments` or `eval` extend `test/ufuzz.js` - optionally generate "use strict" - improve handling of test cases with syntax errors - group IIFE generation - generate bare anonymous functions - workaround `console.log()` for `new function()` - generate expressions with `this` fixes #1810
2017-04-23fix `AST_For.init` patch-up in `drop_unused()` (#1839)Alex Lam S.L
fixes #1838
2017-04-22fix label-related bugs (#1835)Alex Lam S.L
- deep cloning of `AST_LabeledStatement` - `L:do{...}while(false)` - empty statement with label within block extend `test/ufuzz.js` - generate labels for blocks & loops - generate for-in statements - skip suspicious option search if `minify()` errs fixes #1833
2017-04-20improve `unused` (#1832)Alex Lam S.L
- extract leading value with side-effects out of `var` statement - reduce scanning of `AST_Definitions` from 3 passes to just once
2017-04-20fix `unused` on labeled for-loop (#1831)Alex Lam S.L
fixes #1830
2017-04-19improve `collapse_vars` on `AST_Var` (#1828)Alex Lam S.L
Perform the same cascaded scanning within `var` statement as we do on array of statements.
2017-04-19fix parser bugs & CLI reporting (#1827)Alex Lam S.L
fixes #1825
2017-04-19extend `cascade` into `a.b` (#1829)Alex Lam S.L
fixes #27
2017-04-18clean up `collapse_vars` (#1826)Alex Lam S.L
- remove overlap in functionality of singular, consecutive reference of constant value - remove workarounds for previous bugs in `lib/scope.js` - distribute recursive `collapse_single_use_vars()` calls to their respective `OPT(AST_Node)` - enable collapsing of variables within a single `AST_Definitions`
2017-04-18support safe reassignments in `reduce_vars` (#1823)Alex Lam S.L
`var a=1;a=2;x(a)` => `x(2)` fix pre-existing issues - reference counting on assignment - walking of anonymous functions - chained assignment
2017-04-18fix `reduce_vars` on conditionals (#1822)Alex Lam S.L
2017-04-17fix `reduce_vars` on boolean binary expressions (#1819)Alex Lam S.L
Side effects of `&&` and `||` have not mattered until #1814, which takes assignment expressions into account.
2017-04-17compress duplicated variable definitions (#1817)Alex Lam S.L
These are surprisingly common, as people reuse the same variable name within loops or switch branches.
2017-04-17fix `reduce_vars` within try-block (#1818)Alex Lam S.L
Possible partial execution due to exceptions.
2017-04-17enhance `reduce_vars` (#1814)Alex Lam S.L
- allow immediate assignment after declaration of variable - relax modification rule for immutable value - fix order of visit for TreeWalker - remove extraneous code
2017-04-16fix variable substitution (#1816)Alex Lam S.L
- let `collapse_vars` take care of value containing any symbols - improve overhead accounting