//! CommonMark test suite. // > 👉 **Important**: this module is generated by `build.rs`. // > It is generate from the latest Unicode data. extern crate micromark; use micromark::{micromark_with_options, Options}; const DANGER: &Options = &Options { allow_dangerous_html: true, allow_dangerous_protocol: true, default_line_ending: None, }; #[test] fn commonmark() { assert_eq!( micromark_with_options( r###" foo baz bim "###, DANGER ), r###"
foo baz bim
"###,
r###"Tabs (0)"###
);
assert_eq!(
micromark_with_options(
r###" foo baz bim
"###,
DANGER
),
r###"foo baz bim
"###,
r###"Tabs (1)"###
);
assert_eq!(
micromark_with_options(
r###" a a
ὐ a
"###,
DANGER
),
r###"a a
ὐ a
"###,
r###"Tabs (2)"###
);
assert_eq!(
micromark_with_options(
r###" - foo
bar
"###,
DANGER
),
r###"foo
bar
foo
bar
"###, r###"Tabs (5)"### ); assert_eq!( micromark_with_options( r###"- foo "###, DANGER ), r###"foo
foo
foo
bar
"###,
r###"Tabs (7)"###
);
// To do: eol after containers.
// assert_eq!(
// micromark_with_options(r###" - foo
// - bar
// - baz
// "###, DANGER),
// r###"!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
"###, r###"Backslash escapes (11)"### ); assert_eq!( micromark_with_options( r###"\ \A\a\ \3\φ\« "###, DANGER ), r###"\ \A\a\ \3\φ\«
"###, r###"Backslash escapes (12)"### ); assert_eq!( micromark_with_options( r###"\*not emphasized* \*not emphasized* <br/> not a tag [not a link](/foo) `not code` 1. not a list * not a list # not a heading [foo]: /url "not a reference" ö not a character entity
"###, r###"Backslash escapes (13)"### ); assert_eq!( micromark_with_options( r###"\\*emphasis* "###, DANGER ), r###"\emphasis
"###, r###"Backslash escapes (14)"### ); assert_eq!( micromark_with_options( r###"foo\ bar "###, DANGER ), r###"foo
bar
\[\`
\[\]
"###,
r###"Backslash escapes (17)"###
);
assert_eq!(
micromark_with_options(
r###"~~~
\[\]
~~~
"###,
DANGER
),
r###"\[\]
"###,
r###"Backslash escapes (18)"###
);
assert_eq!(
micromark_with_options(
r###"foo
"###,
r###"Backslash escapes (23)"###
);
assert_eq!(
micromark_with_options(
r###" & © Æ Ď
¾ ℋ ⅆ
∲ ≧̸
"###,
DANGER
),
r###"& © Æ Ď ¾ ℋ ⅆ ∲ ≧̸
"###, r###"Entity and numeric character references (24)"### ); assert_eq!( micromark_with_options( r###"# Ӓ Ϡ "###, DANGER ), r###"# Ӓ Ϡ �
"###, r###"Entity and numeric character references (25)"### ); assert_eq!( micromark_with_options( r###"" ആ ಫ "###, DANGER ), r###"" ആ ಫ
"###, r###"Entity and numeric character references (26)"### ); assert_eq!( micromark_with_options( r###"  &x; abcdef0; &ThisIsNotDefined; &hi?; "###, DANGER ), r###"  &x; &#; &#x; � &#abcdef0; &ThisIsNotDefined; &hi?;
"###, r###"Entity and numeric character references (27)"### ); assert_eq!( micromark_with_options( r###"© "###, DANGER ), r###"©
"###, r###"Entity and numeric character references (28)"### ); assert_eq!( micromark_with_options( r###"&MadeUpEntity; "###, DANGER ), r###"&MadeUpEntity;
"###, r###"Entity and numeric character references (29)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###" "###, r###"Entity and numeric character references (30)"### ); assert_eq!( micromark_with_options( r###"[foo](/föö "föö") "###, DANGER ), r###" "###, r###"Entity and numeric character references (31)"### ); assert_eq!( micromark_with_options( r###"[foo] [foo]: /föö "föö" "###, DANGER ), r###" "###, r###"Entity and numeric character references (32)"### ); assert_eq!( micromark_with_options( r###"``` föö foo ``` "###, DANGER ), r###"foo
"###,
r###"Entity and numeric character references (33)"###
);
assert_eq!(
micromark_with_options(
r###"`föö`
"###,
DANGER
),
r###"föö
föfö
"###,
r###"Entity and numeric character references (35)"###
);
assert_eq!(
micromark_with_options(
r###"*foo*
*foo*
"###,
DANGER
),
r###"*foo* foo
"###, r###"Entity and numeric character references (36)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"* foo // * foo // "###, DANGER), // r###"* foo
//foo bar
"###, r###"Entity and numeric character references (38)"### ); assert_eq!( micromark_with_options( r###" foo "###, DANGER ), r###"foo
"###, r###"Entity and numeric character references (39)"### ); assert_eq!( micromark_with_options( r###"[a](url "tit") "###, DANGER ), r###"[a](url "tit")
"###, r###"Entity and numeric character references (40)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"- `one // - two` // "###, DANGER), // r###"+++
"###, r###"Thematic breaks (43)"### ); assert_eq!( micromark_with_options( r###"=== "###, DANGER ), r###"===
"###, r###"Thematic breaks (44)"### ); assert_eq!( micromark_with_options( r###"-- ** __ "###, DANGER ), r###"-- ** __
"###, r###"Thematic breaks (45)"### ); assert_eq!( micromark_with_options( r###" *** *** *** "###, DANGER ), r###"***
"###,
r###"Thematic breaks (47)"###
);
assert_eq!(
micromark_with_options(
r###"Foo
***
"###,
DANGER
),
r###"Foo ***
"###, r###"Thematic breaks (48)"### ); assert_eq!( micromark_with_options( r###"_____________________________________ "###, DANGER ), r###"_ _ _ _ a
a------
---a---
"###, r###"Thematic breaks (54)"### ); assert_eq!( micromark_with_options( r###" *-* "###, DANGER ), r###"-
"###, r###"Thematic breaks (55)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"- foo // *** // - bar // "###, DANGER), // r###"Foo
bar
"###, r###"Thematic breaks (57)"### ); assert_eq!( micromark_with_options( r###"Foo --- bar "###, DANGER ), r###"bar
"###, r###"Thematic breaks (58)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"* Foo // * * * // * Bar // "###, DANGER), // r###"####### foo
"###, r###"ATX headings (62)"### ); assert_eq!( micromark_with_options( r###"#5 bolt #hashtag "###, DANGER ), r###"#5 bolt
#hashtag
"###, r###"ATX headings (63)"### ); assert_eq!( micromark_with_options( r###"\## foo "###, DANGER ), r###"## foo
"###, r###"ATX headings (64)"### ); assert_eq!( micromark_with_options( r###"# foo *bar* \*baz\* "###, DANGER ), r###"# foo
"###,
r###"ATX headings (68)"###
);
assert_eq!(
micromark_with_options(
r###"foo
# bar
"###,
DANGER
),
r###"foo # bar
"###, r###"ATX headings (69)"### ); assert_eq!( micromark_with_options( r###"## foo ## ### bar ### "###, DANGER ), r###"Foo bar
Bar foo
"###, r###"ATX headings (77)"### ); assert_eq!( micromark_with_options( r###"## # ### ### "###, DANGER ), r###" "###, r###"ATX headings (78)"### ); assert_eq!( micromark_with_options( r###"Foo *bar* ========= Foo *bar* --------- "###, DANGER ), r###"Foo
---
Foo
Foo ---
"###, r###"Setext headings (86)"### ); assert_eq!( micromark_with_options( r###"Foo = = Foo --- - "###, DANGER ), r###"Foo = =
Foo
`
of dashes"/>
"###, r###"Setext headings (90)"### ); assert_eq!( micromark_with_options( r###"> Foo --- "###, DANGER ), r###"Foo
//// "###, // r###"Setext headings (92)"### // ); assert_eq!( micromark_with_options( r###"- Foo --- "###, DANGER ), r###"foo // bar // ===
//
Baz
"###, r###"Setext headings (95)"### ); assert_eq!( micromark_with_options( r###" ==== "###, DANGER ), r###"====
"###, r###"Setext headings (96)"### ); assert_eq!( micromark_with_options( r###"--- --- "###, DANGER ), r###"foo
foo
Foo
baz
"###, r###"Setext headings (102)"### ); assert_eq!( micromark_with_options( r###"Foo bar --- baz "###, DANGER ), r###"Foo bar
baz
"###, r###"Setext headings (103)"### ); assert_eq!( micromark_with_options( r###"Foo bar * * * baz "###, DANGER ), r###"Foo bar
baz
"###, r###"Setext headings (104)"### ); assert_eq!( micromark_with_options( r###"Foo bar \--- baz "###, DANGER ), r###"Foo bar --- baz
"###, r###"Setext headings (105)"### ); assert_eq!( micromark_with_options( r###" a simple indented code block "###, DANGER ), r###"a simple
indented code block
"###,
r###"Indented code blocks (106)"###
);
assert_eq!(
micromark_with_options(
r###" - foo
bar
"###,
DANGER
),
r###"foo
bar
foo
//<a/>
*hi*
- one
"###,
r###"Indented code blocks (109)"###
);
assert_eq!(
micromark_with_options(
r###" chunk1
chunk2
chunk3
"###,
DANGER
),
r###"chunk1
chunk2
chunk3
"###,
r###"Indented code blocks (110)"###
);
assert_eq!(
micromark_with_options(
r###" chunk1
chunk2
"###,
DANGER
),
r###"chunk1
chunk2
"###,
r###"Indented code blocks (111)"###
);
assert_eq!(
micromark_with_options(
r###"Foo
bar
"###,
DANGER
),
r###"Foo bar
"###, r###"Indented code blocks (112)"### ); assert_eq!( micromark_with_options( r###" foo bar "###, DANGER ), r###"foo
bar
"###, r###"Indented code blocks (113)"### ); assert_eq!( micromark_with_options( r###"# Heading foo Heading ------ foo ---- "###, DANGER ), r###"foo
foo
foo
bar
"###,
r###"Indented code blocks (115)"###
);
assert_eq!(
micromark_with_options(
r###"
foo
"###,
DANGER
),
r###"foo
"###,
r###"Indented code blocks (116)"###
);
assert_eq!(
micromark_with_options(
r###" foo
"###,
DANGER
),
r###"foo
"###,
r###"Indented code blocks (117)"###
);
assert_eq!(
micromark_with_options(
r###"```
<
>
```
"###,
DANGER
),
r###"<
>
"###,
r###"Fenced code blocks (118)"###
);
assert_eq!(
micromark_with_options(
r###"~~~
<
>
~~~
"###,
DANGER
),
r###"<
>
"###,
r###"Fenced code blocks (119)"###
);
assert_eq!(
micromark_with_options(
r###"``
foo
``
"###,
DANGER
),
r###"foo
aaa
~~~
"###,
r###"Fenced code blocks (121)"###
);
assert_eq!(
micromark_with_options(
r###"~~~
aaa
```
~~~
"###,
DANGER
),
r###"aaa
```
"###,
r###"Fenced code blocks (122)"###
);
assert_eq!(
micromark_with_options(
r###"````
aaa
```
``````
"###,
DANGER
),
r###"aaa
```
"###,
r###"Fenced code blocks (123)"###
);
assert_eq!(
micromark_with_options(
r###"~~~~
aaa
~~~
~~~~
"###,
DANGER
),
r###"aaa
~~~
"###,
r###"Fenced code blocks (124)"###
);
assert_eq!(
micromark_with_options(
r###"```
"###,
DANGER
),
r###"
"###,
r###"Fenced code blocks (125)"###
);
assert_eq!(
micromark_with_options(
r###"`````
```
aaa
"###,
DANGER
),
r###"
```
aaa
"###,
r###"Fenced code blocks (126)"###
);
assert_eq!(
micromark_with_options(
r###"> ```
> aaa
bbb
"###,
DANGER
),
r###"aaa
bbb
"###, r###"Fenced code blocks (127)"### ); assert_eq!( micromark_with_options( r###"``` ``` "###, DANGER ), r###"
"###,
r###"Fenced code blocks (128)"###
);
assert_eq!(
micromark_with_options(
r###"```
```
"###,
DANGER
),
r###"
"###,
r###"Fenced code blocks (129)"###
);
assert_eq!(
micromark_with_options(
r###" ```
aaa
aaa
```
"###,
DANGER
),
r###"aaa
aaa
"###,
r###"Fenced code blocks (130)"###
);
assert_eq!(
micromark_with_options(
r###" ```
aaa
aaa
aaa
```
"###,
DANGER
),
r###"aaa
aaa
aaa
"###,
r###"Fenced code blocks (131)"###
);
assert_eq!(
micromark_with_options(
r###" ```
aaa
aaa
aaa
```
"###,
DANGER
),
r###"aaa
aaa
aaa
"###,
r###"Fenced code blocks (132)"###
);
assert_eq!(
micromark_with_options(
r###" ```
aaa
```
"###,
DANGER
),
r###"```
aaa
```
"###,
r###"Fenced code blocks (133)"###
);
assert_eq!(
micromark_with_options(
r###"```
aaa
```
"###,
DANGER
),
r###"aaa
"###,
r###"Fenced code blocks (134)"###
);
assert_eq!(
micromark_with_options(
r###" ```
aaa
```
"###,
DANGER
),
r###"aaa
"###,
r###"Fenced code blocks (135)"###
);
assert_eq!(
micromark_with_options(
r###"```
aaa
```
"###,
DANGER
),
r###"aaa
```
"###,
r###"Fenced code blocks (136)"###
);
assert_eq!(
micromark_with_options(
r###"``` ```
aaa
"###,
DANGER
),
r###"
aaa
aaa
~~~ ~~
"###,
r###"Fenced code blocks (138)"###
);
assert_eq!(
micromark_with_options(
r###"foo
```
bar
```
baz
"###,
DANGER
),
r###"foo
bar
baz
"###, r###"Fenced code blocks (139)"### ); assert_eq!( micromark_with_options( r###"foo --- ~~~ bar ~~~ # baz "###, DANGER ), r###"bar
def foo(x)
return 3
end
"###,
r###"Fenced code blocks (141)"###
);
assert_eq!(
micromark_with_options(
r###"~~~~ ruby startline=3 $%@#$
def foo(x)
return 3
end
~~~~~~~
"###,
DANGER
),
r###"def foo(x)
return 3
end
"###,
r###"Fenced code blocks (142)"###
);
assert_eq!(
micromark_with_options(
r###"````;
````
"###,
DANGER
),
r###"
"###,
r###"Fenced code blocks (143)"###
);
assert_eq!(
micromark_with_options(
r###"``` aa ```
foo
"###,
DANGER
),
r###"aa
foo
foo
"###,
r###"Fenced code blocks (145)"###
);
assert_eq!(
micromark_with_options(
r###"```
``` aaa
```
"###,
DANGER
),
r###"``` aaa
"###,
r###"Fenced code blocks (146)"###
);
assert_eq!(
micromark_with_options(
r###"
**Hello**, _world_. |
**Hello**, |
hi |
hi |
okay.
"###, r###"HTML blocks (148)"### ); assert_eq!( micromark_with_options( r###" *foo* "###, r###"HTML blocks (150)"### ); assert_eq!( micromark_with_options( r###"Markdown
bar
"###, r###"HTML blocks (154)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###" "###, r###"HTML blocks (158)"### ); assert_eq!( micromark_with_options( r###"foo |
foo |
foo
foo
import Text.HTML.TagSoup
main :: IO ()
main = print $ parseTags tags
okay
"###,
DANGER
),
r###"
import Text.HTML.TagSoup
main :: IO ()
main = print $ parseTags tags
okay
"###, r###"HTML blocks (168)"### ); assert_eq!( micromark_with_options( r###" okay "###, DANGER ), r###"okay
"###, r###"HTML blocks (169)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###" "###, r###"HTML blocks (170)"### ); assert_eq!( micromark_with_options( r###" okay "###, DANGER ), r###"okay
"###, r###"HTML blocks (171)"### ); assert_eq!( micromark_with_options( r###" *foo* "###, DANGER ), r###"foo
"###, r###"HTML blocks (175)"### ); assert_eq!( micromark_with_options( r###"*bar* *baz* "###, DANGER ), r###"*bar*baz
"###, r###"HTML blocks (176)"### ); assert_eq!( micromark_with_options( r###"1. *bar* "###, DANGER ), r###"1. *bar* "###, r###"HTML blocks (177)"### ); assert_eq!( micromark_with_options( r###" okay "###, DANGER ), r###"okay
"###, r###"HTML blocks (178)"### ); assert_eq!( micromark_with_options( r###"'; ?> okay "###, DANGER ), r###"'; ?>okay
"###, r###"HTML blocks (179)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###" "###, r###"HTML blocks (180)"### ); assert_eq!( micromark_with_options( r###" okay "###, DANGER ), r###"okay
"###, r###"HTML blocks (181)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###"<!-- foo -->
"###,
r###"HTML blocks (182)"###
);
assert_eq!(
micromark_with_options(
r###" <div>
"###,
r###"HTML blocks (183)"###
);
assert_eq!(
micromark_with_options(
r###"Foo
Foo
Foo baz
"###, r###"HTML blocks (186)"### ); assert_eq!( micromark_with_options( r###"Emphasized text.
Hi |
Hi |
Hi |
[foo]: /url 'title
with blank line'
[foo]
"###, r###"Link reference definitions (196)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url [foo] "###, DANGER ), r###" "###, r###"Link reference definitions (197)"### ); assert_eq!( micromark_with_options( r###"[foo]: [foo] "###, DANGER ), r###"[foo]:
[foo]
"###, r###"Link reference definitions (198)"### ); assert_eq!( micromark_with_options( r###"[foo]: <> [foo] "###, DANGER ), r###" "###, r###"Link reference definitions (199)"### ); assert_eq!( micromark_with_options( r###"[foo]:[foo]:
[foo]
"###, r###"Link reference definitions (200)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url\bar\*baz "foo\"bar\baz" [foo] "###, DANGER ), r###" "###, r###"Link reference definitions (201)"### ); assert_eq!( micromark_with_options( r###"[foo] [foo]: url "###, DANGER ), r###" "###, r###"Link reference definitions (202)"### ); assert_eq!( micromark_with_options( r###"[foo] [foo]: first [foo]: second "###, DANGER ), r###" "###, r###"Link reference definitions (203)"### ); assert_eq!( micromark_with_options( r###"[FOO]: /url [Foo] "###, DANGER ), r###" "###, r###"Link reference definitions (204)"### ); assert_eq!( micromark_with_options( r###"[ΑΓΩ]: /φου [αγω] "###, DANGER ), r###" "###, r###"Link reference definitions (205)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url "###, DANGER ), r###""###, r###"Link reference definitions (206)"### ); assert_eq!( micromark_with_options( r###"[ foo ]: /url bar "###, DANGER ), r###"bar
"###, r###"Link reference definitions (207)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url "title" ok "###, DANGER ), r###"[foo]: /url "title" ok
"###, r###"Link reference definitions (208)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url "title" ok "###, DANGER ), r###""title" ok
"###, r###"Link reference definitions (209)"### ); assert_eq!( micromark_with_options( r###" [foo]: /url "title" [foo] "###, DANGER ), r###"[foo]: /url "title"
[foo]
"###, r###"Link reference definitions (210)"### ); assert_eq!( micromark_with_options( r###"``` [foo]: /url ``` [foo] "###, DANGER ), r###"[foo]: /url
[foo]
"###, r###"Link reference definitions (211)"### ); assert_eq!( micromark_with_options( r###"Foo [bar]: /baz [bar] "###, DANGER ), r###"Foo [bar]: /baz
[bar]
"###, r###"Link reference definitions (212)"### ); assert_eq!( micromark_with_options( r###"# [Foo] [foo]: /url > bar "###, DANGER ), r###""###, r###"Link reference definitions (213)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url bar === [foo] "###, DANGER ), r###"bar
=== foo
"###, r###"Link reference definitions (215)"### ); assert_eq!( micromark_with_options( r###"[foo]: /foo-url "foo" [bar]: /bar-url "bar" [baz]: /baz-url [foo], [bar], [baz] "###, DANGER ), r###" "###, r###"Link reference definitions (216)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"[foo] // > [foo]: /url // "###, DANGER), // r###" ////// "###, // r###"Link reference definitions (217)"### // ); assert_eq!( micromark_with_options( r###"aaa bbb "###, DANGER ), r###"
aaa
bbb
"###, r###"Paragraphs (218)"### ); assert_eq!( micromark_with_options( r###"aaa bbb ccc ddd "###, DANGER ), r###"aaa bbb
ccc ddd
"###, r###"Paragraphs (219)"### ); assert_eq!( micromark_with_options( r###"aaa bbb "###, DANGER ), r###"aaa
bbb
"###, r###"Paragraphs (220)"### ); assert_eq!( micromark_with_options( r###" aaa bbb "###, DANGER ), r###"aaa bbb
"###, r###"Paragraphs (221)"### ); assert_eq!( micromark_with_options( r###"aaa bbb ccc "###, DANGER ), r###"aaa bbb ccc
"###, r###"Paragraphs (222)"### ); assert_eq!( micromark_with_options( r###" aaa bbb "###, DANGER ), r###"aaa bbb
"###, r###"Paragraphs (223)"### ); assert_eq!( micromark_with_options( r###" aaa bbb "###, DANGER ), r###"aaa
bbb
"###, r###"Paragraphs (224)"### ); // To do: whitespace trimming of editor likely? // assert_eq!( // micromark_with_options(r###"aaa // bbb // "###, DANGER), // r###"aaa
// bbb
aaa
"###, r###"Block quotes (227)"### ); assert_eq!( micromark_with_options( r###"># Foo >bar > baz "###, DANGER ), r###"Foo
bar baz
"###, r###"Block quotes (228)"### ); assert_eq!( micromark_with_options( r###" > # Foo > bar > baz "###, DANGER ), r###"Foo
bar baz
"###, r###"Block quotes (229)"### ); assert_eq!( micromark_with_options( r###" > # Foo > bar > baz "###, DANGER ), r###"Foo
bar baz
> # Foo
> bar
> baz
"###,
r###"Block quotes (230)"###
);
// To do: whitespace trimming of editor likely?
// assert_eq!(
// micromark_with_options(r###"> # Foo
// > bar
// baz
// "###, DANGER),
// r###"//// "###, // r###"Block quotes (231)"### // ); assert_eq!( micromark_with_options( r###"> bar baz > foo "###, DANGER ), r###"Foo
//bar // baz
//
"###, r###"Block quotes (232)"### ); assert_eq!( micromark_with_options( r###"> foo --- "###, DANGER ), r###"bar baz foo
foo
//////
//- foo
//
foo
bar
"###,
r###"Block quotes (235)"###
);
assert_eq!(
micromark_with_options(
r###"> ```
foo
```
"###,
DANGER
),
r###"foo
"###,
r###"Block quotes (236)"###
);
// To do: some bug with laziness.
// assert_eq!(
// micromark_with_options(r###"> foo
// - bar
// "###, DANGER),
// r###"//// "###, // r###"Block quotes (237)"### // ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"> // "###, DANGER), // r###"foo // - bar
//
//// "###, // r###"Block quotes (238)"### // ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"> // > // > // "###, DANGER), // r###"
//// "###, // r###"Block quotes (239)"### // ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"> // > foo // > // "###, DANGER), // r###"
//// "###, // r###"Block quotes (240)"### // ); assert_eq!( micromark_with_options( r###"> foo > bar "###, DANGER ), r###"foo
//
foo
"###, r###"Block quotes (241)"### ); assert_eq!( micromark_with_options( r###"> foo > bar "###, DANGER ), r###"bar
"###, r###"Block quotes (242)"### ); assert_eq!( micromark_with_options( r###"> foo > > bar "###, DANGER ), r###"foo bar
"###, r###"Block quotes (243)"### ); assert_eq!( micromark_with_options( r###"foo > bar "###, DANGER ), r###"foo
bar
foo
"###, r###"Block quotes (244)"### ); assert_eq!( micromark_with_options( r###"> aaa *** > bbb "###, DANGER ), r###"bar
aaa
"###, r###"Block quotes (245)"### ); // To do: some bug with laziness. // assert_eq!( // micromark_with_options(r###"> bar // baz // "###, DANGER), // r###"bbb
//// "###, // r###"Block quotes (246)"### // ); assert_eq!( micromark_with_options( r###"> bar baz "###, DANGER ), r###"bar // baz
//
bar
baz
"###, r###"Block quotes (247)"### ); assert_eq!( micromark_with_options( r###"> bar > baz "###, DANGER ), r###"bar
baz
"###, r###"Block quotes (248)"### ); // To do: some bug with laziness. // assert_eq!( // micromark_with_options(r###"> > > foo // bar // "###, DANGER), // r###"//// "###, // r###"Block quotes (249)"### // ); // To do: some bug with laziness. // assert_eq!( // micromark_with_options(r###">>> foo // > bar // >>baz // "###, DANGER), // r###"////////foo // bar
//
//// "###, // r###"Block quotes (250)"### // ); assert_eq!( micromark_with_options( r###"> code > not code "###, DANGER ), r###"////////foo // bar // baz
//
code
"###, r###"Block quotes (251)"### ); assert_eq!( micromark_with_options( r###"A paragraph with two lines. indented code > A block quote. "###, DANGER ), r###"not code
A paragraph with two lines.
indented code
"###, r###"List items (252)"### ); assert_eq!( micromark_with_options( r###"1. A paragraph with two lines. indented code > A block quote. "###, DANGER ), r###"A block quote.
A paragraph with two lines.
indented code
A block quote.
two
"###, r###"List items (254)"### ); assert_eq!( micromark_with_options( r###"- one two "###, DANGER ), r###"one
two
two
"###,
r###"List items (256)"###
);
assert_eq!(
micromark_with_options(
r###" - one
two
"###,
DANGER
),
r###"one
two
"###, r###"List items (258)"### ); assert_eq!( micromark_with_options( r###">>- one >> > > two "###, DANGER ), r###"
one
two
"###, r###"List items (259)"### ); assert_eq!( micromark_with_options( r###"-one 2.two "###, DANGER ), r###"
- one
two
-one
2.two
"###, r###"List items (260)"### ); assert_eq!( micromark_with_options( r###"- foo bar "###, DANGER ), r###"foo
bar
foo
bar
baz
bam
Foo
bar
baz
1234567890. not ok
"###, r###"List items (265)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options(r###"0. ok // "###, DANGER), // r###"-1. not ok
"###, r###"List items (268)"### ); assert_eq!( micromark_with_options( r###"- foo bar "###, DANGER ), r###"foo
bar
foo
bar
indented code
paragraph
more code
"###,
r###"List items (271)"###
);
assert_eq!(
micromark_with_options(
r###"1. indented code
paragraph
more code
"###,
DANGER
),
r###"indented code
paragraph
more code
indented code
paragraph
more code
foo
bar
"###, r###"List items (274)"### ); assert_eq!( micromark_with_options( r###"- foo bar "###, DANGER ), r###"bar
"###, r###"List items (275)"### ); assert_eq!( micromark_with_options( r###"- foo bar "###, DANGER ), r###"foo
bar
bar
baz
foo
"###, r###"List items (279)"### ); // To do: eol after containers. // assert_eq!( // micromark_with_options( // r###"- foo // - // - bar // "###, // DANGER // ), // r###"foo *
foo 1.
"###, r###"List items (284)"### ); assert_eq!( micromark_with_options( r###" 1. A paragraph with two lines. indented code > A block quote. "###, DANGER ), r###"A paragraph with two lines.
indented code
A block quote.
A paragraph with two lines.
indented code
A block quote.
A paragraph with two lines.
indented code
A block quote.
1. A paragraph
with two lines.
indented code
> A block quote.
"###,
r###"List items (288)"###
);
assert_eq!(
micromark_with_options(
r###" 1. A paragraph
with two lines.
indented code
> A block quote.
"###,
DANGER
),
r###"A paragraph with two lines.
indented code
A block quote.
//// "###, // r###"List items (291)"### // ); // To do: some bug with laziness. // assert_eq!( // micromark_with_options( // r###"> 1. > Blockquote // > continued here. // "###, // DANGER // ), // r###"//
//- //
//////Blockquote // continued here.
//
//// "###, // r###"List items (292)"### // ); // To do: eol after containers. // assert_eq!( // micromark_with_options( // r###"- foo // - bar // - baz // - boo // "###, // DANGER // ), // r###"//
//- //
//////Blockquote // continued here.
//
Foo
//The number of windows in my house is // 14. The number of doors is 6.
// "###, // r###"Lists (303)"### // ); // To do: eol after containers. // assert_eq!( // micromark_with_options( // r###"The number of windows in my house is // 1. The number of doors is 6. // "###, // DANGER // ), // r###"The number of windows in my house is
//foo
bar
baz
baz
bim
foo
notcode
foo
code
"###,
r###"Lists (308)"###
);
// To do: eol after containers.
// assert_eq!(
// micromark_with_options(
// r###"- a
// - b
// - c
// - d
// - e
// - f
// - g
// "###,
// DANGER
// ),
// r###"a
b
c
a
b
3. c
"###,
r###"Lists (312)"###
);
assert_eq!(
micromark_with_options(
r###"- a
- b
- c
"###,
DANGER
),
r###"a
b
c
a
c
a
b
c
d
a
b
d
b
//
// b
//c
//////b
//
////b
//
c
//
// foo
bar
foo
baz
a
//d
//hi
lo`
foo
foo ` bar
``
``
a
b
foo bar baz
foo
foo bar baz
foo\
bar`
foo`bar
foo `` bar
*foo*
[not a link](/foo
)
<a href="
">`
<http://foo.bar.
baz>`
```foo``
"###, r###"Code spans (346)"### ); assert_eq!( micromark_with_options( r###"`foo "###, DANGER ), r###"`foo
"###, r###"Code spans (347)"### ); assert_eq!( micromark_with_options( r###"`foo``bar`` "###, DANGER ), r###"`foobar
foo bar
"###, r###"Emphasis and strong emphasis (349)"### ); assert_eq!( micromark_with_options( r###"a * foo bar* "###, DANGER ), r###"a * foo bar*
"###, r###"Emphasis and strong emphasis (350)"### ); assert_eq!( micromark_with_options( r###"a*"foo"* "###, DANGER ), r###"a*"foo"*
"###, r###"Emphasis and strong emphasis (351)"### ); assert_eq!( micromark_with_options( r###"* a * "###, DANGER ), r###"* a *
"###, r###"Emphasis and strong emphasis (352)"### ); assert_eq!( micromark_with_options( r###"foo*bar* "###, DANGER ), r###"foobar
"###, r###"Emphasis and strong emphasis (353)"### ); assert_eq!( micromark_with_options( r###"5*6*78 "###, DANGER ), r###"5678
"###, r###"Emphasis and strong emphasis (354)"### ); assert_eq!( micromark_with_options( r###"_foo bar_ "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (355)"### ); assert_eq!( micromark_with_options( r###"_ foo bar_ "###, DANGER ), r###"_ foo bar_
"###, r###"Emphasis and strong emphasis (356)"### ); assert_eq!( micromark_with_options( r###"a_"foo"_ "###, DANGER ), r###"a_"foo"_
"###, r###"Emphasis and strong emphasis (357)"### ); assert_eq!( micromark_with_options( r###"foo_bar_ "###, DANGER ), r###"foo_bar_
"###, r###"Emphasis and strong emphasis (358)"### ); assert_eq!( micromark_with_options( r###"5_6_78 "###, DANGER ), r###"5_6_78
"###, r###"Emphasis and strong emphasis (359)"### ); assert_eq!( micromark_with_options( r###"пристаням_стремятся_ "###, DANGER ), r###"пристаням_стремятся_
"###, r###"Emphasis and strong emphasis (360)"### ); assert_eq!( micromark_with_options( r###"aa_"bb"_cc "###, DANGER ), r###"aa_"bb"_cc
"###, r###"Emphasis and strong emphasis (361)"### ); assert_eq!( micromark_with_options( r###"foo-_(bar)_ "###, DANGER ), r###"foo-(bar)
"###, r###"Emphasis and strong emphasis (362)"### ); assert_eq!( micromark_with_options( r###"_foo* "###, DANGER ), r###"_foo*
"###, r###"Emphasis and strong emphasis (363)"### ); assert_eq!( micromark_with_options( r###"*foo bar * "###, DANGER ), r###"*foo bar *
"###, r###"Emphasis and strong emphasis (364)"### ); assert_eq!( micromark_with_options( r###"*foo bar * "###, DANGER ), r###"*foo bar *
"###, r###"Emphasis and strong emphasis (365)"### ); assert_eq!( micromark_with_options( r###"*(*foo) "###, DANGER ), r###"*(*foo)
"###, r###"Emphasis and strong emphasis (366)"### ); assert_eq!( micromark_with_options( r###"*(*foo*)* "###, DANGER ), r###"(foo)
"###, r###"Emphasis and strong emphasis (367)"### ); assert_eq!( micromark_with_options( r###"*foo*bar "###, DANGER ), r###"foobar
"###, r###"Emphasis and strong emphasis (368)"### ); assert_eq!( micromark_with_options( r###"_foo bar _ "###, DANGER ), r###"_foo bar _
"###, r###"Emphasis and strong emphasis (369)"### ); assert_eq!( micromark_with_options( r###"_(_foo) "###, DANGER ), r###"_(_foo)
"###, r###"Emphasis and strong emphasis (370)"### ); assert_eq!( micromark_with_options( r###"_(_foo_)_ "###, DANGER ), r###"(foo)
"###, r###"Emphasis and strong emphasis (371)"### ); assert_eq!( micromark_with_options( r###"_foo_bar "###, DANGER ), r###"_foo_bar
"###, r###"Emphasis and strong emphasis (372)"### ); assert_eq!( micromark_with_options( r###"_пристаням_стремятся "###, DANGER ), r###"_пристаням_стремятся
"###, r###"Emphasis and strong emphasis (373)"### ); assert_eq!( micromark_with_options( r###"_foo_bar_baz_ "###, DANGER ), r###"foo_bar_baz
"###, r###"Emphasis and strong emphasis (374)"### ); assert_eq!( micromark_with_options( r###"_(bar)_. "###, DANGER ), r###"(bar).
"###, r###"Emphasis and strong emphasis (375)"### ); assert_eq!( micromark_with_options( r###"**foo bar** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (376)"### ); assert_eq!( micromark_with_options( r###"** foo bar** "###, DANGER ), r###"** foo bar**
"###, r###"Emphasis and strong emphasis (377)"### ); assert_eq!( micromark_with_options( r###"a**"foo"** "###, DANGER ), r###"a**"foo"**
"###, r###"Emphasis and strong emphasis (378)"### ); assert_eq!( micromark_with_options( r###"foo**bar** "###, DANGER ), r###"foobar
"###, r###"Emphasis and strong emphasis (379)"### ); assert_eq!( micromark_with_options( r###"__foo bar__ "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (380)"### ); assert_eq!( micromark_with_options( r###"__ foo bar__ "###, DANGER ), r###"__ foo bar__
"###, r###"Emphasis and strong emphasis (381)"### ); assert_eq!( micromark_with_options( r###"__ foo bar__ "###, DANGER ), r###"__ foo bar__
"###, r###"Emphasis and strong emphasis (382)"### ); assert_eq!( micromark_with_options( r###"a__"foo"__ "###, DANGER ), r###"a__"foo"__
"###, r###"Emphasis and strong emphasis (383)"### ); assert_eq!( micromark_with_options( r###"foo__bar__ "###, DANGER ), r###"foo__bar__
"###, r###"Emphasis and strong emphasis (384)"### ); assert_eq!( micromark_with_options( r###"5__6__78 "###, DANGER ), r###"5__6__78
"###, r###"Emphasis and strong emphasis (385)"### ); assert_eq!( micromark_with_options( r###"пристаням__стремятся__ "###, DANGER ), r###"пристаням__стремятся__
"###, r###"Emphasis and strong emphasis (386)"### ); assert_eq!( micromark_with_options( r###"__foo, __bar__, baz__ "###, DANGER ), r###"foo, bar, baz
"###, r###"Emphasis and strong emphasis (387)"### ); assert_eq!( micromark_with_options( r###"foo-__(bar)__ "###, DANGER ), r###"foo-(bar)
"###, r###"Emphasis and strong emphasis (388)"### ); assert_eq!( micromark_with_options( r###"**foo bar ** "###, DANGER ), r###"**foo bar **
"###, r###"Emphasis and strong emphasis (389)"### ); assert_eq!( micromark_with_options( r###"**(**foo) "###, DANGER ), r###"**(**foo)
"###, r###"Emphasis and strong emphasis (390)"### ); assert_eq!( micromark_with_options( r###"*(**foo**)* "###, DANGER ), r###"(foo)
"###, r###"Emphasis and strong emphasis (391)"### ); assert_eq!( micromark_with_options( r###"**Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias physocarpa*)** "###, DANGER ), r###"Gomphocarpus (Gomphocarpus physocarpus, syn. Asclepias physocarpa)
"###, r###"Emphasis and strong emphasis (392)"### ); assert_eq!( micromark_with_options( r###"**foo "*bar*" foo** "###, DANGER ), r###"foo "bar" foo
"###, r###"Emphasis and strong emphasis (393)"### ); assert_eq!( micromark_with_options( r###"**foo**bar "###, DANGER ), r###"foobar
"###, r###"Emphasis and strong emphasis (394)"### ); assert_eq!( micromark_with_options( r###"__foo bar __ "###, DANGER ), r###"__foo bar __
"###, r###"Emphasis and strong emphasis (395)"### ); assert_eq!( micromark_with_options( r###"__(__foo) "###, DANGER ), r###"__(__foo)
"###, r###"Emphasis and strong emphasis (396)"### ); assert_eq!( micromark_with_options( r###"_(__foo__)_ "###, DANGER ), r###"(foo)
"###, r###"Emphasis and strong emphasis (397)"### ); assert_eq!( micromark_with_options( r###"__foo__bar "###, DANGER ), r###"__foo__bar
"###, r###"Emphasis and strong emphasis (398)"### ); assert_eq!( micromark_with_options( r###"__пристаням__стремятся "###, DANGER ), r###"__пристаням__стремятся
"###, r###"Emphasis and strong emphasis (399)"### ); assert_eq!( micromark_with_options( r###"__foo__bar__baz__ "###, DANGER ), r###"foo__bar__baz
"###, r###"Emphasis and strong emphasis (400)"### ); assert_eq!( micromark_with_options( r###"__(bar)__. "###, DANGER ), r###"(bar).
"###, r###"Emphasis and strong emphasis (401)"### ); assert_eq!( micromark_with_options( r###"*foo [bar](/url)* "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (402)"### ); assert_eq!( micromark_with_options( r###"*foo bar* "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (403)"### ); assert_eq!( micromark_with_options( r###"_foo __bar__ baz_ "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (404)"### ); assert_eq!( micromark_with_options( r###"_foo _bar_ baz_ "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (405)"### ); assert_eq!( micromark_with_options( r###"__foo_ bar_ "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (406)"### ); assert_eq!( micromark_with_options( r###"*foo *bar** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (407)"### ); assert_eq!( micromark_with_options( r###"*foo **bar** baz* "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (408)"### ); assert_eq!( micromark_with_options( r###"*foo**bar**baz* "###, DANGER ), r###"foobarbaz
"###, r###"Emphasis and strong emphasis (409)"### ); assert_eq!( micromark_with_options( r###"*foo**bar* "###, DANGER ), r###"foo**bar
"###, r###"Emphasis and strong emphasis (410)"### ); assert_eq!( micromark_with_options( r###"***foo** bar* "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (411)"### ); assert_eq!( micromark_with_options( r###"*foo **bar*** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (412)"### ); assert_eq!( micromark_with_options( r###"*foo**bar*** "###, DANGER ), r###"foobar
"###, r###"Emphasis and strong emphasis (413)"### ); assert_eq!( micromark_with_options( r###"foo***bar***baz "###, DANGER ), r###"foobarbaz
"###, r###"Emphasis and strong emphasis (414)"### ); assert_eq!( micromark_with_options( r###"foo******bar*********baz "###, DANGER ), r###"foobar***baz
"###, r###"Emphasis and strong emphasis (415)"### ); assert_eq!( micromark_with_options( r###"*foo **bar *baz* bim** bop* "###, DANGER ), r###"foo bar baz bim bop
"###, r###"Emphasis and strong emphasis (416)"### ); assert_eq!( micromark_with_options( r###"*foo [*bar*](/url)* "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (417)"### ); assert_eq!( micromark_with_options( r###"** is not an empty emphasis "###, DANGER ), r###"** is not an empty emphasis
"###, r###"Emphasis and strong emphasis (418)"### ); assert_eq!( micromark_with_options( r###"**** is not an empty strong emphasis "###, DANGER ), r###"**** is not an empty strong emphasis
"###, r###"Emphasis and strong emphasis (419)"### ); assert_eq!( micromark_with_options( r###"**foo [bar](/url)** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (420)"### ); assert_eq!( micromark_with_options( r###"**foo bar** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (421)"### ); assert_eq!( micromark_with_options( r###"__foo _bar_ baz__ "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (422)"### ); assert_eq!( micromark_with_options( r###"__foo __bar__ baz__ "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (423)"### ); assert_eq!( micromark_with_options( r###"____foo__ bar__ "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (424)"### ); assert_eq!( micromark_with_options( r###"**foo **bar**** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (425)"### ); assert_eq!( micromark_with_options( r###"**foo *bar* baz** "###, DANGER ), r###"foo bar baz
"###, r###"Emphasis and strong emphasis (426)"### ); assert_eq!( micromark_with_options( r###"**foo*bar*baz** "###, DANGER ), r###"foobarbaz
"###, r###"Emphasis and strong emphasis (427)"### ); assert_eq!( micromark_with_options( r###"***foo* bar** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (428)"### ); assert_eq!( micromark_with_options( r###"**foo *bar*** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (429)"### ); assert_eq!( micromark_with_options( r###"**foo *bar **baz** bim* bop** "###, DANGER ), r###"foo bar baz bim bop
"###, r###"Emphasis and strong emphasis (430)"### ); assert_eq!( micromark_with_options( r###"**foo [*bar*](/url)** "###, DANGER ), r###"foo bar
"###, r###"Emphasis and strong emphasis (431)"### ); assert_eq!( micromark_with_options( r###"__ is not an empty emphasis "###, DANGER ), r###"__ is not an empty emphasis
"###, r###"Emphasis and strong emphasis (432)"### ); assert_eq!( micromark_with_options( r###"____ is not an empty strong emphasis "###, DANGER ), r###"____ is not an empty strong emphasis
"###, r###"Emphasis and strong emphasis (433)"### ); assert_eq!( micromark_with_options( r###"foo *** "###, DANGER ), r###"foo ***
"###, r###"Emphasis and strong emphasis (434)"### ); assert_eq!( micromark_with_options( r###"foo *\** "###, DANGER ), r###"foo *
"###, r###"Emphasis and strong emphasis (435)"### ); assert_eq!( micromark_with_options( r###"foo *_* "###, DANGER ), r###"foo _
"###, r###"Emphasis and strong emphasis (436)"### ); assert_eq!( micromark_with_options( r###"foo ***** "###, DANGER ), r###"foo *****
"###, r###"Emphasis and strong emphasis (437)"### ); assert_eq!( micromark_with_options( r###"foo **\*** "###, DANGER ), r###"foo *
"###, r###"Emphasis and strong emphasis (438)"### ); assert_eq!( micromark_with_options( r###"foo **_** "###, DANGER ), r###"foo _
"###, r###"Emphasis and strong emphasis (439)"### ); assert_eq!( micromark_with_options( r###"**foo* "###, DANGER ), r###"*foo
"###, r###"Emphasis and strong emphasis (440)"### ); assert_eq!( micromark_with_options( r###"*foo** "###, DANGER ), r###"foo*
"###, r###"Emphasis and strong emphasis (441)"### ); assert_eq!( micromark_with_options( r###"***foo** "###, DANGER ), r###"*foo
"###, r###"Emphasis and strong emphasis (442)"### ); assert_eq!( micromark_with_options( r###"****foo* "###, DANGER ), r###"***foo
"###, r###"Emphasis and strong emphasis (443)"### ); assert_eq!( micromark_with_options( r###"**foo*** "###, DANGER ), r###"foo*
"###, r###"Emphasis and strong emphasis (444)"### ); assert_eq!( micromark_with_options( r###"*foo**** "###, DANGER ), r###"foo***
"###, r###"Emphasis and strong emphasis (445)"### ); assert_eq!( micromark_with_options( r###"foo ___ "###, DANGER ), r###"foo ___
"###, r###"Emphasis and strong emphasis (446)"### ); assert_eq!( micromark_with_options( r###"foo _\__ "###, DANGER ), r###"foo _
"###, r###"Emphasis and strong emphasis (447)"### ); assert_eq!( micromark_with_options( r###"foo _*_ "###, DANGER ), r###"foo *
"###, r###"Emphasis and strong emphasis (448)"### ); assert_eq!( micromark_with_options( r###"foo _____ "###, DANGER ), r###"foo _____
"###, r###"Emphasis and strong emphasis (449)"### ); assert_eq!( micromark_with_options( r###"foo __\___ "###, DANGER ), r###"foo _
"###, r###"Emphasis and strong emphasis (450)"### ); assert_eq!( micromark_with_options( r###"foo __*__ "###, DANGER ), r###"foo *
"###, r###"Emphasis and strong emphasis (451)"### ); assert_eq!( micromark_with_options( r###"__foo_ "###, DANGER ), r###"_foo
"###, r###"Emphasis and strong emphasis (452)"### ); assert_eq!( micromark_with_options( r###"_foo__ "###, DANGER ), r###"foo_
"###, r###"Emphasis and strong emphasis (453)"### ); assert_eq!( micromark_with_options( r###"___foo__ "###, DANGER ), r###"_foo
"###, r###"Emphasis and strong emphasis (454)"### ); assert_eq!( micromark_with_options( r###"____foo_ "###, DANGER ), r###"___foo
"###, r###"Emphasis and strong emphasis (455)"### ); assert_eq!( micromark_with_options( r###"__foo___ "###, DANGER ), r###"foo_
"###, r###"Emphasis and strong emphasis (456)"### ); assert_eq!( micromark_with_options( r###"_foo____ "###, DANGER ), r###"foo___
"###, r###"Emphasis and strong emphasis (457)"### ); assert_eq!( micromark_with_options( r###"**foo** "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (458)"### ); assert_eq!( micromark_with_options( r###"*_foo_* "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (459)"### ); assert_eq!( micromark_with_options( r###"__foo__ "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (460)"### ); assert_eq!( micromark_with_options( r###"_*foo*_ "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (461)"### ); assert_eq!( micromark_with_options( r###"****foo**** "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (462)"### ); assert_eq!( micromark_with_options( r###"____foo____ "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (463)"### ); assert_eq!( micromark_with_options( r###"******foo****** "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (464)"### ); assert_eq!( micromark_with_options( r###"***foo*** "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (465)"### ); assert_eq!( micromark_with_options( r###"_____foo_____ "###, DANGER ), r###"foo
"###, r###"Emphasis and strong emphasis (466)"### ); assert_eq!( micromark_with_options( r###"*foo _bar* baz_ "###, DANGER ), r###"foo _bar baz_
"###, r###"Emphasis and strong emphasis (467)"### ); assert_eq!( micromark_with_options( r###"*foo __bar *baz bim__ bam* "###, DANGER ), r###"foo bar *baz bim bam
"###, r###"Emphasis and strong emphasis (468)"### ); assert_eq!( micromark_with_options( r###"**foo **bar baz** "###, DANGER ), r###"**foo bar baz
"###, r###"Emphasis and strong emphasis (469)"### ); assert_eq!( micromark_with_options( r###"*foo *bar baz* "###, DANGER ), r###"*foo bar baz
"###, r###"Emphasis and strong emphasis (470)"### ); assert_eq!( micromark_with_options( r###"*[bar*](/url) "###, DANGER ), r###"*bar*
"###, r###"Emphasis and strong emphasis (471)"### ); assert_eq!( micromark_with_options( r###"_foo [bar_](/url) "###, DANGER ), r###"_foo bar_
"###, r###"Emphasis and strong emphasis (472)"### ); assert_eq!( micromark_with_options( r###"* "###, DANGER ), r###"*
"###, r###"Emphasis and strong emphasis (473)"### ); assert_eq!( micromark_with_options( r###"** "###, DANGER ), r###" "###, r###"Emphasis and strong emphasis (474)"### ); assert_eq!( micromark_with_options( r###"__ "###, DANGER ), r###" "###, r###"Emphasis and strong emphasis (475)"### ); assert_eq!( micromark_with_options( r###"*a `*`* "###, DANGER ), r###"a *
a _
[link](/my uri)
"###, r###"Links (486)"### ); assert_eq!( micromark_with_options( r###"[link]([link](foo bar)
"###, r###"Links (488)"### ); assert_eq!( micromark_with_options( r###"[link]([link](
[link](<foo>)
"###, r###"Links (491)"### ); assert_eq!( micromark_with_options( r###"[a]( [a](c) "###, DANGER ), r###"[a](<b)c [a](<b)c> [a](c)
"###, r###"Links (492)"### ); assert_eq!( micromark_with_options( r###"[link](\(foo\)) "###, DANGER ), r###" "###, r###"Links (493)"### ); assert_eq!( micromark_with_options( r###"[link](foo(and(bar))) "###, DANGER ), r###" "###, r###"Links (494)"### ); assert_eq!( micromark_with_options( r###"[link](foo(and(bar)) "###, DANGER ), r###"[link](foo(and(bar))
"###, r###"Links (495)"### ); assert_eq!( micromark_with_options( r###"[link](foo\(and\(bar\)) "###, DANGER ), r###" "###, r###"Links (496)"### ); assert_eq!( micromark_with_options( r###"[link]([link](/url "title "and" title")
"###, r###"Links (506)"### ); assert_eq!( micromark_with_options( r###"[link](/url 'title "and" title') "###, DANGER ), r###" "###, r###"Links (507)"### ); assert_eq!( micromark_with_options( r###"[link]( /uri "title" ) "###, DANGER ), r###" "###, r###"Links (508)"### ); assert_eq!( micromark_with_options( r###"[link] (/uri) "###, DANGER ), r###"[link] (/uri)
"###, r###"Links (509)"### ); assert_eq!( micromark_with_options( r###"[link [foo [bar]]](/uri) "###, DANGER ), r###" "###, r###"Links (510)"### ); assert_eq!( micromark_with_options( r###"[link] bar](/uri) "###, DANGER ), r###"[link] bar](/uri)
"###, r###"Links (511)"### ); assert_eq!( micromark_with_options( r###"[link [bar](/uri) "###, DANGER ), r###"[link bar
"###, r###"Links (512)"### ); assert_eq!( micromark_with_options( r###"[link \[bar](/uri) "###, DANGER ), r###" "###, r###"Links (513)"### ); assert_eq!( micromark_with_options( r###"[link *foo **bar** `#`*](/uri) "###, DANGER ), r###" "###, r###"Links (514)"### ); assert_eq!( micromark_with_options( r###"[![moon](moon.jpg)](/uri) "###, DANGER ), r###" "###, r###"Links (515)"### ); assert_eq!( micromark_with_options( r###"[foo [bar](/uri)](/uri) "###, DANGER ), r###"[foo bar](/uri)
"###, r###"Links (516)"### ); assert_eq!( micromark_with_options( r###"[foo *[bar [baz](/uri)](/uri)*](/uri) "###, DANGER ), r###"[foo [bar baz](/uri)](/uri)
"###, r###"Links (517)"### ); assert_eq!( micromark_with_options( r###"![[[foo](uri1)](uri2)](uri3) "###, DANGER ), r###" "###, r###"Links (518)"### ); assert_eq!( micromark_with_options( r###"*[foo*](/uri) "###, DANGER ), r###"*foo*
"###, r###"Links (519)"### ); assert_eq!( micromark_with_options( r###"[foo *bar](baz*) "###, DANGER ), r###" "###, r###"Links (520)"### ); assert_eq!( micromark_with_options( r###"*foo [bar* baz] "###, DANGER ), r###"foo [bar baz]
"###, r###"Links (521)"### ); assert_eq!( micromark_with_options( r###"[foo[foo
[foo](/uri)
[foohttp://example.com/?search=](uri)
"###, r###"Links (524)"### ); assert_eq!( micromark_with_options( r###"[foo][bar] [bar]: /url "title" "###, DANGER ), r###" "###, r###"Links (525)"### ); assert_eq!( micromark_with_options( r###"[link [foo [bar]]][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (526)"### ); assert_eq!( micromark_with_options( r###"[link \[bar][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (527)"### ); assert_eq!( micromark_with_options( r###"[link *foo **bar** `#`*][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (528)"### ); assert_eq!( micromark_with_options( r###"[![moon](moon.jpg)][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (529)"### ); assert_eq!( micromark_with_options( r###"[foo [bar](/uri)][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (530)"### ); assert_eq!( micromark_with_options( r###"[foo *bar [baz][ref]*][ref] [ref]: /uri "###, DANGER ), r###" "###, r###"Links (531)"### ); assert_eq!( micromark_with_options( r###"*[foo*][ref] [ref]: /uri "###, DANGER ), r###"*foo*
"###, r###"Links (532)"### ); assert_eq!( micromark_with_options( r###"[foo *bar][ref]* [ref]: /uri "###, DANGER ), r###" "###, r###"Links (533)"### ); assert_eq!( micromark_with_options( r###"[foo[foo
[foo][ref]
[foohttp://example.com/?search=][ref]
"###, r###"Links (536)"### ); assert_eq!( micromark_with_options( r###"[foo][BaR] [bar]: /url "title" "###, DANGER ), r###" "###, r###"Links (537)"### ); // To do: bug with unicode normalization. // assert_eq!( // micromark_with_options( // r###"[ẞ] // [SS]: /url // "###, // DANGER // ), // r###" // "###, // r###"Links (538)"### // ); assert_eq!( micromark_with_options( r###"[Foo bar]: /url [Baz][Foo bar] "###, DANGER ), r###" "###, r###"Links (539)"### ); assert_eq!( micromark_with_options( r###"[foo] [bar] [bar]: /url "title" "###, DANGER ), r###"[foo] bar
"###, r###"Links (540)"### ); assert_eq!( micromark_with_options( r###"[foo] [bar] [bar]: /url "title" "###, DANGER ), r###"[foo] bar
"###, r###"Links (541)"### ); assert_eq!( micromark_with_options( r###"[foo]: /url1 [foo]: /url2 [bar][foo] "###, DANGER ), r###" "###, r###"Links (542)"### ); assert_eq!( micromark_with_options( r###"[bar][foo\!] [foo!]: /url "###, DANGER ), r###"[bar][foo!]
"###, r###"Links (543)"### ); assert_eq!( micromark_with_options( r###"[foo][ref[] [ref[]: /uri "###, DANGER ), r###"[foo][ref[]
[ref[]: /uri
"###, r###"Links (544)"### ); assert_eq!( micromark_with_options( r###"[foo][ref[bar]] [ref[bar]]: /uri "###, DANGER ), r###"[foo][ref[bar]]
[ref[bar]]: /uri
"###, r###"Links (545)"### ); assert_eq!( micromark_with_options( r###"[[[foo]]] [[[foo]]]: /url "###, DANGER ), r###"[[[foo]]]
[[[foo]]]: /url
"###, r###"Links (546)"### ); assert_eq!( micromark_with_options( r###"[foo][ref\[] [ref\[]: /uri "###, DANGER ), r###" "###, r###"Links (547)"### ); assert_eq!( micromark_with_options( r###"[bar\\]: /uri [bar\\] "###, DANGER ), r###" "###, r###"Links (548)"### ); assert_eq!( micromark_with_options( r###"[] []: /uri "###, DANGER ), r###"[]
[]: /uri
"###, r###"Links (549)"### ); assert_eq!( micromark_with_options( r###"[ ] [ ]: /uri "###, DANGER ), r###"[ ]
[ ]: /uri
"###, r###"Links (550)"### ); assert_eq!( micromark_with_options( r###"[foo][] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Links (551)"### ); assert_eq!( micromark_with_options( r###"[*foo* bar][] [*foo* bar]: /url "title" "###, DANGER ), r###" "###, r###"Links (552)"### ); assert_eq!( micromark_with_options( r###"[Foo][] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Links (553)"### ); assert_eq!( micromark_with_options( r###"[foo] [] [foo]: /url "title" "###, DANGER ), r###"foo []
"###, r###"Links (554)"### ); assert_eq!( micromark_with_options( r###"[foo] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Links (555)"### ); assert_eq!( micromark_with_options( r###"[*foo* bar] [*foo* bar]: /url "title" "###, DANGER ), r###" "###, r###"Links (556)"### ); assert_eq!( micromark_with_options( r###"[[*foo* bar]] [*foo* bar]: /url "title" "###, DANGER ), r###"[foo bar]
"###, r###"Links (557)"### ); assert_eq!( micromark_with_options( r###"[[bar [foo] [foo]: /url "###, DANGER ), r###"[[bar foo
"###, r###"Links (558)"### ); assert_eq!( micromark_with_options( r###"[Foo] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Links (559)"### ); assert_eq!( micromark_with_options( r###"[foo] bar [foo]: /url "###, DANGER ), r###"foo bar
"###, r###"Links (560)"### ); assert_eq!( micromark_with_options( r###"\[foo] [foo]: /url "title" "###, DANGER ), r###"[foo]
"###, r###"Links (561)"### ); assert_eq!( micromark_with_options( r###"[foo*]: /url *[foo*] "###, DANGER ), r###"*foo*
"###, r###"Links (562)"### ); assert_eq!( micromark_with_options( r###"[foo][bar] [foo]: /url1 [bar]: /url2 "###, DANGER ), r###" "###, r###"Links (563)"### ); assert_eq!( micromark_with_options( r###"[foo][] [foo]: /url1 "###, DANGER ), r###" "###, r###"Links (564)"### ); assert_eq!( micromark_with_options( r###"[foo]() [foo]: /url1 "###, DANGER ), r###" "###, r###"Links (565)"### ); assert_eq!( micromark_with_options( r###"[foo](not a link) [foo]: /url1 "###, DANGER ), r###"foo(not a link)
"###, r###"Links (566)"### ); assert_eq!( micromark_with_options( r###"[foo][bar][baz] [baz]: /url "###, DANGER ), r###"[foo]bar
"###, r###"Links (567)"### ); assert_eq!( micromark_with_options( r###"[foo][bar][baz] [baz]: /url1 [bar]: /url2 "###, DANGER ), r###" "###, r###"Links (568)"### ); assert_eq!( micromark_with_options( r###"[foo][bar][baz] [baz]: /url1 [foo]: /url2 "###, DANGER ), r###"[foo]bar
"###, r###"Links (569)"### ); assert_eq!( micromark_with_options( r###"![foo](/url "title") "###, DANGER ), r###" "###, r###"Images (570)"### ); assert_eq!( micromark_with_options( r###"![foo *bar*] [foo *bar*]: train.jpg "train & tracks" "###, DANGER ), r###" "###, r###"Images (571)"### ); assert_eq!( micromark_with_options( r###"![foo ![bar](/url)](/url2) "###, DANGER ), r###" "###, r###"Images (572)"### ); assert_eq!( micromark_with_options( r###"![foo [bar](/url)](/url2) "###, DANGER ), r###" "###, r###"Images (573)"### ); assert_eq!( micromark_with_options( r###"![foo *bar*][] [foo *bar*]: train.jpg "train & tracks" "###, DANGER ), r###" "###, r###"Images (574)"### ); assert_eq!( micromark_with_options( r###"![foo *bar*][foobar] [FOOBAR]: train.jpg "train & tracks" "###, DANGER ), r###" "###, r###"Images (575)"### ); assert_eq!( micromark_with_options( r###"![foo](train.jpg) "###, DANGER ), r###" "###, r###"Images (576)"### ); assert_eq!( micromark_with_options( r###"My ![foo bar](/path/to/train.jpg "title" ) "###, DANGER ), r###"My
"###, r###"Images (577)"### ); assert_eq!( micromark_with_options( r###"![foo]([]
"###, r###"Images (585)"### ); assert_eq!( micromark_with_options( r###"![foo] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Images (586)"### ); assert_eq!( micromark_with_options( r###"![*foo* bar] [*foo* bar]: /url "title" "###, DANGER ), r###" "###, r###"Images (587)"### ); assert_eq!( micromark_with_options( r###"![[foo]] [[foo]]: /url "title" "###, DANGER ), r###"![[foo]]
[[foo]]: /url "title"
"###, r###"Images (588)"### ); assert_eq!( micromark_with_options( r###"![Foo] [foo]: /url "title" "###, DANGER ), r###" "###, r###"Images (589)"### ); assert_eq!( micromark_with_options( r###"!\[foo] [foo]: /url "title" "###, DANGER ), r###"![foo]
"###, r###"Images (590)"### ); assert_eq!( micromark_with_options( r###"\![foo] [foo]: /url "title" "###, DANGER ), r###"!foo
"###, r###"Images (591)"### ); assert_eq!( micromark_with_options( r###"http://foo.bar.baz/test?q=hello&id=22&boolean
"###, r###"Autolinks (593)"### ); assert_eq!( micromark_with_options( r###"<http://foo.bar/baz bim>
"###, r###"Autolinks (600)"### ); assert_eq!( micromark_with_options( r###"<foo+@bar.example.com>
"###, r###"Autolinks (604)"### ); assert_eq!( micromark_with_options( r###"<> "###, DANGER ), r###"<>
"###, r###"Autolinks (605)"### ); assert_eq!( micromark_with_options( r###"< http://foo.bar > "###, DANGER ), r###"< http://foo.bar >
"###, r###"Autolinks (606)"### ); assert_eq!( micromark_with_options( r###"<m:abc>
"###, r###"Autolinks (607)"### ); assert_eq!( micromark_with_options( r###"<foo.bar.baz>
"###, r###"Autolinks (608)"### ); assert_eq!( micromark_with_options( r###"http://example.com "###, DANGER ), r###"http://example.com
"###, r###"Autolinks (609)"### ); assert_eq!( micromark_with_options( r###"foo@bar.example.com "###, DANGER ), r###"foo@bar.example.com
"###, r###"Autolinks (610)"### ); assert_eq!( micromark_with_options( r###"Foo
<33> <__>
"###, r###"Raw HTML (616)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###"<a h*#ref="hi">
"###, r###"Raw HTML (617)"### ); assert_eq!( micromark_with_options( r###"<a href="hi'> <a href=hi'> "###, r###"Raw HTML (618)"### ); assert_eq!( micromark_with_options( r###"< a>< foo>< a>< foo><bar/ > <foo bar=baz bim!bop />
"###, r###"Raw HTML (619)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###"<a href='bar'title=title>
"###, r###"Raw HTML (620)"### ); assert_eq!( micromark_with_options( r###"</a href="foo">
"###, r###"Raw HTML (622)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###"foo
"###, r###"Raw HTML (623)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###"foo <!-- not a comment -- two hyphens -->
"###, r###"Raw HTML (624)"### ); assert_eq!( micromark_with_options( r###"foo foo --> foo "###, DANGER ), r###"foo <!--> foo -->
foo <!-- foo--->
"###, r###"Raw HTML (625)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###"foo
"###, r###"Raw HTML (626)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###"foo
"###, r###"Raw HTML (627)"### ); assert_eq!( micromark_with_options( r###"foo &<]]> "###, DANGER ), r###"foo &<]]>
"###, r###"Raw HTML (628)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###" "###, r###"Raw HTML (629)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###" "###, r###"Raw HTML (630)"### ); assert_eq!( micromark_with_options( r###" "###, DANGER ), r###"<a href=""">
"###, r###"Raw HTML (631)"### ); // To do: bug generating this file. // assert_eq!( // micromark_with_options( // r###"foo // baz // "###, // DANGER // ), // r###"foo
// baz
foo
baz
foo
// baz
foo
// bar
foo
bar
foo
// bar
foo
bar
code span
code\ span
foo\
"###, r###"Hard line breaks (643)"### ); assert_eq!( micromark_with_options( r###"foo "###, DANGER ), r###"foo
"###, r###"Hard line breaks (644)"### ); assert_eq!( micromark_with_options( r###"### foo\ "###, DANGER ), r###"foo baz
"###, r###"Soft line breaks (647)"### ); assert_eq!( micromark_with_options( r###"foo baz "###, DANGER ), r###"foo baz
"###, r###"Soft line breaks (648)"### ); assert_eq!( micromark_with_options( r###"hello $.;'there "###, DANGER ), r###"hello $.;'there
"###, r###"Textual content (649)"### ); assert_eq!( micromark_with_options( r###"Foo χρῆν "###, DANGER ), r###"Foo χρῆν
"###, r###"Textual content (650)"### ); assert_eq!( micromark_with_options( r###"Multiple spaces "###, DANGER ), r###"Multiple spaces
"###, r###"Textual content (651)"### ); }