Merge branch 'master' into harmony
This commit is contained in:
@@ -332,53 +332,247 @@ cond_7_1: {
|
||||
cond_8: {
|
||||
options = {
|
||||
conditionals: true,
|
||||
evaluate : true
|
||||
evaluate : true,
|
||||
booleans : false
|
||||
};
|
||||
input: {
|
||||
var a;
|
||||
// compress these
|
||||
a = condition ? true : false;
|
||||
|
||||
a = !condition ? true : false;
|
||||
|
||||
a = condition() ? true : false;
|
||||
|
||||
a = condition ? !0 : !1;
|
||||
a = !condition ? !null : !2;
|
||||
a = condition() ? !0 : !-3.5;
|
||||
|
||||
if (condition) {
|
||||
a = true;
|
||||
} else {
|
||||
a = false;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !0;
|
||||
} else {
|
||||
a = !1;
|
||||
}
|
||||
|
||||
a = condition ? false : true;
|
||||
|
||||
a = !condition ? false : true;
|
||||
|
||||
a = condition() ? false : true;
|
||||
|
||||
a = condition ? !3 : !0;
|
||||
a = !condition ? !2 : !0;
|
||||
a = condition() ? !1 : !0;
|
||||
|
||||
if (condition) {
|
||||
a = false;
|
||||
} else {
|
||||
a = true;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !1;
|
||||
} else {
|
||||
a = !0;
|
||||
}
|
||||
|
||||
// don't compress these
|
||||
a = condition ? 1 : false;
|
||||
|
||||
a = !condition ? true : 0;
|
||||
|
||||
a = condition ? 1 : 0;
|
||||
|
||||
}
|
||||
expect: {
|
||||
var a;
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = !!condition();
|
||||
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = !!condition();
|
||||
|
||||
a = !!condition;
|
||||
a = !!condition;
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !condition;
|
||||
|
||||
a = condition ? 1 : false;
|
||||
a = condition ? 0 : true;
|
||||
a = condition ? 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
cond_8b: {
|
||||
options = {
|
||||
conditionals: true,
|
||||
evaluate : true,
|
||||
booleans : true
|
||||
};
|
||||
input: {
|
||||
var a;
|
||||
// compress these
|
||||
a = condition ? true : false;
|
||||
a = !condition ? true : false;
|
||||
a = condition() ? true : false;
|
||||
|
||||
a = condition ? !0 : !1;
|
||||
a = !condition ? !null : !2;
|
||||
a = condition() ? !0 : !-3.5;
|
||||
|
||||
if (condition) {
|
||||
a = true;
|
||||
} else {
|
||||
a = false;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !0;
|
||||
} else {
|
||||
a = !1;
|
||||
}
|
||||
|
||||
a = condition ? false : true;
|
||||
a = !condition ? false : true;
|
||||
a = condition() ? false : true;
|
||||
|
||||
a = condition ? !3 : !0;
|
||||
a = !condition ? !2 : !0;
|
||||
a = condition() ? !1 : !0;
|
||||
|
||||
if (condition) {
|
||||
a = false;
|
||||
} else {
|
||||
a = true;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !1;
|
||||
} else {
|
||||
a = !0;
|
||||
}
|
||||
|
||||
a = condition ? 1 : false;
|
||||
a = !condition ? true : 0;
|
||||
a = condition ? 1 : 0;
|
||||
}
|
||||
expect: {
|
||||
var a;
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = !!condition();
|
||||
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = !!condition();
|
||||
|
||||
a = !!condition;
|
||||
a = !!condition;
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !condition;
|
||||
|
||||
a = condition ? 1 : !1;
|
||||
a = condition ? 0 : !0;
|
||||
a = condition ? 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
cond_8c: {
|
||||
options = {
|
||||
conditionals: true,
|
||||
evaluate : false,
|
||||
booleans : false
|
||||
};
|
||||
input: {
|
||||
var a;
|
||||
// compress these
|
||||
a = condition ? true : false;
|
||||
a = !condition ? true : false;
|
||||
a = condition() ? true : false;
|
||||
|
||||
a = condition ? !0 : !1;
|
||||
a = !condition ? !null : !2;
|
||||
a = condition() ? !0 : !-3.5;
|
||||
|
||||
if (condition) {
|
||||
a = true;
|
||||
} else {
|
||||
a = false;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !0;
|
||||
} else {
|
||||
a = !1;
|
||||
}
|
||||
|
||||
a = condition ? false : true;
|
||||
a = !condition ? false : true;
|
||||
a = condition() ? false : true;
|
||||
|
||||
a = condition ? !3 : !0;
|
||||
a = !condition ? !2 : !0;
|
||||
a = condition() ? !1 : !0;
|
||||
|
||||
if (condition) {
|
||||
a = false;
|
||||
} else {
|
||||
a = true;
|
||||
}
|
||||
|
||||
if (condition) {
|
||||
a = !1;
|
||||
} else {
|
||||
a = !0;
|
||||
}
|
||||
|
||||
a = condition ? 1 : false;
|
||||
a = !condition ? true : 0;
|
||||
a = condition ? 1 : 0;
|
||||
}
|
||||
expect: {
|
||||
var a;
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = !!condition();
|
||||
|
||||
a = !!condition;
|
||||
a = !condition;
|
||||
a = condition() ? !0 : !-3.5;
|
||||
|
||||
a = !!condition;
|
||||
a = !!condition;
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !!condition;
|
||||
a = !condition();
|
||||
|
||||
a = !condition;
|
||||
a = !condition;
|
||||
|
||||
a = condition ? 1 : false;
|
||||
a = condition ? 0 : true;
|
||||
a = condition ? 1 : 0;
|
||||
|
||||
@@ -121,3 +121,27 @@ drop_if_else_break_4: {
|
||||
for (; bar() && (x(), y(), foo());) baz(), z(), k();
|
||||
}
|
||||
}
|
||||
|
||||
parse_do_while_with_semicolon: {
|
||||
options = { loops: false };
|
||||
input: {
|
||||
do {
|
||||
x();
|
||||
} while (false);y()
|
||||
}
|
||||
expect: {
|
||||
do x(); while (false);y();
|
||||
}
|
||||
}
|
||||
|
||||
parse_do_while_without_semicolon: {
|
||||
options = { loops: false };
|
||||
input: {
|
||||
do {
|
||||
x();
|
||||
} while (false)y()
|
||||
}
|
||||
expect: {
|
||||
do x(); while (false);y();
|
||||
}
|
||||
}
|
||||
124
test/compress/return_undefined.js
Normal file
124
test/compress/return_undefined.js
Normal file
@@ -0,0 +1,124 @@
|
||||
return_undefined: {
|
||||
options = {
|
||||
sequences : false,
|
||||
if_return : true,
|
||||
evaluate : true,
|
||||
dead_code : true,
|
||||
conditionals : true,
|
||||
comparisons : true,
|
||||
booleans : true,
|
||||
unused : true,
|
||||
side_effects : true,
|
||||
properties : true,
|
||||
drop_debugger : true,
|
||||
loops : true,
|
||||
hoist_funs : true,
|
||||
keep_fargs : true,
|
||||
keep_fnames : false,
|
||||
hoist_vars : true,
|
||||
join_vars : true,
|
||||
cascade : true,
|
||||
negate_iife : true
|
||||
};
|
||||
input: {
|
||||
function f0() {
|
||||
}
|
||||
function f1() {
|
||||
return undefined;
|
||||
}
|
||||
function f2() {
|
||||
return void 0;
|
||||
}
|
||||
function f3() {
|
||||
return void 123;
|
||||
}
|
||||
function f4() {
|
||||
return;
|
||||
}
|
||||
function f5(a, b) {
|
||||
console.log(a, b);
|
||||
baz(a);
|
||||
return;
|
||||
}
|
||||
function f6(a, b) {
|
||||
console.log(a, b);
|
||||
if (a) {
|
||||
foo(b);
|
||||
baz(a);
|
||||
return a + b;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
function f7(a, b) {
|
||||
console.log(a, b);
|
||||
if (a) {
|
||||
foo(b);
|
||||
baz(a);
|
||||
return void 0;
|
||||
}
|
||||
return a + b;
|
||||
}
|
||||
function f8(a, b) {
|
||||
foo(a);
|
||||
bar(b);
|
||||
return void 0;
|
||||
}
|
||||
function f9(a, b) {
|
||||
foo(a);
|
||||
bar(b);
|
||||
return undefined;
|
||||
}
|
||||
function f10() {
|
||||
return false;
|
||||
}
|
||||
function f11() {
|
||||
return null;
|
||||
}
|
||||
function f12() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
expect: {
|
||||
function f0() {}
|
||||
function f1() {}
|
||||
function f2() {}
|
||||
function f3() {}
|
||||
function f4() {}
|
||||
function f5(a, b) {
|
||||
console.log(a, b);
|
||||
baz(a);
|
||||
}
|
||||
function f6(a, b) {
|
||||
console.log(a, b);
|
||||
if (a) {
|
||||
foo(b);
|
||||
baz(a);
|
||||
return a + b;
|
||||
}
|
||||
}
|
||||
function f7(a, b) {
|
||||
console.log(a, b);
|
||||
if (!a)
|
||||
return a + b;
|
||||
foo(b);
|
||||
baz(a);
|
||||
}
|
||||
function f8(a, b) {
|
||||
foo(a);
|
||||
bar(b);
|
||||
}
|
||||
function f9(a, b) {
|
||||
foo(a);
|
||||
bar(b);
|
||||
}
|
||||
function f10() {
|
||||
return !1;
|
||||
}
|
||||
function f11() {
|
||||
return null;
|
||||
}
|
||||
function f12() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
test/compress/screw-ie8.js
Normal file
18
test/compress/screw-ie8.js
Normal file
@@ -0,0 +1,18 @@
|
||||
do_screw: {
|
||||
options = { screw_ie8: true };
|
||||
beautify = {
|
||||
screw_ie8: true,
|
||||
ascii_only: true
|
||||
};
|
||||
|
||||
input: f("\v");
|
||||
expect_exact: 'f("\\v");';
|
||||
}
|
||||
|
||||
dont_screw: {
|
||||
options = { screw_ie8: false };
|
||||
beautify = { screw_ie8: false, ascii_only: true };
|
||||
|
||||
input: f("\v");
|
||||
expect_exact: 'f("\\x0B");';
|
||||
}
|
||||
Reference in New Issue
Block a user