From 7350acc692a79d9d4cf56afbc53ac3c9f2a6237c Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Thu, 16 Jun 2022 12:55:50 +0200 Subject: Add support for hard break (trailing) --- tests/hard_break_escape.rs | 121 +-------------------------------------- tests/hard_break_trailing.rs | 133 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 119 deletions(-) create mode 100644 tests/hard_break_trailing.rs (limited to 'tests') diff --git a/tests/hard_break_escape.rs b/tests/hard_break_escape.rs index fe4c82b..2e3a3ba 100644 --- a/tests/hard_break_escape.rs +++ b/tests/hard_break_escape.rs @@ -1,49 +1,21 @@ extern crate micromark; -use micromark::{micromark}; +use micromark::micromark; #[test] fn hard_break_escape() { - // To do: trailing. - // assert_eq!( - // micromark("foo \nbaz"), - // "

foo
\nbaz

", - // "should support two trailing spaces to form a hard break" - // ); - assert_eq!( micromark("foo\\\nbaz"), "

foo
\nbaz

", "should support a backslash to form a hard break" ); - // To do: trailing. - // assert_eq!( - // micromark("foo \nbaz"), - // "

foo
\nbaz

", - // "should support multiple trailing spaces" - // ); - - // To do: trailing. - // assert_eq!( - // micromark("foo \n bar"), - // "

foo
\nbar

", - // "should support leading spaces after a trailing hard break" - // ); - - // To do: trim paragraph whitespace. + // To do: trimming whitespace in paragraphs. // assert_eq!( // micromark("foo\\\n bar"), // "

foo
\nbar

", // "should support leading spaces after an escape hard break" // ); - // To do: trailing, attention. - // assert_eq!( - // micromark("*foo \nbar*"), - // "

foo
\nbar

", - // "should support trailing hard breaks in emphasis" - // ); - // To do: attention. // assert_eq!( // micromark("*foo\\\nbar*"), @@ -51,25 +23,12 @@ fn hard_break_escape() { // "should support escape hard breaks in emphasis" // ); - assert_eq!( - micromark("`code \ntext`"), - "

code text

", - "should not support trailing hard breaks in code" - ); - assert_eq!( micromark("``code\\\ntext``"), "

code\\ text

", "should not support escape hard breaks in code" ); - // To do: paragraph trimming. - // assert_eq!( - // micromark("foo "), - // "

foo

", - // "should not support trailing hard breaks at the end of a paragraph" - // ); - assert_eq!( micromark("foo\\"), "

foo\\

", @@ -82,82 +41,6 @@ fn hard_break_escape() { "should not support escape hard breaks at the end of a heading" ); - assert_eq!( - micromark("### foo "), - "

foo

", - "should not support trailing hard breaks at the end of a heading" - ); - - // To do: paragraph trimming. - // assert_eq!( - // micromark("aaa \t\nbb"), - // "

aaa\nbb

", - // "should support a mixed line suffix (1)" - // ); - - // To do: paragraph trimming. - // assert_eq!( - // micromark("aaa\t \nbb"), - // "

aaa\nbb

", - // "should support a mixed line suffix (2)" - // ); - - // To do: paragraph trimming. - // assert_eq!( - // micromark("aaa \t \nbb"), - // "

aaa\nbb

", - // "should support a mixed line suffix (3)" - // ); - - // To do: trailing. - // assert_eq!( - // micromark("aaa\0 \nbb"), - // "

aaa�
\nbb

", - // "should support a hard break after a replacement character" - // ); - - // To do: trailing. - // assert_eq!( - // micromark("aaa\0\t\nbb"), - // "

aaa�\nbb

", - // "should support a line suffix after a replacement character" - // ); - - // To do: attention, trailing. - // assert_eq!( - // micromark("*a* \nbb"), - // "

a
\nbb

", - // "should support a hard break after a span" - // ); - - // To do: attention, trailing. - // assert_eq!( - // micromark("*a*\t\nbb"), - // "

a\nbb

", - // "should support a line suffix after a span" - // ); - - // To do: attention, trailing. - // assert_eq!( - // micromark("*a* \t\nbb"), - // "

