diff options
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" +    ); +} | 
