use super::run_rust_fixture;
use crate::assert_has_diagnostic;
#[test]
fn doc002_documented_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc002_missing_errors_section.rs", "DOC002");
assert!(
!stderr.contains("save"),
"fn with complete # Errors should not be flagged:\n{stderr}"
);
}
#[test]
fn doc002_missing_errors_section() {
let (stderr, exit) = run_rust_fixture("doc002_missing_errors_section.rs", "DOC002");
assert_ne!(exit, 0, "missing # Errors should fail");
assert_has_diagnostic(&stderr, "DOC002", Some("load"));
assert_has_diagnostic(&stderr, "DOC002", Some("fetch"));
let doc002_count = stderr.matches("DOC002").count();
assert_eq!(
doc002_count, 2,
"expected exactly 2 DOC002 findings, got {doc002_count}:\n{stderr}"
);
}
#[test]
fn doc002_non_result_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc002_missing_errors_section.rs", "DOC002");
assert!(
!stderr.contains("count"),
"non-Result pub fns should not be flagged:\n{stderr}"
);
}
#[test]
fn doc002_private_not_flagged() {
let (stderr, _exit) = run_rust_fixture("doc002_missing_errors_section.rs", "DOC002");
assert!(
!stderr.contains("load_private"),
"private fns should not be flagged:\n{stderr}"
);
}