aboutsummaryrefslogtreecommitdiff
path: root/test/compress
diff options
context:
space:
mode:
Diffstat (limited to 'test/compress')
-rw-r--r--test/compress/drop-unused.js97
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;
+ }
+ }
+}