Files
UglifyJS/test/compress/issue-979.js
2022-02-12 23:18:07 +08:00

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();
}
}
}