pub const SPEC_JFM: &str = include_str!("../../docs/specs/jfm.md");
pub fn lookup(name: &str) -> Option<(&'static str, &'static str)> {
match name {
"jfm" => Some((SPEC_JFM, "text/markdown")),
_ => None,
}
}
pub const KNOWN_SPECS: &str = "jfm";
#[cfg(test)]
#[allow(clippy::unwrap_used, clippy::expect_used)]
mod tests {
use super::*;
#[test]
fn jfm_spec_is_embedded_and_non_empty() {
assert!(!SPEC_JFM.is_empty());
assert!(
SPEC_JFM.contains("# JFM (JIRA-Flavored Markdown) Specification"),
"JFM spec missing expected heading"
);
}
#[test]
fn lookup_jfm_returns_markdown() {
let (content, mime) = lookup("jfm").expect("jfm spec must be registered");
assert_eq!(mime, "text/markdown");
assert!(content.contains("JFM"));
}
#[test]
fn lookup_unknown_returns_none() {
assert!(lookup("bogus").is_none());
assert!(lookup("").is_none());
assert!(lookup("JFM").is_none(), "lookup is case-sensitive");
}
#[test]
fn known_specs_lists_jfm() {
assert!(KNOWN_SPECS.contains("jfm"));
}
}