fn run(input: &str, output: &str) { let output = if output.is_empty() { "".to_owned() } else { output.to_owned() + "\n" }; let md = &mut markdown_it::MarkdownIt::new(); markdown_it::plugins::cmark::add(md); markdown_it::plugins::html::add(md); let node = md.parse(&(input.to_owned() + "\n")); // make sure we have sourcemaps for everything node.walk(|node, _| assert!(node.srcmap.is_some())); let result = node.xrender(); assert_eq!(result, output); // make sure it doesn't crash without trailing \n let _ = md.parse(input.trim_end()); } /////////////////////////////////////////////////////////////////////////// // TESTGEN: fixtures/commonmark/good.txt #[rustfmt::skip] mod fixtures_commonmark_good_txt { use super::run; // this part of the file is auto-generated // don't edit it, otherwise your changes might be lost #[test] fn src_line_355() { let input = "\tfoo\tbaz\t\tbim"; let output = "
foo\tbaz\t\tbim
"; run(input, output); } #[test] fn src_line_362() { let input = " \tfoo\tbaz\t\tbim"; let output = "
foo\tbaz\t\tbim
"; run(input, output); } #[test] fn src_line_369() { let input = " a\ta ὐ\ta"; let output = "
a\ta
ὐ\ta
"; run(input, output); } #[test] fn src_line_382() { let input = " - foo \tbar"; let output = r#""#; run(input, output); } #[test] fn src_line_395() { let input = "- foo \t\tbar"; let output = r#""#; run(input, output); } #[test] fn src_line_418() { let input = ">\t\tfoo"; let output = r#"
  foo
"#; run(input, output); } #[test] fn src_line_427() { let input = "-\t\tfoo"; let output = r#""#; run(input, output); } #[test] fn src_line_439() { let input = " foo \tbar"; let output = r#"
foo
bar
"#; run(input, output); } #[test] fn src_line_448() { let input = " - foo - bar \t - baz"; let output = r#""#; run(input, output); } #[test] fn src_line_466() { let input = "#\tFoo"; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_472() { let input = "*\t*\t*\t"; let output = r#"
"#; run(input, output); } #[test] fn src_line_489() { let input = r#"\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~"#; let output = r#"

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

"#; run(input, output); } #[test] fn src_line_499() { let input = "\\\t\\A\\a\\ \\3\\φ\\«"; let output = "

\\\t\\A\\a\\ \\3\\φ\\«

"; run(input, output); } #[test] fn src_line_509() { let input = r#"\*not emphasized* \
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"#; let output = r#"

*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" &ouml; not a character entity

"#; run(input, output); } #[test] fn src_line_534() { let input = r#"\\*emphasis*"#; let output = r#"

\emphasis

"#; run(input, output); } #[test] fn src_line_543() { let input = r#"foo\ bar"#; let output = r#"

foo
bar

"#; run(input, output); } #[test] fn src_line_555() { let input = r#"`` \[\` ``"#; let output = r#"

\[\`

"#; run(input, output); } #[test] fn src_line_562() { let input = r#" \[\]"#; let output = r#"
\[\]
"#; run(input, output); } #[test] fn src_line_570() { let input = r#"~~~ \[\] ~~~"#; let output = r#"
\[\]
"#; run(input, output); } #[test] fn src_line_580() { let input = r#""#; let output = r#"

http://example.com?find=\*

"#; run(input, output); } #[test] fn src_line_587() { let input = r#""#; let output = r#""#; run(input, output); } #[test] fn src_line_597() { let input = r#"[foo](/bar\* "ti\*tle")"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_604() { let input = r#"[foo] [foo]: /bar\* "ti\*tle""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_613() { let input = r#"``` foo\+bar foo ```"#; let output = r#"
foo
"#; run(input, output); } #[test] fn src_line_649() { let input = r#"  & © Æ Ď ¾ ℋ ⅆ ∲ ≧̸"#; let output = r#"

  & © Æ Ď ¾ ℋ ⅆ ∲ ≧̸

"#; run(input, output); } #[test] fn src_line_668() { let input = r#"# Ӓ Ϡ �"#; let output = r#"

# Ӓ Ϡ �

"#; run(input, output); } #[test] fn src_line_681() { let input = r#"" ആ ಫ"#; let output = r#"

" ആ ಫ

"#; run(input, output); } #[test] fn src_line_690() { let input = r#"  &x; &#; &#x; � &#abcdef0; &ThisIsNotDefined; &hi?;"#; let output = r#"

&nbsp &x; &#; &#x; &#87654321; &#abcdef0; &ThisIsNotDefined; &hi?;

"#; run(input, output); } #[test] fn src_line_707() { let input = r#"©"#; let output = r#"

&copy

"#; run(input, output); } #[test] fn src_line_717() { let input = r#"&MadeUpEntity;"#; let output = r#"

&MadeUpEntity;

"#; run(input, output); } #[test] fn src_line_728() { let input = r#""#; let output = r#""#; run(input, output); } #[test] fn src_line_735() { let input = r#"[foo](/föö "föö")"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_742() { let input = r#"[foo] [foo]: /föö "föö""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_751() { let input = r#"``` föö foo ```"#; let output = r#"
foo
"#; run(input, output); } #[test] fn src_line_764() { let input = r#"`föö`"#; let output = r#"

f&ouml;&ouml;

"#; run(input, output); } #[test] fn src_line_771() { let input = r#" föfö"#; let output = r#"
f&ouml;f&ouml;
"#; run(input, output); } #[test] fn src_line_783() { let input = r#"*foo* *foo*"#; let output = r#"

*foo* foo

"#; run(input, output); } #[test] fn src_line_791() { let input = r#"* foo * foo"#; let output = r#"

* foo

"#; run(input, output); } #[test] fn src_line_802() { let input = r#"foo bar"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_810() { let input = r#" foo"#; let output = "

\tfoo

"; run(input, output); } #[test] fn src_line_817() { let input = r#"[a](url "tit")"#; let output = r#"

[a](url "tit")

"#; run(input, output); } #[test] fn src_line_840() { let input = r#"- `one - two`"#; let output = r#""#; run(input, output); } #[test] fn src_line_879() { let input = r#"*** --- ___"#; let output = r#"


"#; run(input, output); } #[test] fn src_line_892() { let input = r#"+++"#; let output = r#"

+++

"#; run(input, output); } #[test] fn src_line_899() { let input = r#"==="#; let output = r#"

===

"#; run(input, output); } #[test] fn src_line_908() { let input = r#"-- ** __"#; let output = r#"

-- ** __

"#; run(input, output); } #[test] fn src_line_921() { let input = r#" *** *** ***"#; let output = r#"


"#; run(input, output); } #[test] fn src_line_934() { let input = r#" ***"#; let output = r#"
***
"#; run(input, output); } #[test] fn src_line_942() { let input = r#"Foo ***"#; let output = r#"

Foo ***

"#; run(input, output); } #[test] fn src_line_953() { let input = r#"_____________________________________"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_962() { let input = r#" - - -"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_969() { let input = r#" ** * ** * ** * **"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_976() { let input = r#"- - - -"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_985() { let input = "- - - - \x20"; let output = r#"
"#; run(input, output); } #[test] fn src_line_994() { let input = r#"_ _ _ _ a a------ ---a---"#; let output = r#"

_ _ _ _ a

a------

---a---

"#; run(input, output); } #[test] fn src_line_1010() { let input = r#" *-*"#; let output = r#"

-

"#; run(input, output); } #[test] fn src_line_1019() { let input = r#"- foo *** - bar"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_1036() { let input = r#"Foo *** bar"#; let output = r#"

Foo


bar

"#; run(input, output); } #[test] fn src_line_1053() { let input = r#"Foo --- bar"#; let output = r#"

Foo

bar

"#; run(input, output); } #[test] fn src_line_1066() { let input = r#"* Foo * * * * Bar"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_1083() { let input = r#"- Foo - * * *"#; let output = r#""#; run(input, output); } #[test] fn src_line_1112() { let input = r#"# foo ## foo ### foo #### foo ##### foo ###### foo"#; let output = r#"

foo

foo

foo

foo

foo
foo
"#; run(input, output); } #[test] fn src_line_1131() { let input = r#"####### foo"#; let output = r#"

####### foo

"#; run(input, output); } #[test] fn src_line_1146() { let input = r#"#5 bolt #hashtag"#; let output = r#"

#5 bolt

#hashtag

"#; run(input, output); } #[test] fn src_line_1158() { let input = r#"\## foo"#; let output = r#"

## foo

"#; run(input, output); } #[test] fn src_line_1167() { let input = r#"# foo *bar* \*baz\*"#; let output = r#"

foo bar *baz*

"#; run(input, output); } #[test] fn src_line_1176() { let input = "# foo \x20"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_1185() { let input = r#" ### foo ## foo # foo"#; let output = r#"

foo

foo

foo

"#; run(input, output); } #[test] fn src_line_1198() { let input = r#" # foo"#; let output = r#"
# foo
"#; run(input, output); } #[test] fn src_line_1206() { let input = r#"foo # bar"#; let output = r#"

foo # bar

"#; run(input, output); } #[test] fn src_line_1217() { let input = r#"## foo ## ### bar ###"#; let output = r#"

foo

bar

"#; run(input, output); } #[test] fn src_line_1228() { let input = r#"# foo ################################## ##### foo ##"#; let output = r#"

foo

foo
"#; run(input, output); } #[test] fn src_line_1239() { let input = "### foo ### \x20"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_1250() { let input = r#"### foo ### b"#; let output = r#"

foo ### b

"#; run(input, output); } #[test] fn src_line_1259() { let input = r#"# foo#"#; let output = r#"

foo#

"#; run(input, output); } #[test] fn src_line_1269() { let input = r#"### foo \### ## foo #\## # foo \#"#; let output = r#"

foo ###

foo ###

foo #

"#; run(input, output); } #[test] fn src_line_1283() { let input = r#"**** ## foo ****"#; let output = r#"

foo


"#; run(input, output); } #[test] fn src_line_1294() { let input = r#"Foo bar # baz Bar foo"#; let output = r#"

Foo bar

baz

Bar foo

"#; run(input, output); } #[test] fn src_line_1307() { let input = "##\x20 # ### ###"; let output = r#"

"#; run(input, output); } #[test] fn src_line_1350() { let input = r#"Foo *bar* ========= Foo *bar* ---------"#; let output = r#"

Foo bar

Foo bar

"#; run(input, output); } #[test] fn src_line_1364() { let input = r#"Foo *bar baz* ===="#; let output = r#"

Foo bar baz

"#; run(input, output); } #[test] fn src_line_1378() { let input = " Foo *bar baz*\t ===="; let output = r#"

Foo bar baz

"#; run(input, output); } #[test] fn src_line_1390() { let input = r#"Foo ------------------------- Foo ="#; let output = r#"

Foo

Foo

"#; run(input, output); } #[test] fn src_line_1405() { let input = r#" Foo --- Foo ----- Foo ==="#; let output = r#"

Foo

Foo

Foo

"#; run(input, output); } #[test] fn src_line_1423() { let input = r#" Foo --- Foo ---"#; let output = r#"
Foo
---

Foo

"#; run(input, output); } #[test] fn src_line_1442() { let input = "Foo ---- \x20"; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_1452() { let input = r#"Foo ---"#; let output = r#"

Foo ---

"#; run(input, output); } #[test] fn src_line_1463() { let input = r#"Foo = = Foo --- -"#; let output = r#"

Foo = =

Foo


"#; run(input, output); } #[test] fn src_line_1479() { let input = "Foo \x20 -----"; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_1489() { let input = r#"Foo\ ----"#; let output = r#"

Foo\

"#; run(input, output); } #[test] fn src_line_1500() { let input = r#"`Foo ---- ` "#; let output = r#"

`Foo

`

<a title="a lot

of dashes"/>

"#; run(input, output); } #[test] fn src_line_1519() { let input = r#"> Foo ---"#; let output = r#"

Foo


"#; run(input, output); } #[test] fn src_line_1530() { let input = r#"> foo bar ==="#; let output = r#"

foo bar ===

"#; run(input, output); } #[test] fn src_line_1543() { let input = r#"- Foo ---"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_1558() { let input = r#"Foo Bar ---"#; let output = r#"

Foo Bar

"#; run(input, output); } #[test] fn src_line_1571() { let input = r#"--- Foo --- Bar --- Baz"#; let output = r#"

Foo

Bar

Baz

"#; run(input, output); } #[test] fn src_line_1588() { let input = r#" ===="#; let output = r#"

====

"#; run(input, output); } #[test] fn src_line_1600() { let input = r#"--- ---"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_1609() { let input = r#"- foo -----"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_1620() { let input = r#" foo ---"#; let output = r#"
foo

"#; run(input, output); } #[test] fn src_line_1630() { let input = r#"> foo -----"#; let output = r#"

foo


"#; run(input, output); } #[test] fn src_line_1644() { let input = r#"\> foo ------"#; let output = r#"

> foo

"#; run(input, output); } #[test] fn src_line_1675() { let input = r#"Foo bar --- baz"#; let output = r#"

Foo

bar

baz

"#; run(input, output); } #[test] fn src_line_1691() { let input = r#"Foo bar --- baz"#; let output = r#"

Foo bar


baz

"#; run(input, output); } #[test] fn src_line_1709() { let input = r#"Foo bar * * * baz"#; let output = r#"

Foo bar


baz

"#; run(input, output); } #[test] fn src_line_1724() { let input = r#"Foo bar \--- baz"#; let output = r#"

Foo bar --- baz

"#; run(input, output); } #[test] fn src_line_1752() { let input = r#" a simple indented code block"#; let output = r#"
a simple
  indented code block
"#; run(input, output); } #[test] fn src_line_1766() { let input = r#" - foo bar"#; let output = r#""#; run(input, output); } #[test] fn src_line_1780() { let input = r#"1. foo - bar"#; let output = r#"
  1. foo

    • bar
"#; run(input, output); } #[test] fn src_line_1800() { let input = r#"
*hi* - one"#; let output = r#"
<a/>
*hi*

- one
"#; run(input, output); } #[test] fn src_line_1816() { let input = " chunk1 chunk2 \x20 \x20 \x20 chunk3"; let output = r#"
chunk1

chunk2



chunk3
"#; run(input, output); } #[test] fn src_line_1839() { let input = " chunk1 \x20 chunk2"; let output = "
chunk1
 \x20
  chunk2
"; run(input, output); } #[test] fn src_line_1854() { let input = r#"Foo bar "#; let output = r#"

Foo bar

"#; run(input, output); } #[test] fn src_line_1868() { let input = r#" foo bar"#; let output = r#"
foo

bar

"#; run(input, output); } #[test] fn src_line_1881() { let input = r#"# Heading foo Heading ------ foo ----"#; let output = r#"

Heading

foo

Heading

foo

"#; run(input, output); } #[test] fn src_line_1901() { let input = r#" foo bar"#; let output = r#"
    foo
bar
"#; run(input, output); } #[test] fn src_line_1914() { let input = " \x20 foo \x20 "; let output = r#"
foo
"#; run(input, output); } #[test] fn src_line_1928() { let input = " foo \x20"; let output = "
foo \x20
"; run(input, output); } #[test] fn src_line_1983() { let input = r#"``` < > ```"#; let output = r#"
<
 >
"#; run(input, output); } #[test] fn src_line_1997() { let input = r#"~~~ < > ~~~"#; let output = r#"
<
 >
"#; run(input, output); } #[test] fn src_line_2010() { let input = r#"`` foo ``"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_2021() { let input = r#"``` aaa ~~~ ```"#; let output = r#"
aaa
~~~
"#; run(input, output); } #[test] fn src_line_2033() { let input = r#"~~~ aaa ``` ~~~"#; let output = r#"
aaa
```
"#; run(input, output); } #[test] fn src_line_2047() { let input = r#"```` aaa ``` ``````"#; let output = r#"
aaa
```
"#; run(input, output); } #[test] fn src_line_2059() { let input = r#"~~~~ aaa ~~~ ~~~~"#; let output = r#"
aaa
~~~
"#; run(input, output); } #[test] fn src_line_2074() { let input = r#"```"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_2081() { let input = r#"````` ``` aaa"#; let output = r#"

```
aaa
"#; run(input, output); } #[test] fn src_line_2094() { let input = r#"> ``` > aaa bbb"#; let output = r#"
aaa

bbb

"#; run(input, output); } #[test] fn src_line_2110() { let input = "``` \x20 ```"; let output = "

 \x20
"; run(input, output); } #[test] fn src_line_2124() { let input = r#"``` ```"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_2136() { let input = r#" ``` aaa aaa ```"#; let output = r#"
aaa
aaa
"#; run(input, output); } #[test] fn src_line_2148() { let input = r#" ``` aaa aaa aaa ```"#; let output = r#"
aaa
aaa
aaa
"#; run(input, output); } #[test] fn src_line_2162() { let input = r#" ``` aaa aaa aaa ```"#; let output = r#"
aaa
 aaa
aaa
"#; run(input, output); } #[test] fn src_line_2178() { let input = r#" ``` aaa ```"#; let output = r#"
```
aaa
```
"#; run(input, output); } #[test] fn src_line_2193() { let input = r#"``` aaa ```"#; let output = r#"
aaa
"#; run(input, output); } #[test] fn src_line_2203() { let input = r#" ``` aaa ```"#; let output = r#"
aaa
"#; run(input, output); } #[test] fn src_line_2215() { let input = r#"``` aaa ```"#; let output = r#"
aaa
    ```
"#; run(input, output); } #[test] fn src_line_2229() { let input = r#"``` ``` aaa"#; let output = r#"

aaa

"#; run(input, output); } #[test] fn src_line_2238() { let input = r#"~~~~~~ aaa ~~~ ~~"#; let output = r#"
aaa
~~~ ~~
"#; run(input, output); } #[test] fn src_line_2252() { let input = r#"foo ``` bar ``` baz"#; let output = r#"

foo

bar

baz

"#; run(input, output); } #[test] fn src_line_2269() { let input = r#"foo --- ~~~ bar ~~~ # baz"#; let output = r#"

foo

bar

baz

"#; run(input, output); } #[test] fn src_line_2291() { let input = r#"```ruby def foo(x) return 3 end ```"#; let output = r#"
def foo(x)
  return 3
end
"#; run(input, output); } #[test] fn src_line_2305() { let input = r#"~~~~ ruby startline=3 $%@#$ def foo(x) return 3 end ~~~~~~~"#; let output = r#"
def foo(x)
  return 3
end
"#; run(input, output); } #[test] fn src_line_2319() { let input = r#"````; ````"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_2329() { let input = r#"``` aa ``` foo"#; let output = r#"

aa foo

"#; run(input, output); } #[test] fn src_line_2340() { let input = r#"~~~ aa ``` ~~~ foo ~~~"#; let output = r#"
foo
"#; run(input, output); } #[test] fn src_line_2352() { let input = r#"``` ``` aaa ```"#; let output = r#"
``` aaa
"#; run(input, output); } #[test] fn src_line_2431() { let input = r#"
**Hello**,

_world_.
"#; let output = r#"
**Hello**,

world.

"#; run(input, output); } #[test] fn src_line_2460() { let input = r#"
hi
okay."#; let output = r#"
hi

okay.

"#; run(input, output); } #[test] fn src_line_2482() { let input = r#"
*hello* "#; let output = r#"
*hello* "#; run(input, output); } #[test] fn src_line_2495() { let input = r#"
*foo*"#; let output = r#"
*foo*"#; run(input, output); } #[test] fn src_line_2506() { let input = r#"
*Markdown*
"#; let output = r#"

Markdown

"#; run(input, output); } #[test] fn src_line_2522() { let input = r#"
"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_2533() { let input = r#"
"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_2545() { let input = r#"
*foo* *bar*"#; let output = r#"
*foo*

bar

"#; run(input, output); } #[test] fn src_line_2561() { let input = r#"
"#; let output = r#"
*foo*
"#; run(input, output); } #[test] fn src_line_2601() { let input = r#"
foo
"#; let output = r#"
foo
"#; run(input, output); } #[test] fn src_line_2618() { let input = r#"
``` c int x = 33; ```"#; let output = r#"
``` c int x = 33; ```"#; run(input, output); } #[test] fn src_line_2635() { let input = r#" *bar* "#; let output = r#" *bar* "#; run(input, output); } #[test] fn src_line_2648() { let input = r#" *bar* "#; let output = r#" *bar* "#; run(input, output); } #[test] fn src_line_2659() { let input = r#" *bar* "#; let output = r#" *bar* "#; run(input, output); } #[test] fn src_line_2670() { let input = r#" *bar*"#; let output = r#" *bar*"#; run(input, output); } #[test] fn src_line_2685() { let input = r#" *foo* "#; let output = r#" *foo* "#; run(input, output); } #[test] fn src_line_2700() { let input = r#" *foo* "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_2718() { let input = r#"*foo*"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_2734() { let input = r#"

import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags
okay"#; let output = r#"

import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags

okay

"#; run(input, output); } #[test] fn src_line_2755() { let input = r#" okay"#; let output = r#"

okay

"#; run(input, output); } #[test] fn src_line_2774() { let input = r#""#; let output = r#""#; run(input, output); } #[test] fn src_line_2794() { let input = r#" okay"#; let output = r#"

okay

"#; run(input, output); } #[test] fn src_line_2817() { let input = r#" *foo*"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_2868() { let input = r#"*bar* *baz*"#; let output = r#"*bar*

baz

"#; run(input, output); } #[test] fn src_line_2880() { let input = r#"1. *bar*"#; let output = r#"1. *bar*"#; run(input, output); } #[test] fn src_line_2893() { let input = r#" okay"#; let output = r#"

okay

"#; run(input, output); } #[test] fn src_line_2911() { let input = r#"'; ?> okay"#; let output = r#"'; ?>

okay

"#; run(input, output); } #[test] fn src_line_2930() { let input = r#""#; let output = r#""#; run(input, output); } #[test] fn src_line_2939() { let input = r#" okay"#; let output = r#"

okay

"#; run(input, output); } #[test] fn src_line_2973() { let input = r#" "#; let output = r#"
<!-- foo -->
"#; run(input, output); } #[test] fn src_line_2984() { let input = r#"
"#; let output = r#"
<div>
"#; run(input, output); } #[test] fn src_line_2998() { let input = r#"Foo
bar
"#; let output = r#"

Foo

bar
"#; run(input, output); } #[test] fn src_line_3015() { let input = r#"
bar
*foo*"#; let output = r#"
bar
*foo*"#; run(input, output); } #[test] fn src_line_3030() { let input = r#"Foo baz"#; let output = r#"

Foo baz

"#; run(input, output); } #[test] fn src_line_3071() { let input = r#"
*Emphasized* text.
"#; let output = r#"

Emphasized text.

"#; run(input, output); } #[test] fn src_line_3084() { let input = r#"
*Emphasized* text.
"#; let output = r#"
*Emphasized* text.
"#; run(input, output); } #[test] fn src_line_3106() { let input = r#"
Hi
"#; let output = r#"
Hi
"#; run(input, output); } #[test] fn src_line_3133() { let input = r#"
Hi
"#; let output = r#"
<td>
  Hi
</td>
"#; run(input, output); } #[test] fn src_line_3182() { let input = r#"[foo]: /url "title" [foo]"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3191() { let input = " [foo]:\x20 /url \x20 'the title' \x20 [foo]"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3202() { let input = r#"[Foo*bar\]]:my_(url) 'title (with parens)' [Foo*bar\]]"#; let output = r#"

