use crate::syntax::parser::tests::check_invalid;
#[test]
fn check_switch_no_closeblock() {
check_invalid(
r#"
let a = 10;
switch (a) {
case 10:
a = 20;
break;
"#,
);
}
#[test]
fn check_switch_case_unclosed() {
check_invalid(
r#"
let a = 10;
switch (a) {
case 10:
a = 20;
"#,
);
}
#[test]
fn check_switch_two_default() {
check_invalid(
r#"
let a = 10;
switch (a) {
default:
a = 20;
break;
default:
a = 30;
break;
}
"#,
);
}
#[test]
fn check_switch_no_expr() {
check_invalid(
r#"
let a = 10;
switch {
default:
a = 20;
break;
}
"#,
);
}
#[test]
fn check_switch_unknown_label() {
check_invalid(
r#"
let a = 10;
switch (a) {
fake:
a = 20;
break;
}
"#,
);
}
#[test]
fn check_switch_seperated_defaults() {
check_invalid(
r#"
let a = 10;
switch (a) {
default:
a = 20;
break;
case 10:
a = 60;
break;
default:
a = 30;
break;
}
"#,
);
}