a\nbb

", - // "should support a mixed line suffix after a span (1)" - // ); - - // To do: attention, trailing. - // assert_eq!( - // micromark("*a*\t \nbb"), - // "

a\nbb

", - // "should support a mixed line suffix after a span (2)" - // ); - - // To do: attention, trailing. - // assert_eq!( - // micromark("*a* \t \nbb"), - // "

a\nbb

", - // "should support a mixed line suffix after a span (3)" - // ); - // // To do: turning off things. // assert_eq!( // micromark("a\\\nb", {extensions: [{disable: {null: ["hardBreakEscape"]}}]}), diff --git a/tests/hard_break_trailing.rs b/tests/hard_break_trailing.rs new file mode 100644 index 0000000..6c29020 --- /dev/null +++ b/tests/hard_break_trailing.rs @@ -0,0 +1,133 @@ +extern crate micromark; +use micromark::micromark; + +#[test] +fn hard_break_trailing() { + assert_eq!( + micromark("foo \nbaz"), + "

foo
\nbaz

", + "should support two trailing spaces to form a hard break" + ); + + assert_eq!( + micromark("foo \nbaz"), + "

foo
\nbaz

", + "should support multiple trailing spaces" + ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("foo \n bar"), + // "

foo
\nbar

", + // "should support leading spaces after a trailing hard break" + // ); + + // To do: attention. + // assert_eq!( + // micromark("*foo \nbar*"), + // "

foo
\nbar

", + // "should support trailing hard breaks in emphasis" + // ); + + // To do: attention. + // assert_eq!( + // micromark("*foo\\\nbar*"), + // "

foo
\nbar

", + // "should support escape hard breaks in emphasis" + // ); + + assert_eq!( + micromark("`code \ntext`"), + "

code text

", + "should not support trailing hard breaks in code" + ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("foo "), + // "

foo

", + // "should not support trailing hard breaks at the end of a paragraph" + // ); + + assert_eq!( + micromark("### foo "), + "

foo

", + "should not support trailing hard breaks at the end of a heading" + ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("aaa \t\nbb"), + // "

aaa\nbb

", + // "should support a mixed line suffix (1)" + // ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("aaa\t \nbb"), + // "

aaa\nbb

", + // "should support a mixed line suffix (2)" + // ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("aaa \t \nbb"), + // "

aaa\nbb

", + // "should support a mixed line suffix (3)" + // ); + + assert_eq!( + micromark("aaa\0 \nbb"), + "

aaa�
\nbb

", + "should support a hard break after a replacement character" + ); + + // To do: trimming whitespace in paragraphs. + // assert_eq!( + // micromark("aaa\0\t\nbb"), + // "

aaa�\nbb

", + // "should support a line suffix after a replacement character" + // ); + + // To do: attention. + // assert_eq!( + // micromark("*a* \nbb"), + // "

a
\nbb

", + // "should support a hard break after a span" + // ); + + // To do: attention, trimming whitespace in paragraphs. + // assert_eq!( + // micromark("*a*\t\nbb"), + // "

a\nbb

", + // "should support a line suffix after a span" + // ); + + // To do: attention, trimming whitespace in paragraphs. + // assert_eq!( + // micromark("*a* \t\nbb"), + // "

a\nbb

", + // "should support a mixed line suffix after a span (1)" + // ); + + // To do: attention, trimming whitespace in paragraphs. + // assert_eq!( + // micromark("*a*\t \nbb"), + // "

a\nbb

", + // "should support a mixed line suffix after a span (2)" + // ); + + // To do: attention, trimming whitespace in paragraphs. + // assert_eq!( + // micromark("*a* \t \nbb"), + // "

a\nbb

", + // "should support a mixed line suffix after a span (3)" + // ); + + // // To do: turning off things. + // assert_eq!( + // micromark("a \nb", {extensions: [{disable: {null: ["hardBreakTrailing"]}}]}), + // "

a\nb

", + // "should support turning off hard break (trailing)" + // ); +} -- cgit