diff options
| author | 2022-08-16 16:49:29 +0200 | |
|---|---|---|
| committer | 2022-08-16 16:49:53 +0200 | |
| commit | 6ee90b34c87354baf8e03d5469a92cf5dd17a82b (patch) | |
| tree | cfa64be772be6464e6f790dabccf8a77e7afe60e /tests | |
| 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" +    ); +} | 
