aboutsummaryrefslogtreecommitdiff
path: root/test/compress
diff options
context:
space:
mode:
authorRichard van Velzen <rvanvelzen1@gmail.com>2015-02-11 21:27:21 +0100
committerRichard van Velzen <rvanvelzen1@gmail.com>2015-02-11 21:27:21 +0100
commit61e850ceb5a46b46589b1d985853f072067e2385 (patch)
treeeadc08a3095060260ed1fd9b02c216234f8b2cff /test/compress
parent992b6b9fcce47ca67ecb14675f10b172ce7a99b5 (diff)
downloadtracifyjs-61e850ceb5a46b46589b1d985853f072067e2385.tar.gz
tracifyjs-61e850ceb5a46b46589b1d985853f072067e2385.zip
Clean up unit test breakage
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.
Diffstat (limited to 'test/compress')
-rw-r--r--test/compress/conditionals.js2
-rw-r--r--test/compress/dead-code.js178
2 files changed, 91 insertions, 89 deletions
diff --git a/test/compress/conditionals.js b/test/compress/conditionals.js
index 9af1630a..e5a39229 100644
--- a/test/compress/conditionals.js
+++ b/test/compress/conditionals.js
@@ -53,6 +53,7 @@ ifs_3_should_warn: {
booleans : true
};
input: {
+ var x, y;
if (x && !(x + "1") && y) { // 1
var qq;
foo();
@@ -68,6 +69,7 @@ ifs_3_should_warn: {
}
}
expect: {
+ var x, y;
var qq; bar(); // 1
var jj; foo(); // 2
}
diff --git a/test/compress/dead-code.js b/test/compress/dead-code.js
index 0fd066eb..5009ae1e 100644
--- a/test/compress/dead-code.js
+++ b/test/compress/dead-code.js
@@ -1,89 +1,89 @@
-dead_code_1: {
- options = {
- dead_code: true
- };
- input: {
- function f() {
- a();
- b();
- x = 10;
- return;
- if (x) {
- y();
- }
- }
- }
- expect: {
- function f() {
- a();
- b();
- x = 10;
- return;
- }
- }
-}
-
-dead_code_2_should_warn: {
- options = {
- dead_code: true
- };
- input: {
- function f() {
- g();
- x = 10;
- throw "foo";
- // completely discarding the `if` would introduce some
- // bugs. UglifyJS v1 doesn't deal with this issue; in v2
- // we copy any declarations to the upper scope.
- if (x) {
- y();
- var x;
- function g(){};
- // but nested declarations should not be kept.
- (function(){
- var q;
- function y(){};
- })();
- }
- }
- }
- expect: {
- function f() {
- g();
- x = 10;
- throw "foo";
- var x;
- function g(){};
- }
- }
-}
-
-dead_code_constant_boolean_should_warn_more: {
- options = {
- dead_code : true,
- loops : true,
- booleans : true,
- conditionals : true,
- evaluate : true
- };
- input: {
- while (!((foo && bar) || (x + "0"))) {
- console.log("unreachable");
- var foo;
- function bar() {}
- }
- for (var x = 10; x && (y || x) && (!typeof x); ++x) {
- asdf();
- foo();
- var moo;
- }
- }
- expect: {
- var foo;
- function bar() {}
- // nothing for the while
- // as for the for, it should keep:
- var x = 10;
- var moo;
- }
-}
+dead_code_1: {
+ options = {
+ dead_code: true
+ };
+ input: {
+ function f() {
+ a();
+ b();
+ x = 10;
+ return;
+ if (x) {
+ y();
+ }
+ }
+ }
+ expect: {
+ function f() {
+ a();
+ b();
+ x = 10;
+ return;
+ }
+ }
+}
+
+dead_code_2_should_warn: {
+ options = {
+ dead_code: true
+ };
+ input: {
+ function f() {
+ g();
+ x = 10;
+ throw "foo";
+ // completely discarding the `if` would introduce some
+ // bugs. UglifyJS v1 doesn't deal with this issue; in v2
+ // we copy any declarations to the upper scope.
+ if (x) {
+ y();
+ var x;
+ function g(){};
+ // but nested declarations should not be kept.
+ (function(){
+ var q;
+ function y(){};
+ })();
+ }
+ }
+ }
+ expect: {
+ function f() {
+ g();
+ x = 10;
+ throw "foo";
+ var x;
+ function g(){};
+ }
+ }
+}
+
+dead_code_constant_boolean_should_warn_more: {
+ options = {
+ dead_code : true,
+ loops : true,
+ booleans : true,
+ conditionals : true,
+ evaluate : true
+ };
+ input: {
+ while (!((foo && bar) || (x + "0"))) {
+ console.log("unreachable");
+ var foo;
+ function bar() {}
+ }
+ for (var x = 10, y; x && (y || x) && (!typeof x); ++x) {
+ asdf();
+ foo();
+ var moo;
+ }
+ }
+ expect: {
+ var foo;
+ function bar() {}
+ // nothing for the while
+ // as for the for, it should keep:
+ var x = 10, y;
+ var moo;
+ }
+}