103 lines
2.1 KiB
JavaScript
103 lines
2.1 KiB
JavaScript
reported: {
|
|
options = {
|
|
booleans: true,
|
|
comparisons: true,
|
|
conditionals: true,
|
|
dead_code: true,
|
|
evaluate: true,
|
|
hoist_funs: true,
|
|
if_return: true,
|
|
join_vars: true,
|
|
keep_fargs: true,
|
|
loops: true,
|
|
properties: true,
|
|
sequences: true,
|
|
side_effects: true,
|
|
unused: true,
|
|
}
|
|
input: {
|
|
function f1() {
|
|
if (a == 1 || b == 2)
|
|
foo();
|
|
}
|
|
function f2() {
|
|
if (!(a == 1 || b == 2));
|
|
else
|
|
foo();
|
|
}
|
|
}
|
|
expect: {
|
|
function f1() {
|
|
1 != a && 2 != b || foo();
|
|
}
|
|
function f2() {
|
|
1 != a && 2 != b || foo();
|
|
}
|
|
}
|
|
}
|
|
|
|
test_negated_is_best: {
|
|
options = {
|
|
booleans: true,
|
|
comparisons: true,
|
|
conditionals: true,
|
|
dead_code: true,
|
|
evaluate: true,
|
|
hoist_funs: true,
|
|
if_return: true,
|
|
join_vars: true,
|
|
keep_fargs: true,
|
|
loops: true,
|
|
properties: true,
|
|
sequences: true,
|
|
side_effects: true,
|
|
unused: true,
|
|
}
|
|
input: {
|
|
function f3() {
|
|
if (a == 1 | b == 2)
|
|
foo();
|
|
}
|
|
function f4() {
|
|
if (!(a == 1 | b == 2));
|
|
else
|
|
foo();
|
|
}
|
|
function f5() {
|
|
if (a == 1 && b == 2)
|
|
foo();
|
|
}
|
|
function f6() {
|
|
if (!(a == 1 && b == 2));
|
|
else
|
|
foo();
|
|
}
|
|
function f7() {
|
|
if (a == 1 || b == 2)
|
|
foo();
|
|
else
|
|
return bar();
|
|
}
|
|
}
|
|
expect: {
|
|
function f3() {
|
|
1 == a | 2 == b && foo();
|
|
}
|
|
function f4() {
|
|
1 == a | 2 == b && foo();
|
|
}
|
|
function f5() {
|
|
1 == a && 2 == b && foo();
|
|
}
|
|
function f6() {
|
|
1 == a && 2 == b && foo();
|
|
}
|
|
function f7() {
|
|
if (1 != a && 2 != b)
|
|
return bar();
|
|
foo();
|
|
}
|
|
}
|
|
}
|
|
|