diff options
author | Titus Wormer <tituswormer@gmail.com> | 2022-06-16 11:34:35 +0200 |
---|---|---|
committer | Titus Wormer <tituswormer@gmail.com> | 2022-06-16 11:34:35 +0200 |
commit | 58ba69452a25c3d4b2059c01cc6cd837159d2f90 (patch) | |
tree | 7f6d49449f564ec8606cc3881210d8b27df11961 /tests/hard_break_escape.rs | |
parent | 7875ada79cea1194dc9e15acee36ed0700be70e6 (diff) | |
download | markdown-rs-58ba69452a25c3d4b2059c01cc6cd837159d2f90.tar.gz markdown-rs-58ba69452a25c3d4b2059c01cc6cd837159d2f90.tar.bz2 markdown-rs-58ba69452a25c3d4b2059c01cc6cd837159d2f90.zip |
Add support for hard break escape
Diffstat (limited to 'tests/hard_break_escape.rs')
-rw-r--r-- | tests/hard_break_escape.rs | 167 |
1 files changed, 167 insertions, 0 deletions
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)" + // ); +} |