diff options
Diffstat (limited to 'tests')
-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)" + // ); +} |