use rumdl::rules::MD045NoAltText;
use rumdl::rule::Rule;
#[test]
fn test_valid_alt_text() {
let rule = MD045NoAltText::new();
let content = "\n";
let result = rule.check(content).unwrap();
assert!(result.is_empty());
}
#[test]
fn test_missing_alt_text() {
let rule = MD045NoAltText::new();
let content = "";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 1);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "");
}
#[test]
fn test_empty_alt_text() {
let rule = MD045NoAltText::new();
let content = "";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 1);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "");
}
#[test]
fn test_multiple_images() {
let rule = MD045NoAltText::new();
let content = "\n\n";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 2);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "\n\n");
}
#[test]
fn test_complex_urls() {
let rule = MD045NoAltText::new();
let content = "";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 1);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "");
}
#[test]
fn test_mixed_content() {
let rule = MD045NoAltText::new();
let content = "# Images\n\nSome text here\n\n\n\nMore text\n\n";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 1);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "# Images\n\nSome text here\n\n\n\nMore text\n\n");
}
#[test]
fn test_inline_images() {
let rule = MD045NoAltText::new();
let content = "Text with  and  images.";
let result = rule.check(content).unwrap();
assert_eq!(result.len(), 1);
let fixed = rule.fix(content).unwrap();
assert_eq!(fixed, "Text with  and  images.");
}