extern crate micromark; use micromark::micromark; #[test] fn block_quote() { assert_eq!( micromark("> # a\n> b\n> c"), "
\n

a

\n

b\nc

\n
", "should support block quotes" ); assert_eq!( micromark("># a\n>b\n> c"), "
\n

a

\n

b\nc

\n
", "should support block quotes w/o space" ); assert_eq!( micromark(" > # a\n > b\n > c"), "
\n

a

\n

b\nc

\n
", "should support prefixing block quotes w/ spaces" ); assert_eq!( micromark(" > # a\n > b\n > c"), "
> # a\n> b\n> c\n
", "should not support block quotes w/ 4 spaces" ); assert_eq!( micromark("> # a\n> b\nc"), "
\n

a

\n

b\nc

\n
", "should support lazy content lines" ); assert_eq!( micromark("> a\nb\n> c"), "
\n

a\nb\nc

\n
", "should support lazy content lines inside block quotes" ); assert_eq!( micromark("> a\n> ---"), "
\n

a

\n
", "should support setext headings underlines in block quotes" ); assert_eq!( micromark("> a\n---"), "
\n

a

\n
\n
", "should not support lazy setext headings underlines in block quotes" ); // To do: list (some bug). // assert_eq!( // micromark("> - a\n> - b"), // "
\n\n
", // "should support lists in block quotes" // ); // To do: list (some bug). // assert_eq!( // micromark("> - a\n- b"), // "
\n\n
\n", // "should not support lazy lists in block quotes" // ); assert_eq!( micromark("> a\n b"), "
\n
a\n
\n
\n
b\n
", "should not support lazy indented code in block quotes" ); assert_eq!( micromark("> ```\na\n```"), "
\n
\n
\n

a

\n
\n", "should not support lazy fenced code in block quotes" ); assert_eq!( micromark("> a\n - b"), "
\n

a\n- b

\n
", "should not support lazy indented code (or lazy list) in block quotes" ); assert_eq!( micromark(">"), "
\n
", "should support empty block quotes (1)" ); assert_eq!( micromark(">\n> \n> "), "
\n
", "should support empty block quotes (2)" ); assert_eq!( micromark(">\n> a\n> "), "
\n

a

\n
", "should support initial or final lazy empty block quote lines" ); assert_eq!( micromark("> a\n\n> b"), "
\n

a

\n
\n
\n

b

\n
", "should support adjacent block quotes" ); assert_eq!( micromark("> a\n> b"), "
\n

a\nb

\n
", "should support a paragraph in a block quote" ); assert_eq!( micromark("> a\n>\n> b"), "
\n

a

\n

b

\n
", "should support adjacent paragraphs in block quotes" ); assert_eq!( micromark("a\n> b"), "

a

\n
\n

b

\n
", "should support interrupting paragraphs w/ block quotes" ); assert_eq!( micromark("> a\n***\n> b"), "
\n

a

\n
\n
\n
\n

b

\n
", "should support interrupting block quotes w/ thematic breaks" ); assert_eq!( micromark("> a\nb"), "
\n

a\nb

\n
", "should not support interrupting block quotes w/ paragraphs" ); assert_eq!( micromark("> a\n\nb"), "
\n

a

\n
\n

b

", "should support interrupting block quotes w/ blank lines" ); assert_eq!( micromark("> a\n>\nb"), "
\n

a

\n
\n

b

", "should not support interrupting a blank line in a block quotes w/ paragraphs" ); assert_eq!( micromark("> > > a\nb"), "
\n
\n
\n

a\nb

\n
\n
\n
", "should not support interrupting many block quotes w/ paragraphs (1)" ); assert_eq!( micromark(">>> a\n> b\n>>c"), "
\n
\n
\n

a\nb\nc

\n
\n
\n
", "should not support interrupting many block quotes w/ paragraphs (2)" ); assert_eq!( micromark("> a\n\n> b"), "
\n
a\n
\n
\n
\n

b

\n
", "should support 5 spaces for indented code, not 4" ); // To do: turning things off. // assert_eq!( // micromark("> # a\n> b\n> c", { // extensions: [{disable: {null: ["blockQuote"]}}] // }), // "

> # a\n> b\n> c

", // "should support turning off block quotes" // ); }