Foo*bar]

"#; run(input, output); } #[test] fn src_line_3211() { let input = r#"[Foo bar]: 'title' [Foo bar]"#; let output = r#"

Foo bar

"#; run(input, output); } #[test] fn src_line_3224() { let input = r#"[foo]: /url ' title line1 line2 ' [foo]"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3243() { let input = r#"[foo]: /url 'title with blank line' [foo]"#; let output = r#"

[foo]: /url 'title

with blank line'

[foo]

"#; run(input, output); } #[test] fn src_line_3258() { let input = r#"[foo]: /url [foo]"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3270() { let input = r#"[foo]: [foo]"#; let output = r#"

[foo]:

[foo]

"#; run(input, output); } #[test] fn src_line_3282() { let input = r#"[foo]: <> [foo]"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3293() { let input = r#"[foo]: (baz) [foo]"#; let output = r#"

[foo]: (baz)

[foo]

"#; run(input, output); } #[test] fn src_line_3306() { let input = r#"[foo]: /url\bar\*baz "foo\"bar\baz" [foo]"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3317() { let input = r#"[foo] [foo]: url"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3329() { let input = r#"[foo] [foo]: first [foo]: second"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3342() { let input = r#"[FOO]: /url [Foo]"#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_3351() { let input = r#"[ΑΓΩ]: /φου [αγω]"#; let output = r#"

