mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
36 lines
897 B
Rust
36 lines
897 B
Rust
//! Tests for errors and invalid input.
|
|
|
|
use std::path::PathBuf;
|
|
|
|
use mdman::{Format, ManMap};
|
|
use snapbox::prelude::*;
|
|
|
|
fn run(name: &str, expected_error: impl IntoData) {
|
|
let input = PathBuf::from(format!("tests/invalid/{}", name));
|
|
match mdman::convert(&input, Format::Man, None, ManMap::new()) {
|
|
Ok(_) => {
|
|
panic!("expected {} to fail", name);
|
|
}
|
|
Err(e) => {
|
|
snapbox::assert_data_eq!(e.to_string(), expected_error.raw());
|
|
}
|
|
}
|
|
}
|
|
|
|
macro_rules! test( ($name:ident, $file_name:expr, $error:expr) => (
|
|
#[test]
|
|
fn $name() { run($file_name, $error); }
|
|
) );
|
|
|
|
test!(
|
|
nested,
|
|
"nested.md",
|
|
"Error rendering \"template\" line 4, col 1: options blocks cannot be nested"
|
|
);
|
|
|
|
test!(
|
|
not_inside_options,
|
|
"not-inside-options.md",
|
|
"Error rendering \"template\" line 3, col 1: option must be in options block"
|
|
);
|