#![forbid(unsafe_code)]
pub const COMMONMETA_SCHEMA_V1_0RC1: &str =
include_str!("../schemas/commonmeta_v1.0rc1.json");
pub const COMMONMETA_SCHEMA_V1_0RC2: &str =
include_str!("../schemas/commonmeta_v1.0rc2.json");
pub const COMMONMETA_FIXTURE_JOURNAL_ARTICLE: &str =
include_str!("../fixtures/commonmeta/journal_article.json");
pub fn schema(version: &str) -> Option<&'static str> {
match version {
"1.0rc1" => Some(COMMONMETA_SCHEMA_V1_0RC1),
"1.0rc2" => Some(COMMONMETA_SCHEMA_V1_0RC2),
_ => None,
}
}
pub fn fixture(name: &str) -> Option<&'static str> {
match name {
"journal_article" => Some(COMMONMETA_FIXTURE_JOURNAL_ARTICLE),
_ => None,
}
}
#[cfg(test)]
mod tests {
use super::{fixture, schema};
#[test]
fn known_version_is_available() {
assert!(schema("1.0rc1").is_some());
assert!(schema("1.0rc2").is_some());
}
#[test]
fn unknown_version_is_none() {
assert!(schema("nope").is_none());
}
#[test]
fn known_fixture_is_available() {
assert!(fixture("journal_article").is_some());
}
#[test]
fn unknown_fixture_is_none() {
assert!(fixture("nope").is_none());
}
}