use rustine::parse_and_run;
#[test]
fn validation_warning_undefined_grammar_ref() {
let src = "\
grammar main:
match /foo/:
nonexistent_sub()
";
let json = parse_and_run(src, "main", "foo").expect("exec should succeed (warning only)");
assert!(json.contains("\"diagnostics\""), "should have diagnostics: {json}");
assert!(
json.contains("undefined grammar reference"),
"should warn about undefined grammar: {json}"
);
}
#[test]
fn validation_warning_undefined_variable() {
let src = "\
grammar main:
match undefined_var:
out.create(\"root/x\")
";
let json = parse_and_run(src, "main", "hello").expect("exec");
assert!(
json.contains("undefined variable"),
"should warn about undefined variable: {json}"
);
}