Remove testing macros from docs

This commit is contained in:
David Stangl 2021-07-24 12:38:13 +02:00
parent 57dce9057e
commit f3fded6656

View File

@ -244,72 +244,73 @@ fn default_visitor() {
} }
#[doc(hidden)] #[doc(hidden)]
mod testing { #[macro_export]
#[macro_export] macro_rules! test_for_type {
macro_rules! test_for_type { ($type:ty, $value:expr, $content:expr) => {{
($type:ty, $value:expr, $content:expr) => {{ #[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)] #[yaserde(rename = "data")]
#[yaserde(rename = "data")] pub struct Data {
pub struct Data { item: $type,
item: $type, }
}
let model = Data { item: $value }; let model = Data { item: $value };
let content = if let Some(str_value) = $content { let content = if let Some(str_value) = $content {
let str_value: &str = str_value; let str_value: &str = str_value;
format!("<data><item>{}</item></data>", str_value) format!("<data><item>{}</item></data>", str_value)
} else { } else {
"<data />".to_owned() "<data />".to_owned()
};
serialize_and_validate!(model, content);
deserialize_and_validate!(&content, model, Data);
}};
}
#[macro_export]
macro_rules! test_for_attribute_type {
($type: ty, $value: expr, $content: expr) => {{
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(rename = "data")]
pub struct Data {
#[yaserde(attribute)]
item: $type,
}
let model = Data { item: $value };
let content = if let Some(str_value) = $content {
"<data item=\"".to_string() + str_value + "\" />"
} else {
"<data />".to_string()
};
serialize_and_validate!(model, content);
deserialize_and_validate!(&content, model, Data);
}};
}
#[macro_export]
macro_rules! deserialize_and_validate {
($content: expr, $model: expr, $struct: tt) => {
log::debug!("deserialize_and_validate @ {}:{}", file!(), line!());
let loaded: Result<$struct, String> = yaserde::de::from_str($content);
assert_eq!(loaded, Ok($model));
}; };
}
#[macro_export] serialize_and_validate!(model, content);
macro_rules! serialize_and_validate { deserialize_and_validate!(&content, model, Data);
($model: expr, $content: expr) => { }};
log::debug!("serialize_and_validate @ {}:{}", file!(), line!()); }
let data: Result<String, String> = yaserde::ser::to_string(&$model);
#[doc(hidden)]
let content = format!(r#"<?xml version="1.0" encoding="utf-8"?>{}"#, $content); #[macro_export]
assert_eq!( macro_rules! test_for_attribute_type {
data, ($type: ty, $value: expr, $content: expr) => {{
Ok(content.split("\n").map(|s| s.trim()).collect::<String>()) #[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
); #[yaserde(rename = "data")]
}; pub struct Data {
} #[yaserde(attribute)]
item: $type,
}
let model = Data { item: $value };
let content = if let Some(str_value) = $content {
"<data item=\"".to_string() + str_value + "\" />"
} else {
"<data />".to_string()
};
serialize_and_validate!(model, content);
deserialize_and_validate!(&content, model, Data);
}};
}
#[doc(hidden)]
#[macro_export]
macro_rules! deserialize_and_validate {
($content: expr, $model: expr, $struct: tt) => {
log::debug!("deserialize_and_validate @ {}:{}", file!(), line!());
let loaded: Result<$struct, String> = yaserde::de::from_str($content);
assert_eq!(loaded, Ok($model));
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! serialize_and_validate {
($model: expr, $content: expr) => {
log::debug!("serialize_and_validate @ {}:{}", file!(), line!());
let data: Result<String, String> = yaserde::ser::to_string(&$model);
let content = format!(r#"<?xml version="1.0" encoding="utf-8"?>{}"#, $content);
assert_eq!(
data,
Ok(content.split("\n").map(|s| s.trim()).collect::<String>())
);
};
} }