in src/metrics/cognitive.rs [1039:1081]
fn mozjs_not_booleans() {
check_metrics::<MozjsParser>(
"function f() {
if (a && !(b && c)) { // +3 (+1 &&, +1 &&)
window.print(\"test\");
}
}",
"foo.js",
|metric| {
insta::assert_json_snapshot!(
metric.cognitive,
@r###"
{
"sum": 3.0,
"average": 3.0,
"min": 0.0,
"max": 3.0
}"###
);
},
);
check_metrics::<MozjsParser>(
"function f() {
if (!(a || b) && !(c || d)) { // +4 (+1 ||, +1 &&, +1 ||)
window.print(\"test\");
}
}",
"foo.js",
|metric| {
insta::assert_json_snapshot!(
metric.cognitive,
@r###"
{
"sum": 4.0,
"average": 4.0,
"min": 0.0,
"max": 4.0
}"###
);
},
);
}