αγω

"#; run(input, output); } #[test] fn src_line_3366() { let input = r#"[foo]: /url"#; let output = r#""#; run(input, output); } #[test] fn src_line_3374() { let input = r#"[ foo ]: /url bar"#; let output = r#"

bar

"#; run(input, output); } #[test] fn src_line_3387() { let input = r#"[foo]: /url "title" ok"#; let output = r#"

[foo]: /url "title" ok

"#; run(input, output); } #[test] fn src_line_3396() { let input = r#"[foo]: /url "title" ok"#; let output = r#"

"title" ok

"#; run(input, output); } #[test] fn src_line_3407() { let input = r#" [foo]: /url "title" [foo]"#; let output = r#"
[foo]: /url "title"

[foo]

"#; run(input, output); } #[test] fn src_line_3421() { let input = r#"``` [foo]: /url ``` [foo]"#; let output = r#"
[foo]: /url

[foo]

"#; run(input, output); } #[test] fn src_line_3436() { let input = r#"Foo [bar]: /baz [bar]"#; let output = r#"

Foo [bar]: /baz

[bar]

"#; run(input, output); } #[test] fn src_line_3451() { let input = r#"# [Foo] [foo]: /url > bar"#; let output = r#"

Foo

bar

"#; run(input, output); } #[test] fn src_line_3462() { let input = r#"[foo]: /url bar === [foo]"#; let output = r#"

bar

foo

"#; run(input, output); } #[test] fn src_line_3472() { let input = r#"[foo]: /url === [foo]"#; let output = r#"

=== foo

"#; run(input, output); } #[test] fn src_line_3485() { let input = r#"[foo]: /foo-url "foo" [bar]: /bar-url "bar" [baz]: /baz-url [foo], [bar], [baz]"#; let output = r#"

foo, bar, baz

"#; run(input, output); } #[test] fn src_line_3506() { let input = r#"[foo] > [foo]: /url"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3528() { let input = r#"aaa bbb"#; let output = r#"

aaa

bbb

"#; run(input, output); } #[test] fn src_line_3540() { let input = r#"aaa bbb ccc ddd"#; let output = r#"

aaa bbb

ccc ddd

"#; run(input, output); } #[test] fn src_line_3556() { let input = r#"aaa bbb"#; let output = r#"

aaa

bbb

"#; run(input, output); } #[test] fn src_line_3569() { let input = r#" aaa bbb"#; let output = r#"

aaa bbb

"#; run(input, output); } #[test] fn src_line_3581() { let input = r#"aaa bbb ccc"#; let output = r#"

aaa bbb ccc

"#; run(input, output); } #[test] fn src_line_3595() { let input = r#" aaa bbb"#; let output = r#"

aaa bbb

"#; run(input, output); } #[test] fn src_line_3604() { let input = r#" aaa bbb"#; let output = r#"
aaa

bbb

"#; run(input, output); } #[test] fn src_line_3618() { let input = "aaa \x20 bbb \x20"; let output = r#"

aaa
bbb

"#; run(input, output); } #[test] fn src_line_3635() { let input = " \x20 aaa \x20 # aaa \x20"; let output = r#"

aaa

aaa

"#; run(input, output); } #[test] fn src_line_3703() { let input = r#"> # Foo > bar > baz"#; let output = r#"

Foo

bar baz

"#; run(input, output); } #[test] fn src_line_3718() { let input = r#"># Foo >bar > baz"#; let output = r#"

Foo

bar baz

"#; run(input, output); } #[test] fn src_line_3733() { let input = r#" > # Foo > bar > baz"#; let output = r#"

Foo

bar baz

"#; run(input, output); } #[test] fn src_line_3748() { let input = r#" > # Foo > bar > baz"#; let output = r#"
> # Foo
> bar
> baz
"#; run(input, output); } #[test] fn src_line_3763() { let input = r#"> # Foo > bar baz"#; let output = r#"

Foo

bar baz

"#; run(input, output); } #[test] fn src_line_3779() { let input = r#"> bar baz > foo"#; let output = r#"

bar baz foo

"#; run(input, output); } #[test] fn src_line_3803() { let input = r#"> foo ---"#; let output = r#"

foo


"#; run(input, output); } #[test] fn src_line_3823() { let input = r#"> - foo - bar"#; let output = r#"
  • foo
  • bar
"#; run(input, output); } #[test] fn src_line_3841() { let input = r#"> foo bar"#; let output = r#"
foo
bar
"#; run(input, output); } #[test] fn src_line_3854() { let input = r#"> ``` foo ```"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3870() { let input = r#"> foo - bar"#; let output = r#"

foo - bar

