From fcc0229087c4efd212a1050f38d3049d52344b3a Mon Sep 17 00:00:00 2001 From: Mihai Bazon Date: Sat, 13 Oct 2012 15:04:44 +0300 Subject: drop unused function arguments also add test for "drop_unused" (the last one fails for now) --- test/compress/drop-unused.js | 97 ++++++++++++++++++++++++++++++++++++++++++++ test/run-tests.js | 6 +++ 2 files changed, 103 insertions(+) create mode 100644 test/compress/drop-unused.js (limited to 'test') diff --git a/test/compress/drop-unused.js b/test/compress/drop-unused.js new file mode 100644 index 00000000..bf5cd296 --- /dev/null +++ b/test/compress/drop-unused.js @@ -0,0 +1,97 @@ +unused_funarg_1: { + options = { unused: true }; + input: { + function f(a, b, c, d, e) { + return a + b; + } + } + expect: { + function f(a, b) { + return a + b; + } + } +} + +unused_funarg_2: { + options = { unused: true }; + input: { + function f(a, b, c, d, e) { + return a + c; + } + } + expect: { + function f(a, b, c) { + return a + c; + } + } +} + +unused_nested_function: { + options = { unused: true }; + input: { + function f(x, y) { + function g() { + something(); + } + return x + y; + } + }; + expect: { + function f(x, y) { + return x + y; + } + } +} + +unused_circular_references_1: { + options = { unused: true }; + input: { + function f(x, y) { + // circular reference + function g() { + return h(); + } + function h() { + return g(); + } + return x + y; + } + }; + expect: { + function f(x, y) { + return x + y; + } + } +} + +unused_circular_references_2: { + options = { unused: true }; + input: { + function f(x, y) { + var foo = 1, bar = baz, baz = foo + bar, qwe = moo(); + return x + y; + } + }; + expect: { + function f(x, y) { + moo(); // keeps side effect + return x + y; + } + } +} + +unused_circular_references_3: { + options = { unused: true }; + input: { + function f(x, y) { + var g = function() { return h() }; + var h = function() { return g() }; + return x + y; + } + }; + expect: { + function f(x, y) { + return x + y; + } + } +} diff --git a/test/run-tests.js b/test/run-tests.js index abace39c..87301412 100755 --- a/test/run-tests.js +++ b/test/run-tests.js @@ -37,6 +37,12 @@ function find_test_files(dir) { var files = fs.readdirSync(dir).filter(function(name){ return /\.js$/i.test(name); }); + if (process.argv.length > 2) { + var x = process.argv.slice(2); + files = files.filter(function(f){ + return x.indexOf(f) >= 0; + }); + } return files; } -- cgit v1.2.3