use crate::spec::expect_parse_success;
mod bom_handling {
use super::*;
#[test]
fn mls_2_1_utf8_bom() {
expect_parse_success(
r#"
model Test
Real x = 1;
equation
end Test;
"#,
);
}
}
mod additional_escapes {
use super::*;
#[test]
fn mls_2_4_octal_escape_basic() {
expect_parse_success(
r#"
model Test
String s = "\101";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_escape_tab() {
expect_parse_success(
r#"
model Test
String s = "\011";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_escape_newline() {
expect_parse_success(
r#"
model Test
String s = "\012";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_escape_1_digit() {
expect_parse_success(
r#"
model Test
String s = "\0";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_escape_2_digits() {
expect_parse_success(
r#"
model Test
String s = "\77";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_escape_3_digits() {
expect_parse_success(
r#"
model Test
String s = "\377";
equation
end Test;
"#,
);
}
#[test]
fn mls_2_4_octal_mixed() {
expect_parse_success(
r#"
model Test
String s = "A\101B";
equation
end Test;
"#,
);
}
}
mod string_continuation {
use super::*;
#[test]
#[ignore = "String line continuation not yet supported"]
fn mls_2_4_string_continuation() {
expect_parse_success(
r#"
model Test
String s = "This is a very long string that \
continues on the next line";
equation
end Test;
"#,
);
}
#[test]
#[ignore = "String line continuation not yet supported"]
fn mls_2_4_string_multi_continuation() {
expect_parse_success(
r#"
model Test
String s = "Line 1 \
Line 2 \
Line 3";
equation
end Test;
"#,
);
}
}