"#; run(input, output); } #[test] fn src_line_3894() { let input = r#">"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_3902() { let input = "> > \x20 >\x20"; let output = r#"
"#; run(input, output); } #[test] fn src_line_3914() { let input = "> > foo > \x20"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_3927() { let input = r#"> foo > bar"#; let output = r#"

foo

bar

"#; run(input, output); } #[test] fn src_line_3949() { let input = r#"> foo > bar"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_3962() { let input = r#"> foo > > bar"#; let output = r#"

foo

bar

"#; run(input, output); } #[test] fn src_line_3976() { let input = r#"foo > bar"#; let output = r#"

foo

bar

"#; run(input, output); } #[test] fn src_line_3990() { let input = r#"> aaa *** > bbb"#; let output = r#"

aaa


bbb

"#; run(input, output); } #[test] fn src_line_4008() { let input = r#"> bar baz"#; let output = r#"

bar baz

"#; run(input, output); } #[test] fn src_line_4019() { let input = r#"> bar baz"#; let output = r#"

bar

baz

"#; run(input, output); } #[test] fn src_line_4031() { let input = r#"> bar > baz"#; let output = r#"

bar

baz

"#; run(input, output); } #[test] fn src_line_4047() { let input = r#"> > > foo bar"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_4062() { let input = r#">>> foo > bar >>baz"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_4084() { let input = r#"> code > not code"#; let output = r#"
code

not code

"#; run(input, output); } #[test] fn src_line_4138() { let input = r#"A paragraph with two lines. indented code > A block quote."#; let output = r#"

A paragraph with two lines.

indented code

A block quote.

"#; run(input, output); } #[test] fn src_line_4160() { let input = r#"1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
  1. A paragraph with two lines.

    indented code
    

    A block quote.

"#; run(input, output); } #[test] fn src_line_4193() { let input = r#"- one two"#; let output = r#"
  • one

two

"#; run(input, output); } #[test] fn src_line_4205() { let input = r#"- one two"#; let output = r#"
  • one

    two

"#; run(input, output); } #[test] fn src_line_4219() { let input = r#" - one two"#; let output = r#"
  • one
 two
"#; run(input, output); } #[test] fn src_line_4232() { let input = r#" - one two"#; let output = r#"
  • one

    two

"#; run(input, output); } #[test] fn src_line_4254() { let input = r#" > > 1. one >> >> two"#; let output = r#"
  1. one

    two

"#; run(input, output); } #[test] fn src_line_4281() { let input = r#">>- one >> > > two"#; let output = r#"
  • one

two

"#; run(input, output); } #[test] fn src_line_4300() { let input = r#"-one 2.two"#; let output = r#"

-one

2.two

"#; run(input, output); } #[test] fn src_line_4313() { let input = r#"- foo bar"#; let output = r#"
  • foo

    bar

"#; run(input, output); } #[test] fn src_line_4330() { let input = r#"1. foo ``` bar ``` baz > bam"#; let output = r#"
  1. foo

    bar
    

    baz

    bam

"#; run(input, output); } #[test] fn src_line_4358() { let input = r#"- Foo bar baz"#; let output = r#"
  • Foo

    bar
    
    
    baz
    
"#; run(input, output); } #[test] fn src_line_4380() { let input = r#"123456789. ok"#; let output = r#"
  1. ok
"#; run(input, output); } #[test] fn src_line_4389() { let input = r#"1234567890. not ok"#; let output = r#"

1234567890. not ok

"#; run(input, output); } #[test] fn src_line_4398() { let input = r#"0. ok"#; let output = r#"
  1. ok
"#; run(input, output); } #[test] fn src_line_4407() { let input = r#"003. ok"#; let output = r#"
  1. ok
"#; run(input, output); } #[test] fn src_line_4418() { let input = r#"-1. not ok"#; let output = r#"

-1. not ok

"#; run(input, output); } #[test] fn src_line_4441() { let input = r#"- foo bar"#; let output = r#"
  • foo

    bar
    
"#; run(input, output); } #[test] fn src_line_4458() { let input = r#" 10. foo bar"#; let output = r#"
  1. foo

    bar
    
"#; run(input, output); } #[test] fn src_line_4477() { let input = r#" indented code paragraph more code"#; let output = r#"
indented code

paragraph

more code
"#; run(input, output); } #[test] fn src_line_4492() { let input = r#"1. indented code paragraph more code"#; let output = r#"
  1. indented code
    

    paragraph

    more code
    
"#; run(input, output); } #[test] fn src_line_4514() { let input = r#"1. indented code paragraph more code"#; let output = r#"
  1.  indented code
    

    paragraph

    more code
    
"#; run(input, output); } #[test] fn src_line_4541() { let input = r#" foo bar"#; let output = r#"

foo

bar

"#; run(input, output); } #[test] fn src_line_4551() { let input = r#"- foo bar"#; let output = r#"
  • foo

bar

"#; run(input, output); } #[test] fn src_line_4568() { let input = r#"- foo bar"#; let output = r#"
  • foo

    bar

"#; run(input, output); } #[test] fn src_line_4595() { let input = r#"- foo - ``` bar ``` - baz"#; let output = r#"
  • foo
  • bar
    
  • baz
    
"#; run(input, output); } #[test] fn src_line_4621() { let input = "- \x20 foo"; let output = r#"
  • foo
"#; run(input, output); } #[test] fn src_line_4635() { let input = r#"- foo"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_4649() { let input = r#"- foo - - bar"#; let output = r#"
  • foo
  • bar
"#; run(input, output); } #[test] fn src_line_4664() { let input = "- foo - \x20 - bar"; let output = r#"
  • foo
  • bar
"#; run(input, output); } #[test] fn src_line_4679() { let input = r#"1. foo 2. 3. bar"#; let output = r#"
  1. foo
  2. bar
"#; run(input, output); } #[test] fn src_line_4694() { let input = r#"*"#; let output = r#"
"#; run(input, output); } #[test] fn src_line_4704() { let input = r#"foo * foo 1."#; let output = r#"

foo *

foo 1.

"#; run(input, output); } #[test] fn src_line_4726() { let input = r#" 1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
  1. A paragraph with two lines.

    indented code
    

    A block quote.

"#; run(input, output); } #[test] fn src_line_4750() { let input = r#" 1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
  1. A paragraph with two lines.

    indented code
    

    A block quote.

"#; run(input, output); } #[test] fn src_line_4774() { let input = r#" 1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
  1. A paragraph with two lines.

    indented code
    

    A block quote.

"#; run(input, output); } #[test] fn src_line_4798() { let input = r#" 1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
1.  A paragraph
    with two lines.

        indented code

    > A block quote.
"#; run(input, output); } #[test] fn src_line_4828() { let input = r#" 1. A paragraph with two lines. indented code > A block quote."#; let output = r#"
  1. A paragraph with two lines.

    indented code
    

    A block quote.

"#; run(input, output); } #[test] fn src_line_4852() { let input = r#" 1. A paragraph with two lines."#; let output = r#"
  1. A paragraph with two lines.
"#; run(input, output); } #[test] fn src_line_4865() { let input = r#"> 1. > Blockquote continued here."#; let output = r#"
  1. Blockquote continued here.

"#; run(input, output); } #[test] fn src_line_4882() { let input = r#"> 1. > Blockquote > continued here."#; let output = r#"
  1. Blockquote continued here.

"#; run(input, output); } #[test] fn src_line_4910() { let input = r#"- foo - bar - baz - boo"#; let output = r#"
  • foo
    • bar
      • baz
        • boo
"#; run(input, output); } #[test] fn src_line_4936() { let input = r#"- foo - bar - baz - boo"#; let output = r#"
  • foo
  • bar
  • baz
  • boo
"#; run(input, output); } #[test] fn src_line_4953() { let input = r#"10) foo - bar"#; let output = r#"
  1. foo
    • bar
"#; run(input, output); } #[test] fn src_line_4969() { let input = r#"10) foo - bar"#; let output = r#"
  1. foo
  • bar
"#; run(input, output); } #[test] fn src_line_4984() { let input = r#"- - foo"#; let output = r#"
    • foo
"#; run(input, output); } #[test] fn src_line_4997() { let input = r#"1. - 2. foo"#; let output = r#"
      1. foo
"#; run(input, output); } #[test] fn src_line_5016() { let input = r#"- # Foo - Bar --- baz"#; let output = r#"
  • Foo

  • Bar

    baz
"#; run(input, output); } #[test] fn src_line_5252() { let input = r#"- foo - bar + baz"#; let output = r#"
  • foo
  • bar
  • baz
"#; run(input, output); } #[test] fn src_line_5267() { let input = r#"1. foo 2. bar 3) baz"#; let output = r#"
  1. foo
  2. bar
  1. baz
"#; run(input, output); } #[test] fn src_line_5286() { let input = r#"Foo - bar - baz"#; let output = r#"

Foo

  • bar
  • baz
"#; run(input, output); } #[test] fn src_line_5363() { let input = r#"The number of windows in my house is 14. The number of doors is 6."#; let output = r#"

The number of windows in my house is 14. The number of doors is 6.

"#; run(input, output); } #[test] fn src_line_5373() { let input = r#"The number of windows in my house is 1. The number of doors is 6."#; let output = r#"

The number of windows in my house is

  1. The number of doors is 6.
"#; run(input, output); } #[test] fn src_line_5387() { let input = r#"- foo - bar - baz"#; let output = r#"
  • foo

  • bar

  • baz

"#; run(input, output); } #[test] fn src_line_5408() { let input = r#"- foo - bar - baz bim"#; let output = r#"
  • foo
    • bar
      • baz

        bim

"#; run(input, output); } #[test] fn src_line_5438() { let input = r#"- foo - bar - baz - bim"#; let output = r#"
  • foo
  • bar
  • baz
  • bim
"#; run(input, output); } #[test] fn src_line_5459() { let input = r#"- foo notcode - foo code"#; let output = r#"
  • foo

    notcode

  • foo

