aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2015-04-17Fix testsMihai Bazon
2015-04-14Added expect_exact for testing the OutputStreamFábio Santos
This works almost exactly like `expect`, except that you pass a literal string of which the result is compared with the generated output.
2015-04-13Fix compression of conditionalsMihai Bazon
Don't move the condition on the right side of an assignment when the left side may have side effects. Fix #677
2015-03-20Keep unused function arguments by defaultMihai Bazon
Discarding unused function arguments affects function.length, which can lead to some hard to debug issues. This optimization is now done only in "unsafe mode". Fix #121
2015-02-11Clean up unit test breakageRichard van Velzen
In 992b6b9fcce47ca67ecb14675f10b172ce7a99b5 unit test broke (which I missed). This was due to undeclared variables not being side-effects free. However, since they're really not side-effect free, just declare them in the test cases.
2015-02-11Fix invalid removal of left side in && and || compressionRichard van Velzen
See #637. This does not produce the optimal result, but it does prevent the removal of non-side-effect-free code.
2015-01-31Drop all `console` statements properlyRichard van Velzen
Because the base reference can be an member expression as well, we have to dig a bit deeper to find the leftmost base reference. Fixes #451
2015-01-20Merge pull request #615 from avdg/unicodeMihai Bazon
Give parser more unicode support
2015-01-20Add testAnthony Van de Gejuchte
2015-01-13Optimize conditionals where the consequent and alternative are both booleans ↵Tal Ater
and not equivalent
2015-01-12Replace the correct node when replacing in `void` sequencesRichard van Velzen
Close #611.
2015-01-11Merge pull request #482 from arty-name/inline-ng-injectMihai Bazon
added @ngInject support for inline functions
2015-01-04Add a "keep_fnames" option to the compressor to retain function expression namesRichard van Velzen
See #552. This is useful for stack traces.
2014-12-31Fix #597Richard van Velzen
NaN and Infinity were replaced in the output generation, instead of during compression. This could lead to results where `1/0` was inserted without parens leading to invalid output. The nodes are replaced in the compression step now, and the output generation returns their regular names. This should not be a problem, since they're already only constructed from the original name.
2014-09-28Referencing a global is assumed to have side effects.Mihai Bazon
Close #550
2014-09-04Compress conditions that have side effects using sequencesTal Ater
2014-09-03Added a test for else ifTal Ater
2014-09-02Compress conditional assignments where all possible outcomes are equivalant ↵Tal Ater
and condition has no side effects
2014-08-03Added generative testing for AST conversions.Ingvar Stepanyan
2014-07-08added newline at the end of the fileArtemy Tregubenko
2014-07-01Evaluate "foo".length ==> 3Dan Wolff
2014-05-11added @ngInject support for inline functionsArtemy Tregubenko
2014-04-18Update tests.Mihai Bazon
2014-02-06Simplify nested conditionals if possibleMatt Basta
2013-12-29Conditional/call optimizationMihai Bazon
foo ? bar(x) : bar(y) ==> bar(foo ? x : y)
2013-12-05AST_Catch shouldn't really inherit from AST_Scope. Fix #363Mihai Bazon
I hereby acknowledge that figure_out_scope has become a mess.
2013-11-20Fix faulty compressionMihai Bazon
`String(x + 5)` is not always the same as `x + "5"`. Overlooked that. :-( Close #350
2013-11-06Better fix for #343Mihai Bazon
We can in fact lift sequences, but only if the operation is assignment and the left-hand side has no side effects nor property access -- that should guarantee that whatever we place before it cannot affect the sense of the assignment. Dropped contrived test case (too hard to support it now), added a more meaningful one.
2013-10-29Disallow reversal where lhs has higher or equal precedenceRichard van Velzen
Fixes #267
2013-10-27Merge branch 'master' of github.com:mishoo/UglifyJS2Mihai Bazon
2013-10-27Display number of failed tests and corresponding filesMihai Bazon
2013-10-25Add a unit test for issue-126 Mark Jaquith
Add a unit test to test to test for aggressive parenthesis removal that causes functional changes.
2013-10-24Fix #269Richard van Velzen
Shorten most primitives where possible. Also optimize some edge cases.
2013-10-23Add an exit code to the test suiteRichard van Velzen
By adding the exit code 1 (or any other non-zero exit code) `npm test` will know the tests didn't perform correctly. This way it's easier to know if pull requests are good or bad.
2013-09-22More attempts to determine when addition is associativeMihai Bazon
Somebody hit me with bug reports on this. :) Refs #300
2013-09-22Actually let's move away those monsters from the evaluate functionMihai Bazon
ev() should do a single thing — evaluate constant expressions. if that's not possible, just return the original node. it's not the best place for partial evaluation there, instead doing it in the compress functions.
2013-09-22More dirty handling of [ ... ].join() in unsafe modeMihai Bazon
Close #300
2013-09-22Evaluate [...].join() if possible: minor bugfixDan Wolff
Follow-up to 78e98d2.
2013-09-19When `unsafe` is set, evaluate [...].join() if possibleMihai Bazon
Close #298
2013-09-19Concatenate strings also on the right-hand side of an expression that cannot ↵Dan Wolff
be evaluated. Fix #126 E.g. converts: a+'Hello'+'World' to a+'HelloWorld'
2013-08-20Move support for `negate_iife` in the compressor, rather than code generatorMihai Bazon
(the code generator doesn't maintain enough context to know whether the return value is important or discarded) Fixes #272
2013-08-07Don't drop unused setter argument.Mihai Bazon
Fix #257
2013-07-18Fix output for arrays whose last element is a hole: [1,,]David Glasser
1529ab96 started to do this (by considering holes to be separate from "undefined") but it still converted [1,,] (length 2, last element hole, trailing comma) to [1,] (length 1, trailing comma) Unfortunately the test suite doesn't really make this clear: the new test here passes with or without this patch because run-tests.js beautifys the expected output (in "make_code"), which does the incorrect transformation! If you make some manual change to arrays.js to make the test fail and see the INPUT and OUTPUT, then you can see that without this fix, [1,,] -> [1,], and with this fix it stays [1,,].
2013-05-14Fix a["1_1"]Mihai Bazon
Close #204
2013-05-08add a test for zero-length string in is_identifier_string, which is used in ↵Trey Griffith
property compression. Also added a test exercising the change.
2013-05-08Better fix for equality of typeof ... against "undefined"Mihai Bazon
2013-05-08Fixed typeof undefined optimization and updated related test case toJustin Lau
accomodates the sort behaviour changes made in commit mishoo/UglifyJS2@aebafad41eab48f43ed649ce8c77e8f1528b50da. Signed-off-by: Justin Lau <justin@tclau.com>
2013-05-08Added test cases for #104.Justin Lau
Signed-off-by: Justin Lau <justin@tclau.com>
2013-05-06Added test scenario with unicode in properties name.Justin Lau
Signed-off-by: Justin Lau <justin@tclau.com>
2013-05-05Added scenario in test case where properties shouldn't be accessed withJustin Lau
dotted syntax even with screw_ie8 option. Signed-off-by: Justin Lau <justin@tclau.com>