use super::run_rust_fixture;
use crate::assert_has_diagnostic;
#[test]
fn doc001_documented_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc001_missing_docs.rs", "DOC001");
assert!(
!stderr.contains("`documented`"),
"documented functions should not be flagged:\n{stderr}"
);
}
#[test]
fn doc001_missing_docs() {
let (stderr, exit) = run_rust_fixture("doc001_missing_docs.rs", "DOC001");
assert_ne!(exit, 0, "missing docs should fail");
assert_has_diagnostic(&stderr, "DOC001", Some("alpha"));
assert_has_diagnostic(&stderr, "DOC001", Some("Beta"));
assert_has_diagnostic(&stderr, "DOC001", Some("Gamma"));
assert_has_diagnostic(&stderr, "DOC001", Some("DELTA"));
assert_has_diagnostic(&stderr, "DOC001", Some("EPSILON"));
assert_has_diagnostic(&stderr, "DOC001", Some("Zeta"));
assert_has_diagnostic(&stderr, "DOC001", Some("Eta"));
assert_has_diagnostic(&stderr, "DOC001", Some("Theta"));
let doc001_count = stderr.matches("DOC001").count();
assert_eq!(
doc001_count, 8,
"expected exactly 8 DOC001 findings, got {doc001_count}:\n{stderr}"
);
}
#[test]
fn doc001_private_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc001_missing_docs.rs", "DOC001");
assert!(
!stderr.contains("`helper`"),
"private functions should not be flagged:\n{stderr}"
);
}
#[test]
fn doc001_pub_use_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc001_missing_docs.rs", "DOC001");
assert!(
!stderr.contains("(use)"),
"pub use should not be flagged:\n{stderr}"
);
}