mod slice1 {
use crate::test_helpers::*;
#[test]
fn can_define_exceptions() {
let slice = "
mode = Slice1
module Test
exception E {}
";
assert_parses(slice);
}
}
mod slice2 {
use crate::test_helpers::*;
use slicec::diagnostics::{Diagnostic, Error};
use slicec::grammar::CompilationMode;
#[test]
fn cannot_define_exceptions() {
let slice = "
mode = Slice2
module Test
exception E {}
";
let diagnostics = parse_for_diagnostics(slice);
let expected = Diagnostic::new(Error::NotSupportedInCompilationMode {
kind: "exception".to_owned(),
identifier: "E".to_owned(),
mode: CompilationMode::Slice2,
});
check_diagnostics(diagnostics, [expected]);
}
}