Files
markdown-rs/mdast_util_to_markdown/tests/html.rs
T

103 lines
2.6 KiB
Rust

use markdown::mdast::{Html, Node, Paragraph, Text};
use mdast_util_to_markdown::to_markdown as to;
use pretty_assertions::assert_eq;
#[test]
fn html() {
assert_eq!(
to(&Node::Html(Html {
value: String::new(),
position: None
}))
.unwrap(),
"",
"should support an empty html"
);
assert_eq!(
to(&Node::Html(Html {
value: String::from("a\nb"),
position: None
}))
.unwrap(),
"a\nb\n",
"should support html"
);
assert_eq!(
to(&Node::Paragraph(Paragraph {
children: vec![
Node::Text(Text {
value: "a\n".to_string(),
position: None
}),
Node::Html(Html {
value: "<div>".to_string(),
position: None
})
],
position: None
}))
.unwrap(),
"a <div>\n",
"should prevent html (text) from becoming html (flow) (1)"
);
assert_eq!(
to(&Node::Paragraph(Paragraph {
children: vec![
Node::Text(Text {
value: "a\r".to_string(),
position: None
}),
Node::Html(Html {
value: "<div>".to_string(),
position: None
})
],
position: None
}))
.unwrap(),
"a <div>\n",
"should prevent html (text) from becoming html (flow) (2)"
);
assert_eq!(
to(&Node::Paragraph(Paragraph {
children: vec![
Node::Text(Text {
value: "a\r\n".to_string(),
position: None
}),
Node::Html(Html {
value: "<div>".to_string(),
position: None
})
],
position: None
}))
.unwrap(),
"a <div>\n",
"should prevent html (text) from becoming html (flow) (3)"
);
assert_eq!(
to(&Node::Paragraph(Paragraph {
children: vec![
Node::Html(Html {
value: "<x>".to_string(),
position: None
}),
Node::Text(Text {
value: "a".to_string(),
position: None
})
],
position: None
}))
.unwrap(),
"<x>a\n",
"should serialize html (text)"
);
}