diff options
author | Titus Wormer <tituswormer@gmail.com> | 2022-08-16 16:49:29 +0200 |
---|---|---|
committer | Titus Wormer <tituswormer@gmail.com> | 2022-08-16 16:49:53 +0200 |
commit | 6ee90b34c87354baf8e03d5469a92cf5dd17a82b (patch) | |
tree | cfa64be772be6464e6f790dabccf8a77e7afe60e /tests/frontmatter.rs | |
parent | 93d0b7c6465f4ffe220b3ddada729746b11eb6ce (diff) | |
download | markdown-rs-6ee90b34c87354baf8e03d5469a92cf5dd17a82b.tar.gz markdown-rs-6ee90b34c87354baf8e03d5469a92cf5dd17a82b.tar.bz2 markdown-rs-6ee90b34c87354baf8e03d5469a92cf5dd17a82b.zip |
Add support for frontmatter
Diffstat (limited to '')
-rw-r--r-- | tests/frontmatter.rs | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/frontmatter.rs b/tests/frontmatter.rs new file mode 100644 index 0000000..4882bf2 --- /dev/null +++ b/tests/frontmatter.rs @@ -0,0 +1,67 @@ +extern crate micromark; +use micromark::{micromark, micromark_with_options, Constructs, Options}; + +#[test] +fn frontmatter() { + let frontmatter = Options { + constructs: Constructs { + frontmatter: true, + ..Constructs::default() + }, + ..Options::default() + }; + + assert_eq!( + micromark("---\ntitle: Jupyter\n---"), + "<hr />\n<h2>title: Jupyter</h2>", + "should not support frontmatter by default" + ); + + assert_eq!( + micromark_with_options("---\ntitle: Jupyter\n---", &frontmatter), + "", + "should support frontmatter (yaml)" + ); + + assert_eq!( + micromark_with_options("+++\ntitle = \"Jupyter\"\n+++", &frontmatter), + "", + "should support frontmatter (toml)" + ); + + assert_eq!( + micromark_with_options("---\n---", &frontmatter), + "", + "should support empty frontmatter" + ); + + assert_eq!( + micromark_with_options("---\n---\n## Neptune", &frontmatter), + "<h2>Neptune</h2>", + "should support content after frontmatter" + ); + + assert_eq!( + micromark_with_options("## Neptune\n---\n---", &frontmatter), + "<h2>Neptune</h2>\n<hr />\n<hr />", + "should not support frontmatter after content" + ); + + assert_eq!( + micromark_with_options("> ---\n> ---\n> ## Neptune", &frontmatter), + "<blockquote>\n<hr />\n<hr />\n<h2>Neptune</h2>\n</blockquote>", + "should not support frontmatter in a container" + ); + + assert_eq!( + micromark_with_options("---", &frontmatter), + "<hr />", + "should not support just an opening fence" + ); + + assert_eq!( + micromark_with_options("---\ntitle: Neptune", &frontmatter), + "<hr />\n<p>title: Neptune</p>", + "should not support a missing closing fence" + ); +} |