diff options
author | Mihai Bazon <mihai@bazon.net> | 2012-10-13 15:04:44 +0300 |
---|---|---|
committer | Mihai Bazon <mihai@bazon.net> | 2012-10-13 15:04:44 +0300 |
commit | fcc0229087c4efd212a1050f38d3049d52344b3a (patch) | |
tree | 02032c14fdb06c118ae18ab41b81f69fd6d6206b /test/compress | |
parent | b071c9d079e3acbfb521a6634364c5816d3be280 (diff) | |
download | tracifyjs-fcc0229087c4efd212a1050f38d3049d52344b3a.tar.gz tracifyjs-fcc0229087c4efd212a1050f38d3049d52344b3a.zip |
drop unused function arguments
also add test for "drop_unused" (the last one fails for now)
Diffstat (limited to 'test/compress')
-rw-r--r-- | test/compress/drop-unused.js | 97 |
1 files changed, 97 insertions, 0 deletions
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; + } + } +} |