diff options
Diffstat (limited to '')
| -rw-r--r-- | tests/character_escape.rs | 11 | ||||
| -rw-r--r-- | tests/hard_break_escape.rs | 167 | 
2 files changed, 172 insertions, 6 deletions
diff --git a/tests/character_escape.rs b/tests/character_escape.rs index aae0b58..c81760d 100644 --- a/tests/character_escape.rs +++ b/tests/character_escape.rs @@ -30,12 +30,11 @@ fn character_escape() {          "should escape other constructs"      ); -    // To do: hard break. -    // assert_eq!( -    //     micromark("foo\\\nbar"), -    //     "<p>foo<br />\nbar</p>", -    //     "should escape a line break" -    // ); +    assert_eq!( +        micromark("foo\\\nbar"), +        "<p>foo<br />\nbar</p>", +        "should escape a line break" +    );      assert_eq!(          micromark("`` \\[\\` ``"), diff --git a/tests/hard_break_escape.rs b/tests/hard_break_escape.rs new file mode 100644 index 0000000..fe4c82b --- /dev/null +++ b/tests/hard_break_escape.rs @@ -0,0 +1,167 @@ +extern crate micromark; +use micromark::{micromark}; + +#[test] +fn hard_break_escape() { +    // To do: trailing. +    // assert_eq!( +    //     micromark("foo  \nbaz"), +    //     "<p>foo<br />\nbaz</p>", +    //     "should support two trailing spaces to form a hard break" +    // ); + +    assert_eq!( +        micromark("foo\\\nbaz"), +        "<p>foo<br />\nbaz</p>", +        "should support a backslash to form a hard break" +    ); + +    // To do: trailing. +    // assert_eq!( +    //     micromark("foo       \nbaz"), +    //     "<p>foo<br />\nbaz</p>", +    //     "should support multiple trailing spaces" +    // ); + +    // To do: trailing. +    // assert_eq!( +    //     micromark("foo  \n     bar"), +    //     "<p>foo<br />\nbar</p>", +    //     "should support leading spaces after a trailing hard break" +    // ); + +    // To do: trim paragraph whitespace. +    // assert_eq!( +    //     micromark("foo\\\n     bar"), +    //     "<p>foo<br />\nbar</p>", +    //     "should support leading spaces after an escape hard break" +    // ); + +    // To do: trailing, attention. +    // assert_eq!( +    //     micromark("*foo  \nbar*"), +    //     "<p><em>foo<br />\nbar</em></p>", +    //     "should support trailing hard breaks in emphasis" +    // ); + +    // To do: attention. +    // assert_eq!( +    //     micromark("*foo\\\nbar*"), +    //     "<p><em>foo<br />\nbar</em></p>", +    //     "should support escape hard breaks in emphasis" +    // ); + +    assert_eq!( +        micromark("`code  \ntext`"), +        "<p><code>code   text</code></p>", +        "should not support trailing hard breaks in code" +    ); + +    assert_eq!( +        micromark("``code\\\ntext``"), +        "<p><code>code\\ text</code></p>", +        "should not support escape hard breaks in code" +    ); + +    // To do: paragraph trimming. +    // assert_eq!( +    //     micromark("foo  "), +    //     "<p>foo</p>", +    //     "should not support trailing hard breaks at the end of a paragraph" +    // ); + +    assert_eq!( +        micromark("foo\\"), +        "<p>foo\\</p>", +        "should not support escape hard breaks at the end of a paragraph" +    ); + +    assert_eq!( +        micromark("### foo\\"), +        "<h3>foo\\</h3>", +        "should not support escape hard breaks at the end of a heading" +    ); + +    assert_eq!( +        micromark("### foo  "), +        "<h3>foo</h3>", +        "should not support trailing hard breaks at the end of a heading" +    ); + +    // To do: paragraph trimming. +    // assert_eq!( +    //     micromark("aaa  \t\nbb"), +    //     "<p>aaa\nbb</p>", +    //     "should support a mixed line suffix (1)" +    // ); + +    // To do: paragraph trimming. +    // assert_eq!( +    //     micromark("aaa\t  \nbb"), +    //     "<p>aaa\nbb</p>", +    //     "should support a mixed line suffix (2)" +    // ); + +    // To do: paragraph trimming. +    // assert_eq!( +    //     micromark("aaa  \t  \nbb"), +    //     "<p>aaa\nbb</p>", +    //     "should support a mixed line suffix (3)" +    // ); + +    // To do: trailing. +    // assert_eq!( +    //     micromark("aaa\0  \nbb"), +    //     "<p>aaa�<br />\nbb</p>", +    //     "should support a hard break after a replacement character" +    // ); + +    // To do: trailing. +    // assert_eq!( +    //     micromark("aaa\0\t\nbb"), +    //     "<p>aaa�\nbb</p>", +    //     "should support a line suffix after a replacement character" +    // ); + +    // To do: attention, trailing. +    // assert_eq!( +    //     micromark("*a*  \nbb"), +    //     "<p><em>a</em><br />\nbb</p>", +    //     "should support a hard break after a span" +    // ); + +    // To do: attention, trailing. +    // assert_eq!( +    //     micromark("*a*\t\nbb"), +    //     "<p><em>a</em>\nbb</p>", +    //     "should support a line suffix after a span" +    // ); + +    // To do: attention, trailing. +    // assert_eq!( +    //     micromark("*a*  \t\nbb"), +    //     "<p><em>a</em>\nbb</p>", +    //     "should support a mixed line suffix after a span (1)" +    // ); + +    // To do: attention, trailing. +    // assert_eq!( +    //     micromark("*a*\t  \nbb"), +    //     "<p><em>a</em>\nbb</p>", +    //     "should support a mixed line suffix after a span (2)" +    // ); + +    // To do: attention, trailing. +    // assert_eq!( +    //     micromark("*a*  \t  \nbb"), +    //     "<p><em>a</em>\nbb</p>", +    //     "should support a mixed line suffix after a span (3)" +    // ); + +    // // To do: turning off things. +    // assert_eq!( +    //   micromark("a\\\nb", {extensions: [{disable: {null: ["hardBreakEscape"]}}]}), +    //   "<p>a\\\nb</p>", +    //   "should support turning off hard break (escape)" +    // ); +}  | 