code
"#; run(input, output); } #[test] fn src_line_5490() { let input = r#"- a - b - c - d - e - f - g"#; let output = r#"
  • a
  • b
  • c
  • d
  • e
  • f
  • g
"#; run(input, output); } #[test] fn src_line_5511() { let input = r#"1. a 2. b 3. c"#; let output = r#"
  1. a

  2. b

  3. c

"#; run(input, output); } #[test] fn src_line_5535() { let input = r#"- a - b - c - d - e"#; let output = r#"
  • a
  • b
  • c
  • d - e
"#; run(input, output); } #[test] fn src_line_5555() { let input = r#"1. a 2. b 3. c"#; let output = r#"
  1. a

  2. b

3. c
"#; run(input, output); } #[test] fn src_line_5578() { let input = r#"- a - b - c"#; let output = r#"
  • a

  • b

  • c

"#; run(input, output); } #[test] fn src_line_5600() { let input = r#"* a * * c"#; let output = r#"
  • a

  • c

"#; run(input, output); } #[test] fn src_line_5622() { let input = r#"- a - b c - d"#; let output = r#"
  • a

  • b

    c

  • d

"#; run(input, output); } #[test] fn src_line_5644() { let input = r#"- a - b [ref]: /url - d"#; let output = r#"
  • a

  • b

  • d

"#; run(input, output); } #[test] fn src_line_5667() { let input = r#"- a - ``` b ``` - c"#; let output = r#"
  • a
  • b
    
    
    
  • c
"#; run(input, output); } #[test] fn src_line_5693() { let input = r#"- a - b c - d"#; let output = r#"
  • a
    • b

      c

  • d
"#; run(input, output); } #[test] fn src_line_5717() { let input = r#"* a > b > * c"#; let output = r#"
  • a

    b

  • c
"#; run(input, output); } #[test] fn src_line_5737() { let input = r#"- a > b ``` c ``` - d"#; let output = r#"
  • a

    b

    c
    
  • d
"#; run(input, output); } #[test] fn src_line_5760() { let input = r#"- a"#; let output = r#"
  • a
"#; run(input, output); } #[test] fn src_line_5769() { let input = r#"- a - b"#; let output = r#"
  • a
    • b
"#; run(input, output); } #[test] fn src_line_5786() { let input = r#"1. ``` foo ``` bar"#; let output = r#"
  1. foo
    

    bar

"#; run(input, output); } #[test] fn src_line_5805() { let input = r#"* foo * bar baz"#; let output = r#"
  • foo

    • bar

    baz

"#; run(input, output); } #[test] fn src_line_5823() { let input = r#"- a - b - c - d - e - f"#; let output = r#"
  • a

    • b
    • c
  • d

    • e
    • f
"#; run(input, output); } #[test] fn src_line_5857() { let input = r#"`hi`lo`"#; let output = r#"

hilo`

"#; run(input, output); } #[test] fn src_line_5889() { let input = r#"`foo`"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_5900() { let input = r#"`` foo ` bar ``"#; let output = r#"

foo ` bar

"#; run(input, output); } #[test] fn src_line_5910() { let input = r#"` `` `"#; let output = r#"

``

"#; run(input, output); } #[test] fn src_line_5918() { let input = r#"` `` `"#; let output = r#"

``

"#; run(input, output); } #[test] fn src_line_5927() { let input = r#"` a`"#; let output = r#"

a

"#; run(input, output); } #[test] fn src_line_5936() { let input = r#"` b `"#; let output = r#"

 b 

"#; run(input, output); } #[test] fn src_line_5944() { let input = r#"` ` ` `"#; let output = r#"

 

"#; run(input, output); } #[test] fn src_line_5955() { let input = "`` foo bar \x20 baz ``"; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_5965() { let input = "`` foo\x20 ``"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_5976() { let input = "`foo bar\x20 baz`"; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_5993() { let input = r#"`foo\`bar`"#; let output = r#"

foo\bar`

"#; run(input, output); } #[test] fn src_line_6004() { let input = r#"``foo`bar``"#; let output = r#"

