extern crate micromark; use micromark::{micromark, micromark_with_options, Constructs, Options}; use pretty_assertions::assert_eq; #[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" ); assert_eq!( micromark("foo \n bar"), "

foo
\nbar

", "should support leading spaces after a trailing hard break" ); assert_eq!( micromark("*foo \nbar*"), "

foo
\nbar

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

code text

", "should not support trailing hard breaks in code" ); 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" ); assert_eq!( micromark("aaa \t\nbb"), "

aaa\nbb

", "should support a mixed line suffix (1)" ); assert_eq!( micromark("aaa\t \nbb"), "

aaa\nbb

", "should support a mixed line suffix (2)" ); 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" ); assert_eq!( micromark("aaa\0\t\nbb"), "

aaa�\nbb

", "should support a line suffix after a replacement character" ); assert_eq!( micromark("*a* \nbb"), "

a
\nbb

", "should support a hard break after a span" ); assert_eq!( micromark("*a*\t\nbb"), "

a\nbb

", "should support a line suffix after a span" ); assert_eq!( micromark("*a* \t\nbb"), "

a\nbb

", "should support a mixed line suffix after a span (1)" ); assert_eq!( micromark("*a*\t \nbb"), "

a\nbb

", "should support a mixed line suffix after a span (2)" ); assert_eq!( micromark("*a* \t \nbb"), "

a\nbb

", "should support a mixed line suffix after a span (3)" ); assert_eq!( micromark_with_options( "a \nb", &Options { constructs: Constructs { hard_break_trailing: false, ..Constructs::default() }, ..Options::default() } ), "

a\nb

", "should support turning off hard break (trailing)" ); }