diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/compress/issue-1034.js | 48 | ||||
-rw-r--r-- | test/mocha/minify.js | 11 | ||||
-rwxr-xr-x | test/run-tests.js | 2 |
3 files changed, 28 insertions, 33 deletions
diff --git a/test/compress/issue-1034.js b/test/compress/issue-1034.js index 039af2ed..b91eaced 100644 --- a/test/compress/issue-1034.js +++ b/test/compress/issue-1034.js @@ -39,7 +39,7 @@ non_hoisted_function_after_return_2a: { hoist_funs: false, dead_code: true, conditionals: true, comparisons: true, evaluate: true, booleans: true, loops: true, unused: true, keep_fargs: true, if_return: true, join_vars: true, cascade: true, side_effects: true, - collapse_vars: false + collapse_vars: false, passes: 2 } input: { function foo(x) { @@ -57,20 +57,11 @@ non_hoisted_function_after_return_2a: { } } expect: { - // NOTE: Output is correct, but suboptimal. Not a regression. Can be improved in future. - // This output is run through non_hoisted_function_after_return_2b with same flags. function foo(x) { - if (x) { - return bar(1); - } else { - return bar(2); - var b; - } - var c = bar(3); + return bar(x ? 1 : 2); function bar(x) { return 7 - x; } - return b || c; } } expect_warnings: [ @@ -79,7 +70,12 @@ non_hoisted_function_after_return_2a: { "WARN: Dropping unreachable code [test/compress/issue-1034.js:51,16]", "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:51,16]", "WARN: Dropping unused variable a [test/compress/issue-1034.js:48,20]", - "WARN: Dropping unused function nope [test/compress/issue-1034.js:55,21]" + "WARN: Dropping unused function nope [test/compress/issue-1034.js:55,21]", + "WARN: Dropping unreachable code [test/compress/issue-1034.js:53,12]", + "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:53,12]", + "WARN: Dropping unreachable code [test/compress/issue-1034.js:56,12]", + "WARN: Dropping unused variable b [test/compress/issue-1034.js:51,20]", + "WARN: Dropping unused variable c [test/compress/issue-1034.js:53,16]" ] } @@ -91,7 +87,6 @@ non_hoisted_function_after_return_2b: { collapse_vars: false } input: { - // Note: output of test non_hoisted_function_after_return_2a run through compress again function foo(x) { if (x) { return bar(1); @@ -107,31 +102,20 @@ non_hoisted_function_after_return_2b: { } } expect: { - // the output we would have liked to see from non_hoisted_function_after_return_2a function foo(x) { return bar(x ? 1 : 2); function bar(x) { return 7 - x; } } } expect_warnings: [ - // Notice that some warnings are repeated by multiple compress passes. - // Not a regression. There is room for improvement here. - // Warnings should be cached and only output if unique. - "WARN: Dropping unreachable code [test/compress/issue-1034.js:100,16]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:100,16]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:100,16]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:100,16]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:100,16]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:100,16]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:100,16]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:100,16]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:102,12]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:102,12]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:106,12]", - "WARN: Dropping unreachable code [test/compress/issue-1034.js:100,16]", - "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:100,16]", - "WARN: Dropping unused variable b [test/compress/issue-1034.js:100,20]", - "WARN: Dropping unused variable c [test/compress/issue-1034.js:102,16]" + // duplicate warnings no longer emitted + "WARN: Dropping unreachable code [test/compress/issue-1034.js:95,16]", + "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:95,16]", + "WARN: Dropping unreachable code [test/compress/issue-1034.js:97,12]", + "WARN: Declarations in unreachable code! [test/compress/issue-1034.js:97,12]", + "WARN: Dropping unreachable code [test/compress/issue-1034.js:101,12]", + "WARN: Dropping unused variable b [test/compress/issue-1034.js:95,20]", + "WARN: Dropping unused variable c [test/compress/issue-1034.js:97,16]" ] } diff --git a/test/mocha/minify.js b/test/mocha/minify.js new file mode 100644 index 00000000..bbf188c4 --- /dev/null +++ b/test/mocha/minify.js @@ -0,0 +1,11 @@ +var Uglify = require('../../'); +var assert = require("assert"); + +describe("minify", function() { + it("Should test basic sanity of minify with default options", function() { + var js = 'function foo(bar) { if (bar) return 3; else return 7; var u = not_called(); }'; + var result = Uglify.minify(js, {fromString: true}); + assert.strictEqual(result.code, 'function foo(n){return n?3:7}'); + }); +}); + diff --git a/test/run-tests.js b/test/run-tests.js index e9ce3bb2..763575aa 100755 --- a/test/run-tests.js +++ b/test/run-tests.js @@ -110,7 +110,7 @@ function run_compress_tests() { if (test.mangle_props) { input = U.mangle_properties(input, test.mangle_props); } - var output = input.transform(cmp); + var output = cmp.compress(input); output.figure_out_scope(); if (test.mangle) { output.compute_char_frequency(test.mangle); |