foo`bar

"#; run(input, output); } #[test] fn src_line_6010() { let input = r#"` foo `` bar `"#; let output = r#"

foo `` bar

"#; run(input, output); } #[test] fn src_line_6022() { let input = r#"*foo`*`"#; let output = r#"

*foo*

"#; run(input, output); } #[test] fn src_line_6031() { let input = r#"[not a `link](/foo`)"#; let output = r#"

[not a link](/foo)

"#; run(input, output); } #[test] fn src_line_6041() { let input = r#"``"#; let output = r#"

<a href="">`

"#; run(input, output); } #[test] fn src_line_6050() { let input = r#"
`"#; let output = r#"

`

"#; run(input, output); } #[test] fn src_line_6059() { let input = r#"``"#; let output = r#"

<http://foo.bar.baz>`

"#; run(input, output); } #[test] fn src_line_6068() { let input = r#"`"#; let output = r#"

http://foo.bar.`baz`

"#; run(input, output); } #[test] fn src_line_6078() { let input = r#"```foo``"#; let output = r#"

```foo``

"#; run(input, output); } #[test] fn src_line_6085() { let input = r#"`foo"#; let output = r#"

`foo

"#; run(input, output); } #[test] fn src_line_6094() { let input = r#"`foo``bar``"#; let output = r#"

`foobar

"#; run(input, output); } #[test] fn src_line_6311() { let input = r#"*foo bar*"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6321() { let input = r#"a * foo bar*"#; let output = r#"

a * foo bar*

"#; run(input, output); } #[test] fn src_line_6332() { let input = r#"a*"foo"*"#; let output = r#"

a*"foo"*

"#; run(input, output); } #[test] fn src_line_6341() { let input = r#"* a *"#; let output = r#"

* a *

"#; run(input, output); } #[test] fn src_line_6350() { let input = r#"foo*bar*"#; let output = r#"

foobar

"#; run(input, output); } #[test] fn src_line_6357() { let input = r#"5*6*78"#; let output = r#"

5678

"#; run(input, output); } #[test] fn src_line_6366() { let input = r#"_foo bar_"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6376() { let input = r#"_ foo bar_"#; let output = r#"

_ foo bar_

"#; run(input, output); } #[test] fn src_line_6386() { let input = r#"a_"foo"_"#; let output = r#"

a_"foo"_

"#; run(input, output); } #[test] fn src_line_6395() { let input = r#"foo_bar_"#; let output = r#"

foo_bar_

"#; run(input, output); } #[test] fn src_line_6402() { let input = r#"5_6_78"#; let output = r#"

5_6_78

"#; run(input, output); } #[test] fn src_line_6409() { let input = r#"пристаням_стремятся_"#; let output = r#"

пристаням_стремятся_

"#; run(input, output); } #[test] fn src_line_6419() { let input = r#"aa_"bb"_cc"#; let output = r#"

aa_"bb"_cc

"#; run(input, output); } #[test] fn src_line_6430() { let input = r#"foo-_(bar)_"#; let output = r#"

foo-(bar)

"#; run(input, output); } #[test] fn src_line_6442() { let input = r#"_foo*"#; let output = r#"

_foo*

"#; run(input, output); } #[test] fn src_line_6452() { let input = r#"*foo bar *"#; let output = r#"

*foo bar *

"#; run(input, output); } #[test] fn src_line_6461() { let input = r#"*foo bar *"#; let output = r#"

*foo bar *

"#; run(input, output); } #[test] fn src_line_6474() { let input = r#"*(*foo)"#; let output = r#"

*(*foo)

"#; run(input, output); } #[test] fn src_line_6484() { let input = r#"*(*foo*)*"#; let output = r#"

(foo)

"#; run(input, output); } #[test] fn src_line_6493() { let input = r#"*foo*bar"#; let output = r#"

foobar

"#; run(input, output); } #[test] fn src_line_6506() { let input = r#"_foo bar _"#; let output = r#"

_foo bar _

"#; run(input, output); } #[test] fn src_line_6516() { let input = r#"_(_foo)"#; let output = r#"

_(_foo)

"#; run(input, output); } #[test] fn src_line_6525() { let input = r#"_(_foo_)_"#; let output = r#"

(foo)

"#; run(input, output); } #[test] fn src_line_6534() { let input = r#"_foo_bar"#; let output = r#"

_foo_bar

"#; run(input, output); } #[test] fn src_line_6541() { let input = r#"_пристаням_стремятся"#; let output = r#"

_пристаням_стремятся

"#; run(input, output); } #[test] fn src_line_6548() { let input = r#"_foo_bar_baz_"#; let output = r#"

foo_bar_baz

"#; run(input, output); } #[test] fn src_line_6559() { let input = r#"_(bar)_."#; let output = r#"

(bar).

"#; run(input, output); } #[test] fn src_line_6568() { let input = r#"**foo bar**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6578() { let input = r#"** foo bar**"#; let output = r#"

** foo bar**

"#; run(input, output); } #[test] fn src_line_6589() { let input = r#"a**"foo"**"#; let output = r#"

a**"foo"**

"#; run(input, output); } #[test] fn src_line_6598() { let input = r#"foo**bar**"#; let output = r#"

foobar

"#; run(input, output); } #[test] fn src_line_6607() { let input = r#"__foo bar__"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6617() { let input = r#"__ foo bar__"#; let output = r#"

__ foo bar__

"#; run(input, output); } #[test] fn src_line_6625() { let input = r#"__ foo bar__"#; let output = r#"

__ foo bar__

"#; run(input, output); } #[test] fn src_line_6637() { let input = r#"a__"foo"__"#; let output = r#"

a__"foo"__

"#; run(input, output); } #[test] fn src_line_6646() { let input = r#"foo__bar__"#; let output = r#"

foo__bar__

"#; run(input, output); } #[test] fn src_line_6653() { let input = r#"5__6__78"#; let output = r#"

5__6__78

"#; run(input, output); } #[test] fn src_line_6660() { let input = r#"пристаням__стремятся__"#; let output = r#"

пристаням__стремятся__

"#; run(input, output); } #[test] fn src_line_6667() { let input = r#"__foo, __bar__, baz__"#; let output = r#"

foo, bar, baz

"#; run(input, output); } #[test] fn src_line_6678() { let input = r#"foo-__(bar)__"#; let output = r#"

foo-(bar)

"#; run(input, output); } #[test] fn src_line_6691() { let input = r#"**foo bar **"#; let output = r#"

**foo bar **

"#; run(input, output); } #[test] fn src_line_6704() { let input = r#"**(**foo)"#; let output = r#"

**(**foo)

"#; run(input, output); } #[test] fn src_line_6714() { let input = r#"*(**foo**)*"#; let output = r#"

(foo)

"#; run(input, output); } #[test] fn src_line_6721() { let input = r#"**Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias physocarpa*)**"#; let output = r#"

Gomphocarpus (Gomphocarpus physocarpus, syn. Asclepias physocarpa)

"#; run(input, output); } #[test] fn src_line_6730() { let input = r#"**foo "*bar*" foo**"#; let output = r#"

foo "bar" foo

"#; run(input, output); } #[test] fn src_line_6739() { let input = r#"**foo**bar"#; let output = r#"

foobar

"#; run(input, output); } #[test] fn src_line_6751() { let input = r#"__foo bar __"#; let output = r#"

__foo bar __

"#; run(input, output); } #[test] fn src_line_6761() { let input = r#"__(__foo)"#; let output = r#"

__(__foo)

"#; run(input, output); } #[test] fn src_line_6771() { let input = r#"_(__foo__)_"#; let output = r#"

(foo)

"#; run(input, output); } #[test] fn src_line_6780() { let input = r#"__foo__bar"#; let output = r#"

__foo__bar

"#; run(input, output); } #[test] fn src_line_6787() { let input = r#"__пристаням__стремятся"#; let output = r#"

__пристаням__стремятся

"#; run(input, output); } #[test] fn src_line_6794() { let input = r#"__foo__bar__baz__"#; let output = r#"

foo__bar__baz

"#; run(input, output); } #[test] fn src_line_6805() { let input = r#"__(bar)__."#; let output = r#"

(bar).

"#; run(input, output); } #[test] fn src_line_6817() { let input = r#"*foo [bar](/url)*"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6824() { let input = r#"*foo bar*"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6836() { let input = r#"_foo __bar__ baz_"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_6843() { let input = r#"_foo _bar_ baz_"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_6850() { let input = r#"__foo_ bar_"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6857() { let input = r#"*foo *bar**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6864() { let input = r#"*foo **bar** baz*"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_6870() { let input = r#"*foo**bar**baz*"#; let output = r#"

foobarbaz

"#; run(input, output); } #[test] fn src_line_6894() { let input = r#"*foo**bar*"#; let output = r#"

foo**bar

"#; run(input, output); } #[test] fn src_line_6907() { let input = r#"***foo** bar*"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6914() { let input = r#"*foo **bar***"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6921() { let input = r#"*foo**bar***"#; let output = r#"

foobar

"#; run(input, output); } #[test] fn src_line_6932() { let input = r#"foo***bar***baz"#; let output = r#"

foobarbaz

"#; run(input, output); } #[test] fn src_line_6938() { let input = r#"foo******bar*********baz"#; let output = r#"

foobar***baz

"#; run(input, output); } #[test] fn src_line_6947() { let input = r#"*foo **bar *baz* bim** bop*"#; let output = r#"

foo bar baz bim bop

"#; run(input, output); } #[test] fn src_line_6954() { let input = r#"*foo [*bar*](/url)*"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6963() { let input = r#"** is not an empty emphasis"#; let output = r#"

** is not an empty emphasis

"#; run(input, output); } #[test] fn src_line_6970() { let input = r#"**** is not an empty strong emphasis"#; let output = r#"

**** is not an empty strong emphasis

"#; run(input, output); } #[test] fn src_line_6983() { let input = r#"**foo [bar](/url)**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_6990() { let input = r#"**foo bar**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7002() { let input = r#"__foo _bar_ baz__"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_7009() { let input = r#"__foo __bar__ baz__"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_7016() { let input = r#"____foo__ bar__"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7023() { let input = r#"**foo **bar****"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7030() { let input = r#"**foo *bar* baz**"#; let output = r#"

foo bar baz

"#; run(input, output); } #[test] fn src_line_7037() { let input = r#"**foo*bar*baz**"#; let output = r#"

foobarbaz

"#; run(input, output); } #[test] fn src_line_7044() { let input = r#"***foo* bar**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7051() { let input = r#"**foo *bar***"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7060() { let input = r#"**foo *bar **baz** bim* bop**"#; let output = r#"

foo bar baz bim bop

"#; run(input, output); } #[test] fn src_line_7069() { let input = r#"**foo [*bar*](/url)**"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_7078() { let input = r#"__ is not an empty emphasis"#; let output = r#"

__ is not an empty emphasis

"#; run(input, output); } #[test] fn src_line_7085() { let input = r#"____ is not an empty strong emphasis"#; let output = r#"

____ is not an empty strong emphasis

"#; run(input, output); } #[test] fn src_line_7095() { let input = r#"foo ***"#; let output = r#"

foo ***

"#; run(input, output); } #[test] fn src_line_7102() { let input = r#"foo *\**"#; let output = r#"

foo *

"#; run(input, output); } #[test] fn src_line_7109() { let input = r#"foo *_*"#; let output = r#"

foo _

"#; run(input, output); } #[test] fn src_line_7116() { let input = r#"foo *****"#; let output = r#"

foo *****

"#; run(input, output); } #[test] fn src_line_7123() { let input = r#"foo **\***"#; let output = r#"

foo *

"#; run(input, output); } #[test] fn src_line_7130() { let input = r#"foo **_**"#; let output = r#"

foo _

"#; run(input, output); } #[test] fn src_line_7141() { let input = r#"**foo*"#; let output = r#"

*foo

"#; run(input, output); } #[test] fn src_line_7148() { let input = r#"*foo**"#; let output = r#"

foo*

"#; run(input, output); } #[test] fn src_line_7155() { let input = r#"***foo**"#; let output = r#"

*foo

"#; run(input, output); } #[test] fn src_line_7162() { let input = r#"****foo*"#; let output = r#"

***foo

"#; run(input, output); } #[test] fn src_line_7169() { let input = r#"**foo***"#; let output = r#"

foo*

"#; run(input, output); } #[test] fn src_line_7176() { let input = r#"*foo****"#; let output = r#"

foo***

"#; run(input, output); } #[test] fn src_line_7186() { let input = r#"foo ___"#; let output = r#"

foo ___

"#; run(input, output); } #[test] fn src_line_7193() { let input = r#"foo _\__"#; let output = r#"

foo _

"#; run(input, output); } #[test] fn src_line_7200() { let input = r#"foo _*_"#; let output = r#"

foo *

"#; run(input, output); } #[test] fn src_line_7207() { let input = r#"foo _____"#; let output = r#"

foo _____

"#; run(input, output); } #[test] fn src_line_7214() { let input = r#"foo __\___"#; let output = r#"

foo _

"#; run(input, output); } #[test] fn src_line_7221() { let input = r#"foo __*__"#; let output = r#"

foo *

"#; run(input, output); } #[test] fn src_line_7228() { let input = r#"__foo_"#; let output = r#"

_foo

"#; run(input, output); } #[test] fn src_line_7239() { let input = r#"_foo__"#; let output = r#"

foo_

"#; run(input, output); } #[test] fn src_line_7246() { let input = r#"___foo__"#; let output = r#"

_foo

"#; run(input, output); } #[test] fn src_line_7253() { let input = r#"____foo_"#; let output = r#"

___foo

"#; run(input, output); } #[test] fn src_line_7260() { let input = r#"__foo___"#; let output = r#"

foo_

"#; run(input, output); } #[test] fn src_line_7267() { let input = r#"_foo____"#; let output = r#"

foo___

"#; run(input, output); } #[test] fn src_line_7277() { let input = r#"**foo**"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7284() { let input = r#"*_foo_*"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7291() { let input = r#"__foo__"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7298() { let input = r#"_*foo*_"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7308() { let input = r#"****foo****"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7315() { let input = r#"____foo____"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7326() { let input = r#"******foo******"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7335() { let input = r#"***foo***"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7342() { let input = r#"_____foo_____"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7351() { let input = r#"*foo _bar* baz_"#; let output = r#"

foo _bar baz_

"#; run(input, output); } #[test] fn src_line_7358() { let input = r#"*foo __bar *baz bim__ bam*"#; let output = r#"

foo bar *baz bim bam

"#; run(input, output); } #[test] fn src_line_7367() { let input = r#"**foo **bar baz**"#; let output = r#"

**foo bar baz

"#; run(input, output); } #[test] fn src_line_7374() { let input = r#"*foo *bar baz*"#; let output = r#"

*foo bar baz

"#; run(input, output); } #[test] fn src_line_7383() { let input = r#"*[bar*](/url)"#; let output = r#"

*bar*

"#; run(input, output); } #[test] fn src_line_7390() { let input = r#"_foo [bar_](/url)"#; let output = r#"

_foo bar_

"#; run(input, output); } #[test] fn src_line_7397() { let input = r#"*"#; let output = r#"

*

"#; run(input, output); } #[test] fn src_line_7404() { let input = r#"**"#; let output = r#"

**

"#; run(input, output); } #[test] fn src_line_7411() { let input = r#"__"#; let output = r#"

__

"#; run(input, output); } #[test] fn src_line_7418() { let input = r#"*a `*`*"#; let output = r#"

a *

"#; run(input, output); } #[test] fn src_line_7425() { let input = r#"_a `_`_"#; let output = r#"

a _

"#; run(input, output); } #[test] fn src_line_7432() { let input = r#"**a"#; let output = r#"

**ahttp://foo.bar/?q=**

"#; run(input, output); } #[test] fn src_line_7439() { let input = r#"__a"#; let output = r#"

__ahttp://foo.bar/?q=__

"#; run(input, output); } #[test] fn src_line_7527() { let input = r#"[link](/uri "title")"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7537() { let input = r#"[link](/uri)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7543() { let input = r#"[](./target.md)"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_7550() { let input = r#"[link]()"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7557() { let input = r#"[link](<>)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7564() { let input = r#"[]()"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_7573() { let input = r#"[link](/my uri)"#; let output = r#"

[link](/my uri)

"#; run(input, output); } #[test] fn src_line_7579() { let input = r#"[link](
)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7588() { let input = r#"[link](foo bar)"#; let output = r#"

[link](foo bar)

"#; run(input, output); } #[test] fn src_line_7596() { let input = r#"[link]()"#; let output = r#"

[link]()

"#; run(input, output); } #[test] fn src_line_7607() { let input = r#"[a]()"#; let output = r#"

a

"#; run(input, output); } #[test] fn src_line_7615() { let input = r#"[link]()"#; let output = r#"

[link](<foo>)

"#; run(input, output); } #[test] fn src_line_7624() { let input = r#"[a]( [a](c)"#; let output = r#"

[a](<b)c [a](<b)c> [a](c)

"#; run(input, output); } #[test] fn src_line_7636() { let input = r#"[link](\(foo\))"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7645() { let input = r#"[link](foo(and(bar)))"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7654() { let input = r#"[link](foo(and(bar))"#; let output = r#"

[link](foo(and(bar))

"#; run(input, output); } #[test] fn src_line_7661() { let input = r#"[link](foo\(and\(bar\))"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7668() { let input = r#"[link]()"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7678() { let input = r#"[link](foo\)\:)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7687() { let input = r#"[link](#fragment) [link](http://example.com#fragment) [link](http://example.com?foo=3#frag)"#; let output = r##"

link

link

link

"##; run(input, output); } #[test] fn src_line_7703() { let input = r#"[link](foo\bar)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7719() { let input = r#"[link](foo%20bä)"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7730() { let input = r#"[link]("title")"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7739() { let input = r#"[link](/url "title") [link](/url 'title') [link](/url (title))"#; let output = r#"

link link link

"#; run(input, output); } #[test] fn src_line_7753() { let input = r#"[link](/url "title \""")"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7764() { let input = r#"[link](/url "title")"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7773() { let input = r#"[link](/url "title "and" title")"#; let output = r#"

[link](/url "title "and" title")

"#; run(input, output); } #[test] fn src_line_7782() { let input = r#"[link](/url 'title "and" title')"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7807() { let input = r#"[link]( /uri "title" )"#; let output = r#"

link

"#; run(input, output); } #[test] fn src_line_7818() { let input = r#"[link] (/uri)"#; let output = r#"

[link] (/uri)

"#; run(input, output); } #[test] fn src_line_7828() { let input = r#"[link [foo [bar]]](/uri)"#; let output = r#"

link [foo [bar]]

"#; run(input, output); } #[test] fn src_line_7835() { let input = r#"[link] bar](/uri)"#; let output = r#"

[link] bar](/uri)

"#; run(input, output); } #[test] fn src_line_7842() { let input = r#"[link [bar](/uri)"#; let output = r#"

[link bar

"#; run(input, output); } #[test] fn src_line_7849() { let input = r#"[link \[bar](/uri)"#; let output = r#"

link [bar

"#; run(input, output); } #[test] fn src_line_7858() { let input = r#"[link *foo **bar** `#`*](/uri)"#; let output = r#"

link foo bar #

"#; run(input, output); } #[test] fn src_line_7865() { let input = r#"[![moon](moon.jpg)](/uri)"#; let output = r#"

moon

"#; run(input, output); } #[test] fn src_line_7874() { let input = r#"[foo [bar](/uri)](/uri)"#; let output = r#"

[foo bar](/uri)

"#; run(input, output); } #[test] fn src_line_7881() { let input = r#"[foo *[bar [baz](/uri)](/uri)*](/uri)"#; let output = r#"

[foo [bar baz](/uri)](/uri)

"#; run(input, output); } #[test] fn src_line_7888() { let input = r#"![[[foo](uri1)](uri2)](uri3)"#; let output = r#"

[foo](uri2)

"#; run(input, output); } #[test] fn src_line_7898() { let input = r#"*[foo*](/uri)"#; let output = r#"

*foo*

"#; run(input, output); } #[test] fn src_line_7905() { let input = r#"[foo *bar](baz*)"#; let output = r#"

foo *bar

"#; run(input, output); } #[test] fn src_line_7915() { let input = r#"*foo [bar* baz]"#; let output = r#"

foo [bar baz]

"#; run(input, output); } #[test] fn src_line_7925() { let input = r#"[foo "#; let output = r#"

[foo

"#; run(input, output); } #[test] fn src_line_7932() { let input = r#"[foo`](/uri)`"#; let output = r#"

[foo](/uri)

"#; run(input, output); } #[test] fn src_line_7939() { let input = r#"[foo"#; let output = r#"

[foohttp://example.com/?search=](uri)

"#; run(input, output); } #[test] fn src_line_7977() { let input = r#"[foo][bar] [bar]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_7992() { let input = r#"[link [foo [bar]]][ref] [ref]: /uri"#; let output = r#"

link [foo [bar]]

"#; run(input, output); } #[test] fn src_line_8001() { let input = r#"[link \[bar][ref] [ref]: /uri"#; let output = r#"

link [bar

"#; run(input, output); } #[test] fn src_line_8012() { let input = r#"[link *foo **bar** `#`*][ref] [ref]: /uri"#; let output = r#"

link foo bar #

"#; run(input, output); } #[test] fn src_line_8021() { let input = r#"[![moon](moon.jpg)][ref] [ref]: /uri"#; let output = r#"

moon

"#; run(input, output); } #[test] fn src_line_8032() { let input = r#"[foo [bar](/uri)][ref] [ref]: /uri"#; let output = r#"

[foo bar]ref

"#; run(input, output); } #[test] fn src_line_8041() { let input = r#"[foo *bar [baz][ref]*][ref] [ref]: /uri"#; let output = r#"

[foo bar baz]ref

"#; run(input, output); } #[test] fn src_line_8056() { let input = r#"*[foo*][ref] [ref]: /uri"#; let output = r#"

*foo*

"#; run(input, output); } #[test] fn src_line_8065() { let input = r#"[foo *bar][ref]* [ref]: /uri"#; let output = r#"

foo *bar*

"#; run(input, output); } #[test] fn src_line_8077() { let input = r#"[foo [ref]: /uri"#; let output = r#"

[foo

"#; run(input, output); } #[test] fn src_line_8086() { let input = r#"[foo`][ref]` [ref]: /uri"#; let output = r#"

[foo][ref]

"#; run(input, output); } #[test] fn src_line_8095() { let input = r#"[foo [ref]: /uri"#; let output = r#"

[foohttp://example.com/?search=][ref]

"#; run(input, output); } #[test] fn src_line_8106() { let input = r#"[foo][BaR] [bar]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8117() { let input = r#"[ẞ] [SS]: /url"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_8129() { let input = r#"[Foo bar]: /url [Baz][Foo bar]"#; let output = r#"

Baz

"#; run(input, output); } #[test] fn src_line_8142() { let input = r#"[foo] [bar] [bar]: /url "title""#; let output = r#"

[foo] bar

"#; run(input, output); } #[test] fn src_line_8151() { let input = r#"[foo] [bar] [bar]: /url "title""#; let output = r#"

[foo] bar

"#; run(input, output); } #[test] fn src_line_8192() { let input = r#"[foo]: /url1 [foo]: /url2 [bar][foo]"#; let output = r#"

bar

"#; run(input, output); } #[test] fn src_line_8207() { let input = r#"[bar][foo\!] [foo!]: /url"#; let output = r#"

[bar][foo!]

"#; run(input, output); } #[test] fn src_line_8219() { let input = r#"[foo][ref[] [ref[]: /uri"#; let output = r#"

[foo][ref[]

[ref[]: /uri

"#; run(input, output); } #[test] fn src_line_8229() { let input = r#"[foo][ref[bar]] [ref[bar]]: /uri"#; let output = r#"

[foo][ref[bar]]

[ref[bar]]: /uri

"#; run(input, output); } #[test] fn src_line_8239() { let input = r#"[[[foo]]] [[[foo]]]: /url"#; let output = r#"

[[[foo]]]

[[[foo]]]: /url

"#; run(input, output); } #[test] fn src_line_8249() { let input = r#"[foo][ref\[] [ref\[]: /uri"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8260() { let input = r#"[bar\\]: /uri [bar\\]"#; let output = r#"

bar\

"#; run(input, output); } #[test] fn src_line_8272() { let input = r#"[] []: /uri"#; let output = r#"

[]

[]: /uri

"#; run(input, output); } #[test] fn src_line_8282() { let input = r#"[ ] [ ]: /uri"#; let output = r#"

[ ]

[ ]: /uri

"#; run(input, output); } #[test] fn src_line_8305() { let input = r#"[foo][] [foo]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8314() { let input = r#"[*foo* bar][] [*foo* bar]: /url "title""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8325() { let input = r#"[Foo][] [foo]: /url "title""#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_8338() { let input = "[foo]\x20 [] [foo]: /url \"title\""; let output = r#"

foo []

"#; run(input, output); } #[test] fn src_line_8358() { let input = r#"[foo] [foo]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8367() { let input = r#"[*foo* bar] [*foo* bar]: /url "title""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8376() { let input = r#"[[*foo* bar]] [*foo* bar]: /url "title""#; let output = r#"

[foo bar]

"#; run(input, output); } #[test] fn src_line_8385() { let input = r#"[[bar [foo] [foo]: /url"#; let output = r#"

[[bar foo

"#; run(input, output); } #[test] fn src_line_8396() { let input = r#"[Foo] [foo]: /url "title""#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_8407() { let input = r#"[foo] bar [foo]: /url"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8419() { let input = r#"\[foo] [foo]: /url "title""#; let output = r#"

[foo]

"#; run(input, output); } #[test] fn src_line_8431() { let input = r#"[foo*]: /url *[foo*]"#; let output = r#"

*foo*

"#; run(input, output); } #[test] fn src_line_8443() { let input = r#"[foo][bar] [foo]: /url1 [bar]: /url2"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8452() { let input = r#"[foo][] [foo]: /url1"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8462() { let input = r#"[foo]() [foo]: /url1"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8470() { let input = r#"[foo](not a link) [foo]: /url1"#; let output = r#"

foo(not a link)

"#; run(input, output); } #[test] fn src_line_8481() { let input = r#"[foo][bar][baz] [baz]: /url"#; let output = r#"

[foo]bar

"#; run(input, output); } #[test] fn src_line_8493() { let input = r#"[foo][bar][baz] [baz]: /url1 [bar]: /url2"#; let output = r#"

foobaz

"#; run(input, output); } #[test] fn src_line_8506() { let input = r#"[foo][bar][baz] [baz]: /url1 [foo]: /url2"#; let output = r#"

[foo]bar

"#; run(input, output); } #[test] fn src_line_8529() { let input = r#"![foo](/url "title")"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8536() { let input = r#"![foo *bar*] [foo *bar*]: train.jpg "train & tracks""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8545() { let input = r#"![foo ![bar](/url)](/url2)"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8552() { let input = r#"![foo [bar](/url)](/url2)"#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8566() { let input = r#"![foo *bar*][] [foo *bar*]: train.jpg "train & tracks""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8575() { let input = r#"![foo *bar*][foobar] [FOOBAR]: train.jpg "train & tracks""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8584() { let input = r#"![foo](train.jpg)"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8591() { let input = r#"My ![foo bar](/path/to/train.jpg "title" )"#; let output = r#"

My foo bar

"#; run(input, output); } #[test] fn src_line_8598() { let input = r#"![foo]()"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8605() { let input = r#"![](/url)"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_8614() { let input = r#"![foo][bar] [bar]: /url"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8623() { let input = r#"![foo][bar] [BAR]: /url"#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8634() { let input = r#"![foo][] [foo]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8643() { let input = r#"![*foo* bar][] [*foo* bar]: /url "title""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8654() { let input = r#"![Foo][] [foo]: /url "title""#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_8666() { let input = "![foo]\x20 [] [foo]: /url \"title\""; let output = r#"

foo []

"#; run(input, output); } #[test] fn src_line_8679() { let input = r#"![foo] [foo]: /url "title""#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_8688() { let input = r#"![*foo* bar] [*foo* bar]: /url "title""#; let output = r#"

foo bar

"#; run(input, output); } #[test] fn src_line_8699() { let input = r#"![[foo]] [[foo]]: /url "title""#; let output = r#"

![[foo]]

[[foo]]: /url "title"

"#; run(input, output); } #[test] fn src_line_8711() { let input = r#"![Foo] [foo]: /url "title""#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_8723() { let input = r#"!\[foo] [foo]: /url "title""#; let output = r#"

![foo]

"#; run(input, output); } #[test] fn src_line_8735() { let input = r#"\![foo] [foo]: /url "title""#; let output = r#"

!foo

"#; run(input, output); } #[test] fn src_line_8768() { let input = r#""#; let output = r#"

http://foo.bar.baz

"#; run(input, output); } #[test] fn src_line_8775() { let input = r#""#; let output = r#"

http://foo.bar.baz/test?q=hello&id=22&boolean

"#; run(input, output); } #[test] fn src_line_8782() { let input = r#""#; let output = r#"

irc://foo.bar:2233/baz

"#; run(input, output); } #[test] fn src_line_8791() { let input = r#""#; let output = r#"

MAILTO:FOO@BAR.BAZ

"#; run(input, output); } #[test] fn src_line_8803() { let input = r#""#; let output = r#"

a+b+c:d

"#; run(input, output); } #[test] fn src_line_8810() { let input = r#""#; let output = r#"

made-up-scheme://foo,bar

"#; run(input, output); } #[test] fn src_line_8817() { let input = r#""#; let output = r#"

http://../

"#; run(input, output); } #[test] fn src_line_8824() { let input = r#""#; let output = r#"

localhost:5001/foo

"#; run(input, output); } #[test] fn src_line_8833() { let input = r#""#; let output = r#"

<http://foo.bar/baz bim>

"#; run(input, output); } #[test] fn src_line_8842() { let input = r#""#; let output = r#"

http://example.com/\[\

"#; run(input, output); } #[test] fn src_line_8864() { let input = r#""#; let output = r#"

foo@bar.example.com

"#; run(input, output); } #[test] fn src_line_8871() { let input = r#""#; let output = r#"

foo+special@Bar.baz-bar0.com

"#; run(input, output); } #[test] fn src_line_8880() { let input = r#""#; let output = r#"

<foo+@bar.example.com>

"#; run(input, output); } #[test] fn src_line_8889() { let input = r#"<>"#; let output = r#"

<>

"#; run(input, output); } #[test] fn src_line_8896() { let input = r#"< http://foo.bar >"#; let output = r#"

< http://foo.bar >

"#; run(input, output); } #[test] fn src_line_8903() { let input = r#""#; let output = r#"

<m:abc>

"#; run(input, output); } #[test] fn src_line_8910() { let input = r#""#; let output = r#"

<foo.bar.baz>

"#; run(input, output); } #[test] fn src_line_8917() { let input = r#"http://example.com"#; let output = r#"

http://example.com

"#; run(input, output); } #[test] fn src_line_8924() { let input = r#"foo@bar.example.com"#; let output = r#"

foo@bar.example.com

"#; run(input, output); } #[test] fn src_line_9005() { let input = r#""#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9014() { let input = r#""#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9023() { let input = r#""#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9034() { let input = r#""#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9045() { let input = r#"Foo "#; let output = r#"

Foo

"#; run(input, output); } #[test] fn src_line_9054() { let input = r#"<33> <__>"#; let output = r#"

<33> <__>

"#; run(input, output); } #[test] fn src_line_9063() { let input = r#"
"#; let output = r#"

<a h*#ref="hi">

"#; run(input, output); } #[test] fn src_line_9072() { let input = r#"
<a href="hi'> <a href=hi'>

"#; run(input, output); } #[test] fn src_line_9081() { let input = r#"< a>< foo> "#; let output = r#"

< a>< foo><bar/ > <foo bar=baz bim!bop />

"#; run(input, output); } #[test] fn src_line_9096() { let input = r#"
"#; let output = r#"

<a href='bar'title=title>

"#; run(input, output); } #[test] fn src_line_9105() { let input = r#"
"#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9114() { let input = r#""#; let output = r#"

</a href="foo">

"#; run(input, output); } #[test] fn src_line_9123() { let input = r#"foo "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9132() { let input = r#"foo "#; let output = r#"

foo <!-- not a comment -- two hyphens -->

"#; run(input, output); } #[test] fn src_line_9141() { let input = r#"foo foo --> foo "#; let output = r#"

foo <!--> foo -->

foo <!-- foo--->

"#; run(input, output); } #[test] fn src_line_9153() { let input = r#"foo "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9162() { let input = r#"foo "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9171() { let input = r#"foo &<]]>"#; let output = r#"

foo &<]]>

"#; run(input, output); } #[test] fn src_line_9181() { let input = r#"foo "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9190() { let input = r#"foo "#; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9197() { let input = r#""#; let output = r#"

<a href=""">

"#; run(input, output); } #[test] fn src_line_9211() { let input = "foo \x20 baz"; let output = r#"

foo
baz

"#; run(input, output); } #[test] fn src_line_9223() { let input = r#"foo\ baz"#; let output = r#"

foo
baz

"#; run(input, output); } #[test] fn src_line_9234() { let input = "foo \x20 baz"; let output = r#"

foo
baz

"#; run(input, output); } #[test] fn src_line_9245() { let input = "foo \x20 bar"; let output = r#"

foo
bar

"#; run(input, output); } #[test] fn src_line_9254() { let input = r#"foo\ bar"#; let output = r#"

foo
bar

"#; run(input, output); } #[test] fn src_line_9266() { let input = "*foo \x20 bar*"; let output = r#"

foo
bar

"#; run(input, output); } #[test] fn src_line_9275() { let input = r#"*foo\ bar*"#; let output = r#"

foo
bar

"#; run(input, output); } #[test] fn src_line_9286() { let input = "`code \x20 span`"; let output = r#"

code span

"#; run(input, output); } #[test] fn src_line_9294() { let input = r#"`code\ span`"#; let output = r#"

code\ span

"#; run(input, output); } #[test] fn src_line_9304() { let input = "
"; let output = "

"; run(input, output); } #[test] fn src_line_9313() { let input = r#""#; let output = r#"

"#; run(input, output); } #[test] fn src_line_9326() { let input = r#"foo\"#; let output = r#"

foo\

"#; run(input, output); } #[test] fn src_line_9333() { let input = "foo \x20"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9340() { let input = r#"### foo\"#; let output = r#"

foo\

"#; run(input, output); } #[test] fn src_line_9347() { let input = "### foo \x20"; let output = r#"

foo

"#; run(input, output); } #[test] fn src_line_9362() { let input = r#"foo baz"#; let output = r#"

foo baz

"#; run(input, output); } #[test] fn src_line_9374() { let input = "foo\x20 baz"; let output = r#"

foo baz

"#; run(input, output); } #[test] fn src_line_9394() { let input = r#"hello $.;'there"#; let output = r#"

hello $.;'there

"#; run(input, output); } #[test] fn src_line_9401() { let input = r#"Foo χρῆν"#; let output = r#"

Foo χρῆν

"#; run(input, output); } #[test] fn src_line_9410() { let input = r#"Multiple spaces"#; let output = r#"

Multiple spaces

"#; run(input, output); } // end of auto-generated module }