1
2fn run(input: &str, output: &str) {
3 let output = if output.is_empty() { "".to_owned() } else { output.to_owned() + "\n" };
4 let md = &mut markdown_it::MarkdownIt::new();
5 markdown_it::plugins::cmark::add(md);
6 markdown_it::plugins::html::add(md);
7 let node = md.parse(&(input.to_owned() + "\n"));
8
9 // make sure we have sourcemaps for everything
10 node.walk(|node, _| assert!(node.srcmap.is_some()));
11
12 let result = node.xrender();
13 assert_eq!(result, output);
14
15 // make sure it doesn't crash without trailing \n
16 let _ = md.parse(input.trim_end());
17}
18
19///////////////////////////////////////////////////////////////////////////
20// TESTGEN: fixtures/commonmark/good.txt
21#[rustfmt::skip]
22mod fixtures_commonmark_good_txt {
23use super::run;
24// this part of the file is auto-generated
25// don't edit it, otherwise your changes might be lost
26#[test]
27fn src_line_355() {
28 let input = "\tfoo\tbaz\t\tbim";
29 let output = "<pre><code>foo\tbaz\t\tbim
30</code></pre>";
31 run(input, output);
32}
33
34#[test]
35fn src_line_362() {
36 let input = " \tfoo\tbaz\t\tbim";
37 let output = "<pre><code>foo\tbaz\t\tbim
38</code></pre>";
39 run(input, output);
40}
41
42#[test]
43fn src_line_369() {
44 let input = " a\ta
45 ὐ\ta";
46 let output = "<pre><code>a\ta
47ὐ\ta
48</code></pre>";
49 run(input, output);
50}
51
52#[test]
53fn src_line_382() {
54 let input = " - foo
55
56\tbar";
57 let output = r#"<ul>
58<li>
59<p>foo</p>
60<p>bar</p>
61</li>
62</ul>"#;
63 run(input, output);
64}
65
66#[test]
67fn src_line_395() {
68 let input = "- foo
69
70\t\tbar";
71 let output = r#"<ul>
72<li>
73<p>foo</p>
74<pre><code> bar
75</code></pre>
76</li>
77</ul>"#;
78 run(input, output);
79}
80
81#[test]
82fn src_line_418() {
83 let input = ">\t\tfoo";
84 let output = r#"<blockquote>
85<pre><code> foo
86</code></pre>
87</blockquote>"#;
88 run(input, output);
89}
90
91#[test]
92fn src_line_427() {
93 let input = "-\t\tfoo";
94 let output = r#"<ul>
95<li>
96<pre><code> foo
97</code></pre>
98</li>
99</ul>"#;
100 run(input, output);
101}
102
103#[test]
104fn src_line_439() {
105 let input = " foo
106\tbar";
107 let output = r#"<pre><code>foo
108bar
109</code></pre>"#;
110 run(input, output);
111}
112
113#[test]
114fn src_line_448() {
115 let input = " - foo
116 - bar
117\t - baz";
118 let output = r#"<ul>
119<li>foo
120<ul>
121<li>bar
122<ul>
123<li>baz</li>
124</ul>
125</li>
126</ul>
127</li>
128</ul>"#;
129 run(input, output);
130}
131
132#[test]
133fn src_line_466() {
134 let input = "#\tFoo";
135 let output = r#"<h1>Foo</h1>"#;
136 run(input, output);
137}
138
139#[test]
140fn src_line_472() {
141 let input = "*\t*\t*\t";
142 let output = r#"<hr />"#;
143 run(input, output);
144}
145
146#[test]
147fn src_line_489() {
148 let input = r#"\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~"#;
149 let output = r#"<p>!&quot;#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~</p>"#;
150 run(input, output);
151}
152
153#[test]
154fn src_line_499() {
155 let input = "\\\t\\A\\a\\ \\3\\φ\\«";
156 let output = "<p>\\\t\\A\\a\\ \\3\\φ\\«</p>";
157 run(input, output);
158}
159
160#[test]
161fn src_line_509() {
162 let input = r#"\*not emphasized*
163\<br/> not a tag
164\[not a link](/foo)
165\`not code`
1661\. not a list
167\* not a list
168\# not a heading
169\[foo]: /url "not a reference"
170\&ouml; not a character entity"#;
171 let output = r#"<p>*not emphasized*
172&lt;br/&gt; not a tag
173[not a link](/foo)
174`not code`
1751. not a list
176* not a list
177# not a heading
178[foo]: /url &quot;not a reference&quot;
179&amp;ouml; not a character entity</p>"#;
180 run(input, output);
181}
182
183#[test]
184fn src_line_534() {
185 let input = r#"\\*emphasis*"#;
186 let output = r#"<p>\<em>emphasis</em></p>"#;
187 run(input, output);
188}
189
190#[test]
191fn src_line_543() {
192 let input = r#"foo\
193bar"#;
194 let output = r#"<p>foo<br />
195bar</p>"#;
196 run(input, output);
197}
198
199#[test]
200fn src_line_555() {
201 let input = r#"`` \[\` ``"#;
202 let output = r#"<p><code>\[\`</code></p>"#;
203 run(input, output);
204}
205
206#[test]
207fn src_line_562() {
208 let input = r#" \[\]"#;
209 let output = r#"<pre><code>\[\]
210</code></pre>"#;
211 run(input, output);
212}
213
214#[test]
215fn src_line_570() {
216 let input = r#"~~~
217\[\]
218~~~"#;
219 let output = r#"<pre><code>\[\]
220</code></pre>"#;
221 run(input, output);
222}
223
224#[test]
225fn src_line_580() {
226 let input = r#"<http://example.com?find=\*>"#;
227 let output = r#"<p><a href="http://example.com?find=%5C*">http://example.com?find=\*</a></p>"#;
228 run(input, output);
229}
230
231#[test]
232fn src_line_587() {
233 let input = r#"<a href="/bar\/)">"#;
234 let output = r#"<a href="/bar\/)">"#;
235 run(input, output);
236}
237
238#[test]
239fn src_line_597() {
240 let input = r#"[foo](/bar\* "ti\*tle")"#;
241 let output = r#"<p><a href="/bar*" title="ti*tle">foo</a></p>"#;
242 run(input, output);
243}
244
245#[test]
246fn src_line_604() {
247 let input = r#"[foo]
248
249[foo]: /bar\* "ti\*tle""#;
250 let output = r#"<p><a href="/bar*" title="ti*tle">foo</a></p>"#;
251 run(input, output);
252}
253
254#[test]
255fn src_line_613() {
256 let input = r#"``` foo\+bar
257foo
258```"#;
259 let output = r#"<pre><code class="language-foo+bar">foo
260</code></pre>"#;
261 run(input, output);
262}
263
264#[test]
265fn src_line_649() {
266 let input = r#"&nbsp; &amp; &copy; &AElig; &Dcaron;
267&frac34; &HilbertSpace; &DifferentialD;
268&ClockwiseContourIntegral; &ngE;"#;
269 let output = r#"<p>  &amp; © Æ Ď
270¾ ℋ ⅆ
271∲ ≧̸</p>"#;
272 run(input, output);
273}
274
275#[test]
276fn src_line_668() {
277 let input = r#"&#35; &#1234; &#992; &#0;"#;
278 let output = r#"<p># Ӓ Ϡ �</p>"#;
279 run(input, output);
280}
281
282#[test]
283fn src_line_681() {
284 let input = r#"&#X22; &#XD06; &#xcab;"#;
285 let output = r#"<p>&quot; ആ ಫ</p>"#;
286 run(input, output);
287}
288
289#[test]
290fn src_line_690() {
291 let input = r#"&nbsp &x; &#; &#x;
292&#87654321;
293&#abcdef0;
294&ThisIsNotDefined; &hi?;"#;
295 let output = r#"<p>&amp;nbsp &amp;x; &amp;#; &amp;#x;
296&amp;#87654321;
297&amp;#abcdef0;
298&amp;ThisIsNotDefined; &amp;hi?;</p>"#;
299 run(input, output);
300}
301
302#[test]
303fn src_line_707() {
304 let input = r#"&copy"#;
305 let output = r#"<p>&amp;copy</p>"#;
306 run(input, output);
307}
308
309#[test]
310fn src_line_717() {
311 let input = r#"&MadeUpEntity;"#;
312 let output = r#"<p>&amp;MadeUpEntity;</p>"#;
313 run(input, output);
314}
315
316#[test]
317fn src_line_728() {
318 let input = r#"<a href="&ouml;&ouml;.html">"#;
319 let output = r#"<a href="&ouml;&ouml;.html">"#;
320 run(input, output);
321}
322
323#[test]
324fn src_line_735() {
325 let input = r#"[foo](/f&ouml;&ouml; "f&ouml;&ouml;")"#;
326 let output = r#"<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>"#;
327 run(input, output);
328}
329
330#[test]
331fn src_line_742() {
332 let input = r#"[foo]
333
334[foo]: /f&ouml;&ouml; "f&ouml;&ouml;""#;
335 let output = r#"<p><a href="/f%C3%B6%C3%B6" title="föö">foo</a></p>"#;
336 run(input, output);
337}
338
339#[test]
340fn src_line_751() {
341 let input = r#"``` f&ouml;&ouml;
342foo
343```"#;
344 let output = r#"<pre><code class="language-föö">foo
345</code></pre>"#;
346 run(input, output);
347}
348
349#[test]
350fn src_line_764() {
351 let input = r#"`f&ouml;&ouml;`"#;
352 let output = r#"<p><code>f&amp;ouml;&amp;ouml;</code></p>"#;
353 run(input, output);
354}
355
356#[test]
357fn src_line_771() {
358 let input = r#" f&ouml;f&ouml;"#;
359 let output = r#"<pre><code>f&amp;ouml;f&amp;ouml;
360</code></pre>"#;
361 run(input, output);
362}
363
364#[test]
365fn src_line_783() {
366 let input = r#"&#42;foo&#42;
367*foo*"#;
368 let output = r#"<p>*foo*
369<em>foo</em></p>"#;
370 run(input, output);
371}
372
373#[test]
374fn src_line_791() {
375 let input = r#"&#42; foo
376
377* foo"#;
378 let output = r#"<p>* foo</p>
379<ul>
380<li>foo</li>
381</ul>"#;
382 run(input, output);
383}
384
385#[test]
386fn src_line_802() {
387 let input = r#"foo&#10;&#10;bar"#;
388 let output = r#"<p>foo
389
390bar</p>"#;
391 run(input, output);
392}
393
394#[test]
395fn src_line_810() {
396 let input = r#"&#9;foo"#;
397 let output = "<p>\tfoo</p>";
398 run(input, output);
399}
400
401#[test]
402fn src_line_817() {
403 let input = r#"[a](url &quot;tit&quot;)"#;
404 let output = r#"<p>[a](url &quot;tit&quot;)</p>"#;
405 run(input, output);
406}
407
408#[test]
409fn src_line_840() {
410 let input = r#"- `one
411- two`"#;
412 let output = r#"<ul>
413<li>`one</li>
414<li>two`</li>
415</ul>"#;
416 run(input, output);
417}
418
419#[test]
420fn src_line_879() {
421 let input = r#"***
422---
423___"#;
424 let output = r#"<hr />
425<hr />
426<hr />"#;
427 run(input, output);
428}
429
430#[test]
431fn src_line_892() {
432 let input = r#"+++"#;
433 let output = r#"<p>+++</p>"#;
434 run(input, output);
435}
436
437#[test]
438fn src_line_899() {
439 let input = r#"==="#;
440 let output = r#"<p>===</p>"#;
441 run(input, output);
442}
443
444#[test]
445fn src_line_908() {
446 let input = r#"--
447**
448__"#;
449 let output = r#"<p>--
450**
451__</p>"#;
452 run(input, output);
453}
454
455#[test]
456fn src_line_921() {
457 let input = r#" ***
458 ***
459 ***"#;
460 let output = r#"<hr />
461<hr />
462<hr />"#;
463 run(input, output);
464}
465
466#[test]
467fn src_line_934() {
468 let input = r#" ***"#;
469 let output = r#"<pre><code>***
470</code></pre>"#;
471 run(input, output);
472}
473
474#[test]
475fn src_line_942() {
476 let input = r#"Foo
477 ***"#;
478 let output = r#"<p>Foo
479***</p>"#;
480 run(input, output);
481}
482
483#[test]
484fn src_line_953() {
485 let input = r#"_____________________________________"#;
486 let output = r#"<hr />"#;
487 run(input, output);
488}
489
490#[test]
491fn src_line_962() {
492 let input = r#" - - -"#;
493 let output = r#"<hr />"#;
494 run(input, output);
495}
496
497#[test]
498fn src_line_969() {
499 let input = r#" ** * ** * ** * **"#;
500 let output = r#"<hr />"#;
501 run(input, output);
502}
503
504#[test]
505fn src_line_976() {
506 let input = r#"- - - -"#;
507 let output = r#"<hr />"#;
508 run(input, output);
509}
510
511#[test]
512fn src_line_985() {
513 let input = "- - - - \x20";
514 let output = r#"<hr />"#;
515 run(input, output);
516}
517
518#[test]
519fn src_line_994() {
520 let input = r#"_ _ _ _ a
521
522a------
523
524---a---"#;
525 let output = r#"<p>_ _ _ _ a</p>
526<p>a------</p>
527<p>---a---</p>"#;
528 run(input, output);
529}
530
531#[test]
532fn src_line_1010() {
533 let input = r#" *-*"#;
534 let output = r#"<p><em>-</em></p>"#;
535 run(input, output);
536}
537
538#[test]
539fn src_line_1019() {
540 let input = r#"- foo
541***
542- bar"#;
543 let output = r#"<ul>
544<li>foo</li>
545</ul>
546<hr />
547<ul>
548<li>bar</li>
549</ul>"#;
550 run(input, output);
551}
552
553#[test]
554fn src_line_1036() {
555 let input = r#"Foo
556***
557bar"#;
558 let output = r#"<p>Foo</p>
559<hr />
560<p>bar</p>"#;
561 run(input, output);
562}
563
564#[test]
565fn src_line_1053() {
566 let input = r#"Foo
567---
568bar"#;
569 let output = r#"<h2>Foo</h2>
570<p>bar</p>"#;
571 run(input, output);
572}
573
574#[test]
575fn src_line_1066() {
576 let input = r#"* Foo
577* * *
578* Bar"#;
579 let output = r#"<ul>
580<li>Foo</li>
581</ul>
582<hr />
583<ul>
584<li>Bar</li>
585</ul>"#;
586 run(input, output);
587}
588
589#[test]
590fn src_line_1083() {
591 let input = r#"- Foo
592- * * *"#;
593 let output = r#"<ul>
594<li>Foo</li>
595<li>
596<hr />
597</li>
598</ul>"#;
599 run(input, output);
600}
601
602#[test]
603fn src_line_1112() {
604 let input = r#"# foo
605## foo
606### foo
607#### foo
608##### foo
609###### foo"#;
610 let output = r#"<h1>foo</h1>
611<h2>foo</h2>
612<h3>foo</h3>
613<h4>foo</h4>
614<h5>foo</h5>
615<h6>foo</h6>"#;
616 run(input, output);
617}
618
619#[test]
620fn src_line_1131() {
621 let input = r#"####### foo"#;
622 let output = r#"<p>####### foo</p>"#;
623 run(input, output);
624}
625
626#[test]
627fn src_line_1146() {
628 let input = r#"#5 bolt
629
630#hashtag"#;
631 let output = r#"<p>#5 bolt</p>
632<p>#hashtag</p>"#;
633 run(input, output);
634}
635
636#[test]
637fn src_line_1158() {
638 let input = r#"\## foo"#;
639 let output = r#"<p>## foo</p>"#;
640 run(input, output);
641}
642
643#[test]
644fn src_line_1167() {
645 let input = r#"# foo *bar* \*baz\*"#;
646 let output = r#"<h1>foo <em>bar</em> *baz*</h1>"#;
647 run(input, output);
648}
649
650#[test]
651fn src_line_1176() {
652 let input = "# foo \x20";
653 let output = r#"<h1>foo</h1>"#;
654 run(input, output);
655}
656
657#[test]
658fn src_line_1185() {
659 let input = r#" ### foo
660 ## foo
661 # foo"#;
662 let output = r#"<h3>foo</h3>
663<h2>foo</h2>
664<h1>foo</h1>"#;
665 run(input, output);
666}
667
668#[test]
669fn src_line_1198() {
670 let input = r#" # foo"#;
671 let output = r#"<pre><code># foo
672</code></pre>"#;
673 run(input, output);
674}
675
676#[test]
677fn src_line_1206() {
678 let input = r#"foo
679 # bar"#;
680 let output = r#"<p>foo
681# bar</p>"#;
682 run(input, output);
683}
684
685#[test]
686fn src_line_1217() {
687 let input = r#"## foo ##
688 ### bar ###"#;
689 let output = r#"<h2>foo</h2>
690<h3>bar</h3>"#;
691 run(input, output);
692}
693
694#[test]
695fn src_line_1228() {
696 let input = r#"# foo ##################################
697##### foo ##"#;
698 let output = r#"<h1>foo</h1>
699<h5>foo</h5>"#;
700 run(input, output);
701}
702
703#[test]
704fn src_line_1239() {
705 let input = "### foo ### \x20";
706 let output = r#"<h3>foo</h3>"#;
707 run(input, output);
708}
709
710#[test]
711fn src_line_1250() {
712 let input = r#"### foo ### b"#;
713 let output = r#"<h3>foo ### b</h3>"#;
714 run(input, output);
715}
716
717#[test]
718fn src_line_1259() {
719 let input = r#"# foo#"#;
720 let output = r#"<h1>foo#</h1>"#;
721 run(input, output);
722}
723
724#[test]
725fn src_line_1269() {
726 let input = r#"### foo \###
727## foo #\##
728# foo \#"#;
729 let output = r#"<h3>foo ###</h3>
730<h2>foo ###</h2>
731<h1>foo #</h1>"#;
732 run(input, output);
733}
734
735#[test]
736fn src_line_1283() {
737 let input = r#"****
738## foo
739****"#;
740 let output = r#"<hr />
741<h2>foo</h2>
742<hr />"#;
743 run(input, output);
744}
745
746#[test]
747fn src_line_1294() {
748 let input = r#"Foo bar
749# baz
750Bar foo"#;
751 let output = r#"<p>Foo bar</p>
752<h1>baz</h1>
753<p>Bar foo</p>"#;
754 run(input, output);
755}
756
757#[test]
758fn src_line_1307() {
759 let input = "##\x20
760#
761### ###";
762 let output = r#"<h2></h2>
763<h1></h1>
764<h3></h3>"#;
765 run(input, output);
766}
767
768#[test]
769fn src_line_1350() {
770 let input = r#"Foo *bar*
771=========
772
773Foo *bar*
774---------"#;
775 let output = r#"<h1>Foo <em>bar</em></h1>
776<h2>Foo <em>bar</em></h2>"#;
777 run(input, output);
778}
779
780#[test]
781fn src_line_1364() {
782 let input = r#"Foo *bar
783baz*
784===="#;
785 let output = r#"<h1>Foo <em>bar
786baz</em></h1>"#;
787 run(input, output);
788}
789
790#[test]
791fn src_line_1378() {
792 let input = " Foo *bar
793baz*\t
794====";
795 let output = r#"<h1>Foo <em>bar
796baz</em></h1>"#;
797 run(input, output);
798}
799
800#[test]
801fn src_line_1390() {
802 let input = r#"Foo
803-------------------------
804
805Foo
806="#;
807 let output = r#"<h2>Foo</h2>
808<h1>Foo</h1>"#;
809 run(input, output);
810}
811
812#[test]
813fn src_line_1405() {
814 let input = r#" Foo
815---
816
817 Foo
818-----
819
820 Foo
821 ==="#;
822 let output = r#"<h2>Foo</h2>
823<h2>Foo</h2>
824<h1>Foo</h1>"#;
825 run(input, output);
826}
827
828#[test]
829fn src_line_1423() {
830 let input = r#" Foo
831 ---
832
833 Foo
834---"#;
835 let output = r#"<pre><code>Foo
836---
837
838Foo
839</code></pre>
840<hr />"#;
841 run(input, output);
842}
843
844#[test]
845fn src_line_1442() {
846 let input = "Foo
847 ---- \x20";
848 let output = r#"<h2>Foo</h2>"#;
849 run(input, output);
850}
851
852#[test]
853fn src_line_1452() {
854 let input = r#"Foo
855 ---"#;
856 let output = r#"<p>Foo
857---</p>"#;
858 run(input, output);
859}
860
861#[test]
862fn src_line_1463() {
863 let input = r#"Foo
864= =
865
866Foo
867--- -"#;
868 let output = r#"<p>Foo
869= =</p>
870<p>Foo</p>
871<hr />"#;
872 run(input, output);
873}
874
875#[test]
876fn src_line_1479() {
877 let input = "Foo \x20
878-----";
879 let output = r#"<h2>Foo</h2>"#;
880 run(input, output);
881}
882
883#[test]
884fn src_line_1489() {
885 let input = r#"Foo\
886----"#;
887 let output = r#"<h2>Foo\</h2>"#;
888 run(input, output);
889}
890
891#[test]
892fn src_line_1500() {
893 let input = r#"`Foo
894----
895`
896
897<a title="a lot
898---
899of dashes"/>"#;
900 let output = r#"<h2>`Foo</h2>
901<p>`</p>
902<h2>&lt;a title=&quot;a lot</h2>
903<p>of dashes&quot;/&gt;</p>"#;
904 run(input, output);
905}
906
907#[test]
908fn src_line_1519() {
909 let input = r#"> Foo
910---"#;
911 let output = r#"<blockquote>
912<p>Foo</p>
913</blockquote>
914<hr />"#;
915 run(input, output);
916}
917
918#[test]
919fn src_line_1530() {
920 let input = r#"> foo
921bar
922==="#;
923 let output = r#"<blockquote>
924<p>foo
925bar
926===</p>
927</blockquote>"#;
928 run(input, output);
929}
930
931#[test]
932fn src_line_1543() {
933 let input = r#"- Foo
934---"#;
935 let output = r#"<ul>
936<li>Foo</li>
937</ul>
938<hr />"#;
939 run(input, output);
940}
941
942#[test]
943fn src_line_1558() {
944 let input = r#"Foo
945Bar
946---"#;
947 let output = r#"<h2>Foo
948Bar</h2>"#;
949 run(input, output);
950}
951
952#[test]
953fn src_line_1571() {
954 let input = r#"---
955Foo
956---
957Bar
958---
959Baz"#;
960 let output = r#"<hr />
961<h2>Foo</h2>
962<h2>Bar</h2>
963<p>Baz</p>"#;
964 run(input, output);
965}
966
967#[test]
968fn src_line_1588() {
969 let input = r#"
970===="#;
971 let output = r#"<p>====</p>"#;
972 run(input, output);
973}
974
975#[test]
976fn src_line_1600() {
977 let input = r#"---
978---"#;
979 let output = r#"<hr />
980<hr />"#;
981 run(input, output);
982}
983
984#[test]
985fn src_line_1609() {
986 let input = r#"- foo
987-----"#;
988 let output = r#"<ul>
989<li>foo</li>
990</ul>
991<hr />"#;
992 run(input, output);
993}
994
995#[test]
996fn src_line_1620() {
997 let input = r#" foo
998---"#;
999 let output = r#"<pre><code>foo
1000</code></pre>
1001<hr />"#;
1002 run(input, output);
1003}
1004
1005#[test]
1006fn src_line_1630() {
1007 let input = r#"> foo
1008-----"#;
1009 let output = r#"<blockquote>
1010<p>foo</p>
1011</blockquote>
1012<hr />"#;
1013 run(input, output);
1014}
1015
1016#[test]
1017fn src_line_1644() {
1018 let input = r#"\> foo
1019------"#;
1020 let output = r#"<h2>&gt; foo</h2>"#;
1021 run(input, output);
1022}
1023
1024#[test]
1025fn src_line_1675() {
1026 let input = r#"Foo
1027
1028bar
1029---
1030baz"#;
1031 let output = r#"<p>Foo</p>
1032<h2>bar</h2>
1033<p>baz</p>"#;
1034 run(input, output);
1035}
1036
1037#[test]
1038fn src_line_1691() {
1039 let input = r#"Foo
1040bar
1041
1042---
1043
1044baz"#;
1045 let output = r#"<p>Foo
1046bar</p>
1047<hr />
1048<p>baz</p>"#;
1049 run(input, output);
1050}
1051
1052#[test]
1053fn src_line_1709() {
1054 let input = r#"Foo
1055bar
1056* * *
1057baz"#;
1058 let output = r#"<p>Foo
1059bar</p>
1060<hr />
1061<p>baz</p>"#;
1062 run(input, output);
1063}
1064
1065#[test]
1066fn src_line_1724() {
1067 let input = r#"Foo
1068bar
1069\---
1070baz"#;
1071 let output = r#"<p>Foo
1072bar
1073---
1074baz</p>"#;
1075 run(input, output);
1076}
1077
1078#[test]
1079fn src_line_1752() {
1080 let input = r#" a simple
1081 indented code block"#;
1082 let output = r#"<pre><code>a simple
1083 indented code block
1084</code></pre>"#;
1085 run(input, output);
1086}
1087
1088#[test]
1089fn src_line_1766() {
1090 let input = r#" - foo
1091
1092 bar"#;
1093 let output = r#"<ul>
1094<li>
1095<p>foo</p>
1096<p>bar</p>
1097</li>
1098</ul>"#;
1099 run(input, output);
1100}
1101
1102#[test]
1103fn src_line_1780() {
1104 let input = r#"1. foo
1105
1106 - bar"#;
1107 let output = r#"<ol>
1108<li>
1109<p>foo</p>
1110<ul>
1111<li>bar</li>
1112</ul>
1113</li>
1114</ol>"#;
1115 run(input, output);
1116}
1117
1118#[test]
1119fn src_line_1800() {
1120 let input = r#" <a/>
1121 *hi*
1122
1123 - one"#;
1124 let output = r#"<pre><code>&lt;a/&gt;
1125*hi*
1126
1127- one
1128</code></pre>"#;
1129 run(input, output);
1130}
1131
1132#[test]
1133fn src_line_1816() {
1134 let input = " chunk1
1135
1136 chunk2
1137 \x20
1138\x20
1139\x20
1140 chunk3";
1141 let output = r#"<pre><code>chunk1
1142
1143chunk2
1144
1145
1146
1147chunk3
1148</code></pre>"#;
1149 run(input, output);
1150}
1151
1152#[test]
1153fn src_line_1839() {
1154 let input = " chunk1
1155 \x20
1156 chunk2";
1157 let output = "<pre><code>chunk1
1158 \x20
1159 chunk2
1160</code></pre>";
1161 run(input, output);
1162}
1163
1164#[test]
1165fn src_line_1854() {
1166 let input = r#"Foo
1167 bar
1168"#;
1169 let output = r#"<p>Foo
1170bar</p>"#;
1171 run(input, output);
1172}
1173
1174#[test]
1175fn src_line_1868() {
1176 let input = r#" foo
1177bar"#;
1178 let output = r#"<pre><code>foo
1179</code></pre>
1180<p>bar</p>"#;
1181 run(input, output);
1182}
1183
1184#[test]
1185fn src_line_1881() {
1186 let input = r#"# Heading
1187 foo
1188Heading
1189------
1190 foo
1191----"#;
1192 let output = r#"<h1>Heading</h1>
1193<pre><code>foo
1194</code></pre>
1195<h2>Heading</h2>
1196<pre><code>foo
1197</code></pre>
1198<hr />"#;
1199 run(input, output);
1200}
1201
1202#[test]
1203fn src_line_1901() {
1204 let input = r#" foo
1205 bar"#;
1206 let output = r#"<pre><code> foo
1207bar
1208</code></pre>"#;
1209 run(input, output);
1210}
1211
1212#[test]
1213fn src_line_1914() {
1214 let input = "
1215 \x20
1216 foo
1217 \x20
1218";
1219 let output = r#"<pre><code>foo
1220</code></pre>"#;
1221 run(input, output);
1222}
1223
1224#[test]
1225fn src_line_1928() {
1226 let input = " foo \x20";
1227 let output = "<pre><code>foo \x20
1228</code></pre>";
1229 run(input, output);
1230}
1231
1232#[test]
1233fn src_line_1983() {
1234 let input = r#"```
1235<
1236 >
1237```"#;
1238 let output = r#"<pre><code>&lt;
1239 &gt;
1240</code></pre>"#;
1241 run(input, output);
1242}
1243
1244#[test]
1245fn src_line_1997() {
1246 let input = r#"~~~
1247<
1248 >
1249~~~"#;
1250 let output = r#"<pre><code>&lt;
1251 &gt;
1252</code></pre>"#;
1253 run(input, output);
1254}
1255
1256#[test]
1257fn src_line_2010() {
1258 let input = r#"``
1259foo
1260``"#;
1261 let output = r#"<p><code>foo</code></p>"#;
1262 run(input, output);
1263}
1264
1265#[test]
1266fn src_line_2021() {
1267 let input = r#"```
1268aaa
1269~~~
1270```"#;
1271 let output = r#"<pre><code>aaa
1272~~~
1273</code></pre>"#;
1274 run(input, output);
1275}
1276
1277#[test]
1278fn src_line_2033() {
1279 let input = r#"~~~
1280aaa
1281```
1282~~~"#;
1283 let output = r#"<pre><code>aaa
1284```
1285</code></pre>"#;
1286 run(input, output);
1287}
1288
1289#[test]
1290fn src_line_2047() {
1291 let input = r#"````
1292aaa
1293```
1294``````"#;
1295 let output = r#"<pre><code>aaa
1296```
1297</code></pre>"#;
1298 run(input, output);
1299}
1300
1301#[test]
1302fn src_line_2059() {
1303 let input = r#"~~~~
1304aaa
1305~~~
1306~~~~"#;
1307 let output = r#"<pre><code>aaa
1308~~~
1309</code></pre>"#;
1310 run(input, output);
1311}
1312
1313#[test]
1314fn src_line_2074() {
1315 let input = r#"```"#;
1316 let output = r#"<pre><code></code></pre>"#;
1317 run(input, output);
1318}
1319
1320#[test]
1321fn src_line_2081() {
1322 let input = r#"`````
1323
1324```
1325aaa"#;
1326 let output = r#"<pre><code>
1327```
1328aaa
1329</code></pre>"#;
1330 run(input, output);
1331}
1332
1333#[test]
1334fn src_line_2094() {
1335 let input = r#"> ```
1336> aaa
1337
1338bbb"#;
1339 let output = r#"<blockquote>
1340<pre><code>aaa
1341</code></pre>
1342</blockquote>
1343<p>bbb</p>"#;
1344 run(input, output);
1345}
1346
1347#[test]
1348fn src_line_2110() {
1349 let input = "```
1350
1351 \x20
1352```";
1353 let output = "<pre><code>
1354 \x20
1355</code></pre>";
1356 run(input, output);
1357}
1358
1359#[test]
1360fn src_line_2124() {
1361 let input = r#"```
1362```"#;
1363 let output = r#"<pre><code></code></pre>"#;
1364 run(input, output);
1365}
1366
1367#[test]
1368fn src_line_2136() {
1369 let input = r#" ```
1370 aaa
1371aaa
1372```"#;
1373 let output = r#"<pre><code>aaa
1374aaa
1375</code></pre>"#;
1376 run(input, output);
1377}
1378
1379#[test]
1380fn src_line_2148() {
1381 let input = r#" ```
1382aaa
1383 aaa
1384aaa
1385 ```"#;
1386 let output = r#"<pre><code>aaa
1387aaa
1388aaa
1389</code></pre>"#;
1390 run(input, output);
1391}
1392
1393#[test]
1394fn src_line_2162() {
1395 let input = r#" ```
1396 aaa
1397 aaa
1398 aaa
1399 ```"#;
1400 let output = r#"<pre><code>aaa
1401 aaa
1402aaa
1403</code></pre>"#;
1404 run(input, output);
1405}
1406
1407#[test]
1408fn src_line_2178() {
1409 let input = r#" ```
1410 aaa
1411 ```"#;
1412 let output = r#"<pre><code>```
1413aaa
1414```
1415</code></pre>"#;
1416 run(input, output);
1417}
1418
1419#[test]
1420fn src_line_2193() {
1421 let input = r#"```
1422aaa
1423 ```"#;
1424 let output = r#"<pre><code>aaa
1425</code></pre>"#;
1426 run(input, output);
1427}
1428
1429#[test]
1430fn src_line_2203() {
1431 let input = r#" ```
1432aaa
1433 ```"#;
1434 let output = r#"<pre><code>aaa
1435</code></pre>"#;
1436 run(input, output);
1437}
1438
1439#[test]
1440fn src_line_2215() {
1441 let input = r#"```
1442aaa
1443 ```"#;
1444 let output = r#"<pre><code>aaa
1445 ```
1446</code></pre>"#;
1447 run(input, output);
1448}
1449
1450#[test]
1451fn src_line_2229() {
1452 let input = r#"``` ```
1453aaa"#;
1454 let output = r#"<p><code> </code>
1455aaa</p>"#;
1456 run(input, output);
1457}
1458
1459#[test]
1460fn src_line_2238() {
1461 let input = r#"~~~~~~
1462aaa
1463~~~ ~~"#;
1464 let output = r#"<pre><code>aaa
1465~~~ ~~
1466</code></pre>"#;
1467 run(input, output);
1468}
1469
1470#[test]
1471fn src_line_2252() {
1472 let input = r#"foo
1473```
1474bar
1475```
1476baz"#;
1477 let output = r#"<p>foo</p>
1478<pre><code>bar
1479</code></pre>
1480<p>baz</p>"#;
1481 run(input, output);
1482}
1483
1484#[test]
1485fn src_line_2269() {
1486 let input = r#"foo
1487---
1488~~~
1489bar
1490~~~
1491# baz"#;
1492 let output = r#"<h2>foo</h2>
1493<pre><code>bar
1494</code></pre>
1495<h1>baz</h1>"#;
1496 run(input, output);
1497}
1498
1499#[test]
1500fn src_line_2291() {
1501 let input = r#"```ruby
1502def foo(x)
1503 return 3
1504end
1505```"#;
1506 let output = r#"<pre><code class="language-ruby">def foo(x)
1507 return 3
1508end
1509</code></pre>"#;
1510 run(input, output);
1511}
1512
1513#[test]
1514fn src_line_2305() {
1515 let input = r#"~~~~ ruby startline=3 $%@#$
1516def foo(x)
1517 return 3
1518end
1519~~~~~~~"#;
1520 let output = r#"<pre><code class="language-ruby">def foo(x)
1521 return 3
1522end
1523</code></pre>"#;
1524 run(input, output);
1525}
1526
1527#[test]
1528fn src_line_2319() {
1529 let input = r#"````;
1530````"#;
1531 let output = r#"<pre><code class="language-;"></code></pre>"#;
1532 run(input, output);
1533}
1534
1535#[test]
1536fn src_line_2329() {
1537 let input = r#"``` aa ```
1538foo"#;
1539 let output = r#"<p><code>aa</code>
1540foo</p>"#;
1541 run(input, output);
1542}
1543
1544#[test]
1545fn src_line_2340() {
1546 let input = r#"~~~ aa ``` ~~~
1547foo
1548~~~"#;
1549 let output = r#"<pre><code class="language-aa">foo
1550</code></pre>"#;
1551 run(input, output);
1552}
1553
1554#[test]
1555fn src_line_2352() {
1556 let input = r#"```
1557``` aaa
1558```"#;
1559 let output = r#"<pre><code>``` aaa
1560</code></pre>"#;
1561 run(input, output);
1562}
1563
1564#[test]
1565fn src_line_2431() {
1566 let input = r#"<table><tr><td>
1567<pre>
1568**Hello**,
1569
1570_world_.
1571</pre>
1572</td></tr></table>"#;
1573 let output = r#"<table><tr><td>
1574<pre>
1575**Hello**,
1576<p><em>world</em>.
1577</pre></p>
1578</td></tr></table>"#;
1579 run(input, output);
1580}
1581
1582#[test]
1583fn src_line_2460() {
1584 let input = r#"<table>
1585 <tr>
1586 <td>
1587 hi
1588 </td>
1589 </tr>
1590</table>
1591
1592okay."#;
1593 let output = r#"<table>
1594 <tr>
1595 <td>
1596 hi
1597 </td>
1598 </tr>
1599</table>
1600<p>okay.</p>"#;
1601 run(input, output);
1602}
1603
1604#[test]
1605fn src_line_2482() {
1606 let input = r#" <div>
1607 *hello*
1608 <foo><a>"#;
1609 let output = r#" <div>
1610 *hello*
1611 <foo><a>"#;
1612 run(input, output);
1613}
1614
1615#[test]
1616fn src_line_2495() {
1617 let input = r#"</div>
1618*foo*"#;
1619 let output = r#"</div>
1620*foo*"#;
1621 run(input, output);
1622}
1623
1624#[test]
1625fn src_line_2506() {
1626 let input = r#"<DIV CLASS="foo">
1627
1628*Markdown*
1629
1630</DIV>"#;
1631 let output = r#"<DIV CLASS="foo">
1632<p><em>Markdown</em></p>
1633</DIV>"#;
1634 run(input, output);
1635}
1636
1637#[test]
1638fn src_line_2522() {
1639 let input = r#"<div id="foo"
1640 class="bar">
1641</div>"#;
1642 let output = r#"<div id="foo"
1643 class="bar">
1644</div>"#;
1645 run(input, output);
1646}
1647
1648#[test]
1649fn src_line_2533() {
1650 let input = r#"<div id="foo" class="bar
1651 baz">
1652</div>"#;
1653 let output = r#"<div id="foo" class="bar
1654 baz">
1655</div>"#;
1656 run(input, output);
1657}
1658
1659#[test]
1660fn src_line_2545() {
1661 let input = r#"<div>
1662*foo*
1663
1664*bar*"#;
1665 let output = r#"<div>
1666*foo*
1667<p><em>bar</em></p>"#;
1668 run(input, output);
1669}
1670
1671#[test]
1672fn src_line_2561() {
1673 let input = r#"<div id="foo"
1674*hi*"#;
1675 let output = r#"<div id="foo"
1676*hi*"#;
1677 run(input, output);
1678}
1679
1680#[test]
1681fn src_line_2570() {
1682 let input = r#"<div class
1683foo"#;
1684 let output = r#"<div class
1685foo"#;
1686 run(input, output);
1687}
1688
1689#[test]
1690fn src_line_2582() {
1691 let input = r#"<div *???-&&&-<---
1692*foo*"#;
1693 let output = r#"<div *???-&&&-<---
1694*foo*"#;
1695 run(input, output);
1696}
1697
1698#[test]
1699fn src_line_2594() {
1700 let input = r#"<div><a href="bar">*foo*</a></div>"#;
1701 let output = r#"<div><a href="bar">*foo*</a></div>"#;
1702 run(input, output);
1703}
1704
1705#[test]
1706fn src_line_2601() {
1707 let input = r#"<table><tr><td>
1708foo
1709</td></tr></table>"#;
1710 let output = r#"<table><tr><td>
1711foo
1712</td></tr></table>"#;
1713 run(input, output);
1714}
1715
1716#[test]
1717fn src_line_2618() {
1718 let input = r#"<div></div>
1719``` c
1720int x = 33;
1721```"#;
1722 let output = r#"<div></div>
1723``` c
1724int x = 33;
1725```"#;
1726 run(input, output);
1727}
1728
1729#[test]
1730fn src_line_2635() {
1731 let input = r#"<a href="foo">
1732*bar*
1733</a>"#;
1734 let output = r#"<a href="foo">
1735*bar*
1736</a>"#;
1737 run(input, output);
1738}
1739
1740#[test]
1741fn src_line_2648() {
1742 let input = r#"<Warning>
1743*bar*
1744</Warning>"#;
1745 let output = r#"<Warning>
1746*bar*
1747</Warning>"#;
1748 run(input, output);
1749}
1750
1751#[test]
1752fn src_line_2659() {
1753 let input = r#"<i class="foo">
1754*bar*
1755</i>"#;
1756 let output = r#"<i class="foo">
1757*bar*
1758</i>"#;
1759 run(input, output);
1760}
1761
1762#[test]
1763fn src_line_2670() {
1764 let input = r#"</ins>
1765*bar*"#;
1766 let output = r#"</ins>
1767*bar*"#;
1768 run(input, output);
1769}
1770
1771#[test]
1772fn src_line_2685() {
1773 let input = r#"<del>
1774*foo*
1775</del>"#;
1776 let output = r#"<del>
1777*foo*
1778</del>"#;
1779 run(input, output);
1780}
1781
1782#[test]
1783fn src_line_2700() {
1784 let input = r#"<del>
1785
1786*foo*
1787
1788</del>"#;
1789 let output = r#"<del>
1790<p><em>foo</em></p>
1791</del>"#;
1792 run(input, output);
1793}
1794
1795#[test]
1796fn src_line_2718() {
1797 let input = r#"<del>*foo*</del>"#;
1798 let output = r#"<p><del><em>foo</em></del></p>"#;
1799 run(input, output);
1800}
1801
1802#[test]
1803fn src_line_2734() {
1804 let input = r#"<pre language="haskell"><code>
1805import Text.HTML.TagSoup
1806
1807main :: IO ()
1808main = print $ parseTags tags
1809</code></pre>
1810okay"#;
1811 let output = r#"<pre language="haskell"><code>
1812import Text.HTML.TagSoup
1813
1814main :: IO ()
1815main = print $ parseTags tags
1816</code></pre>
1817<p>okay</p>"#;
1818 run(input, output);
1819}
1820
1821#[test]
1822fn src_line_2755() {
1823 let input = r#"<script type="text/javascript">
1824// JavaScript example
1825
1826document.getElementById("demo").innerHTML = "Hello JavaScript!";
1827</script>
1828okay"#;
1829 let output = r#"<script type="text/javascript">
1830// JavaScript example
1831
1832document.getElementById("demo").innerHTML = "Hello JavaScript!";
1833</script>
1834<p>okay</p>"#;
1835 run(input, output);
1836}
1837
1838#[test]
1839fn src_line_2774() {
1840 let input = r#"<textarea>
1841
1842*foo*
1843
1844_bar_
1845
1846</textarea>"#;
1847 let output = r#"<textarea>
1848
1849*foo*
1850
1851_bar_
1852
1853</textarea>"#;
1854 run(input, output);
1855}
1856
1857#[test]
1858fn src_line_2794() {
1859 let input = r#"<style
1860 type="text/css">
1861h1 {color:red;}
1862
1863p {color:blue;}
1864</style>
1865okay"#;
1866 let output = r#"<style
1867 type="text/css">
1868h1 {color:red;}
1869
1870p {color:blue;}
1871</style>
1872<p>okay</p>"#;
1873 run(input, output);
1874}
1875
1876#[test]
1877fn src_line_2817() {
1878 let input = r#"<style
1879 type="text/css">
1880
1881foo"#;
1882 let output = r#"<style
1883 type="text/css">
1884
1885foo"#;
1886 run(input, output);
1887}
1888
1889#[test]
1890fn src_line_2830() {
1891 let input = r#"> <div>
1892> foo
1893
1894bar"#;
1895 let output = r#"<blockquote>
1896<div>
1897foo
1898</blockquote>
1899<p>bar</p>"#;
1900 run(input, output);
1901}
1902
1903#[test]
1904fn src_line_2844() {
1905 let input = r#"- <div>
1906- foo"#;
1907 let output = r#"<ul>
1908<li>
1909<div>
1910</li>
1911<li>foo</li>
1912</ul>"#;
1913 run(input, output);
1914}
1915
1916#[test]
1917fn src_line_2859() {
1918 let input = r#"<style>p{color:red;}</style>
1919*foo*"#;
1920 let output = r#"<style>p{color:red;}</style>
1921<p><em>foo</em></p>"#;
1922 run(input, output);
1923}
1924
1925#[test]
1926fn src_line_2868() {
1927 let input = r#"<!-- foo -->*bar*
1928*baz*"#;
1929 let output = r#"<!-- foo -->*bar*
1930<p><em>baz</em></p>"#;
1931 run(input, output);
1932}
1933
1934#[test]
1935fn src_line_2880() {
1936 let input = r#"<script>
1937foo
1938</script>1. *bar*"#;
1939 let output = r#"<script>
1940foo
1941</script>1. *bar*"#;
1942 run(input, output);
1943}
1944
1945#[test]
1946fn src_line_2893() {
1947 let input = r#"<!-- Foo
1948
1949bar
1950 baz -->
1951okay"#;
1952 let output = r#"<!-- Foo
1953
1954bar
1955 baz -->
1956<p>okay</p>"#;
1957 run(input, output);
1958}
1959
1960#[test]
1961fn src_line_2911() {
1962 let input = r#"<?php
1963
1964 echo '>';
1965
1966?>
1967okay"#;
1968 let output = r#"<?php
1969
1970 echo '>';
1971
1972?>
1973<p>okay</p>"#;
1974 run(input, output);
1975}
1976
1977#[test]
1978fn src_line_2930() {
1979 let input = r#"<!DOCTYPE html>"#;
1980 let output = r#"<!DOCTYPE html>"#;
1981 run(input, output);
1982}
1983
1984#[test]
1985fn src_line_2939() {
1986 let input = r#"<![CDATA[
1987function matchwo(a,b)
1988{
1989 if (a < b && a < 0) then {
1990 return 1;
1991
1992 } else {
1993
1994 return 0;
1995 }
1996}
1997]]>
1998okay"#;
1999 let output = r#"<![CDATA[
2000function matchwo(a,b)
2001{
2002 if (a < b && a < 0) then {
2003 return 1;
2004
2005 } else {
2006
2007 return 0;
2008 }
2009}
2010]]>
2011<p>okay</p>"#;
2012 run(input, output);
2013}
2014
2015#[test]
2016fn src_line_2973() {
2017 let input = r#" <!-- foo -->
2018
2019 <!-- foo -->"#;
2020 let output = r#" <!-- foo -->
2021<pre><code>&lt;!-- foo --&gt;
2022</code></pre>"#;
2023 run(input, output);
2024}
2025
2026#[test]
2027fn src_line_2984() {
2028 let input = r#" <div>
2029
2030 <div>"#;
2031 let output = r#" <div>
2032<pre><code>&lt;div&gt;
2033</code></pre>"#;
2034 run(input, output);
2035}
2036
2037#[test]
2038fn src_line_2998() {
2039 let input = r#"Foo
2040<div>
2041bar
2042</div>"#;
2043 let output = r#"<p>Foo</p>
2044<div>
2045bar
2046</div>"#;
2047 run(input, output);
2048}
2049
2050#[test]
2051fn src_line_3015() {
2052 let input = r#"<div>
2053bar
2054</div>
2055*foo*"#;
2056 let output = r#"<div>
2057bar
2058</div>
2059*foo*"#;
2060 run(input, output);
2061}
2062
2063#[test]
2064fn src_line_3030() {
2065 let input = r#"Foo
2066<a href="bar">
2067baz"#;
2068 let output = r#"<p>Foo
2069<a href="bar">
2070baz</p>"#;
2071 run(input, output);
2072}
2073
2074#[test]
2075fn src_line_3071() {
2076 let input = r#"<div>
2077
2078*Emphasized* text.
2079
2080</div>"#;
2081 let output = r#"<div>
2082<p><em>Emphasized</em> text.</p>
2083</div>"#;
2084 run(input, output);
2085}
2086
2087#[test]
2088fn src_line_3084() {
2089 let input = r#"<div>
2090*Emphasized* text.
2091</div>"#;
2092 let output = r#"<div>
2093*Emphasized* text.
2094</div>"#;
2095 run(input, output);
2096}
2097
2098#[test]
2099fn src_line_3106() {
2100 let input = r#"<table>
2101
2102<tr>
2103
2104<td>
2105Hi
2106</td>
2107
2108</tr>
2109
2110</table>"#;
2111 let output = r#"<table>
2112<tr>
2113<td>
2114Hi
2115</td>
2116</tr>
2117</table>"#;
2118 run(input, output);
2119}
2120
2121#[test]
2122fn src_line_3133() {
2123 let input = r#"<table>
2124
2125 <tr>
2126
2127 <td>
2128 Hi
2129 </td>
2130
2131 </tr>
2132
2133</table>"#;
2134 let output = r#"<table>
2135 <tr>
2136<pre><code>&lt;td&gt;
2137 Hi
2138&lt;/td&gt;
2139</code></pre>
2140 </tr>
2141</table>"#;
2142 run(input, output);
2143}
2144
2145#[test]
2146fn src_line_3182() {
2147 let input = r#"[foo]: /url "title"
2148
2149[foo]"#;
2150 let output = r#"<p><a href="/url" title="title">foo</a></p>"#;
2151 run(input, output);
2152}
2153
2154#[test]
2155fn src_line_3191() {
2156 let input = " [foo]:\x20
2157 /url \x20
2158 'the title' \x20
2159
2160[foo]";
2161 let output = r#"<p><a href="/url" title="the title">foo</a></p>"#;
2162 run(input, output);
2163}
2164
2165#[test]
2166fn src_line_3202() {
2167 let input = r#"[Foo*bar\]]:my_(url) 'title (with parens)'
2168
2169[Foo*bar\]]"#;
2170 let output = r#"<p><a href="my_(url)" title="title (with parens)">Foo*bar]</a></p>"#;
2171 run(input, output);
2172}
2173
2174#[test]
2175fn src_line_3211() {
2176 let input = r#"[Foo bar]:
2177<my url>
2178'title'
2179
2180[Foo bar]"#;
2181 let output = r#"<p><a href="my%20url" title="title">Foo bar</a></p>"#;
2182 run(input, output);
2183}
2184
2185#[test]
2186fn src_line_3224() {
2187 let input = r#"[foo]: /url '
2188title
2189line1
2190line2
2191'
2192
2193[foo]"#;
2194 let output = r#"<p><a href="/url" title="
2195title
2196line1
2197line2
2198">foo</a></p>"#;
2199 run(input, output);
2200}
2201
2202#[test]
2203fn src_line_3243() {
2204 let input = r#"[foo]: /url 'title
2205
2206with blank line'
2207
2208[foo]"#;
2209 let output = r#"<p>[foo]: /url 'title</p>
2210<p>with blank line'</p>
2211<p>[foo]</p>"#;
2212 run(input, output);
2213}
2214
2215#[test]
2216fn src_line_3258() {
2217 let input = r#"[foo]:
2218/url
2219
2220[foo]"#;
2221 let output = r#"<p><a href="/url">foo</a></p>"#;
2222 run(input, output);
2223}
2224
2225#[test]
2226fn src_line_3270() {
2227 let input = r#"[foo]:
2228
2229[foo]"#;
2230 let output = r#"<p>[foo]:</p>
2231<p>[foo]</p>"#;
2232 run(input, output);
2233}
2234
2235#[test]
2236fn src_line_3282() {
2237 let input = r#"[foo]: <>
2238
2239[foo]"#;
2240 let output = r#"<p><a href="">foo</a></p>"#;
2241 run(input, output);
2242}
2243
2244#[test]
2245fn src_line_3293() {
2246 let input = r#"[foo]: <bar>(baz)
2247
2248[foo]"#;
2249 let output = r#"<p>[foo]: <bar>(baz)</p>
2250<p>[foo]</p>"#;
2251 run(input, output);
2252}
2253
2254#[test]
2255fn src_line_3306() {
2256 let input = r#"[foo]: /url\bar\*baz "foo\"bar\baz"
2257
2258[foo]"#;
2259 let output = r#"<p><a href="/url%5Cbar*baz" title="foo&quot;bar\baz">foo</a></p>"#;
2260 run(input, output);
2261}
2262
2263#[test]
2264fn src_line_3317() {
2265 let input = r#"[foo]
2266
2267[foo]: url"#;
2268 let output = r#"<p><a href="url">foo</a></p>"#;
2269 run(input, output);
2270}
2271
2272#[test]
2273fn src_line_3329() {
2274 let input = r#"[foo]
2275
2276[foo]: first
2277[foo]: second"#;
2278 let output = r#"<p><a href="first">foo</a></p>"#;
2279 run(input, output);
2280}
2281
2282#[test]
2283fn src_line_3342() {
2284 let input = r#"[FOO]: /url
2285
2286[Foo]"#;
2287 let output = r#"<p><a href="/url">Foo</a></p>"#;
2288 run(input, output);
2289}
2290
2291#[test]
2292fn src_line_3351() {
2293 let input = r#"[ΑΓΩ]: /φου
2294
2295[αγω]"#;
2296 let output = r#"<p><a href="/%CF%86%CE%BF%CF%85">αγω</a></p>"#;
2297 run(input, output);
2298}
2299
2300#[test]
2301fn src_line_3366() {
2302 let input = r#"[foo]: /url"#;
2303 let output = r#""#;
2304 run(input, output);
2305}
2306
2307#[test]
2308fn src_line_3374() {
2309 let input = r#"[
2310foo
2311]: /url
2312bar"#;
2313 let output = r#"<p>bar</p>"#;
2314 run(input, output);
2315}
2316
2317#[test]
2318fn src_line_3387() {
2319 let input = r#"[foo]: /url "title" ok"#;
2320 let output = r#"<p>[foo]: /url &quot;title&quot; ok</p>"#;
2321 run(input, output);
2322}
2323
2324#[test]
2325fn src_line_3396() {
2326 let input = r#"[foo]: /url
2327"title" ok"#;
2328 let output = r#"<p>&quot;title&quot; ok</p>"#;
2329 run(input, output);
2330}
2331
2332#[test]
2333fn src_line_3407() {
2334 let input = r#" [foo]: /url "title"
2335
2336[foo]"#;
2337 let output = r#"<pre><code>[foo]: /url &quot;title&quot;
2338</code></pre>
2339<p>[foo]</p>"#;
2340 run(input, output);
2341}
2342
2343#[test]
2344fn src_line_3421() {
2345 let input = r#"```
2346[foo]: /url
2347```
2348
2349[foo]"#;
2350 let output = r#"<pre><code>[foo]: /url
2351</code></pre>
2352<p>[foo]</p>"#;
2353 run(input, output);
2354}
2355
2356#[test]
2357fn src_line_3436() {
2358 let input = r#"Foo
2359[bar]: /baz
2360
2361[bar]"#;
2362 let output = r#"<p>Foo
2363[bar]: /baz</p>
2364<p>[bar]</p>"#;
2365 run(input, output);
2366}
2367
2368#[test]
2369fn src_line_3451() {
2370 let input = r#"# [Foo]
2371[foo]: /url
2372> bar"#;
2373 let output = r#"<h1><a href="/url">Foo</a></h1>
2374<blockquote>
2375<p>bar</p>
2376</blockquote>"#;
2377 run(input, output);
2378}
2379
2380#[test]
2381fn src_line_3462() {
2382 let input = r#"[foo]: /url
2383bar
2384===
2385[foo]"#;
2386 let output = r#"<h1>bar</h1>
2387<p><a href="/url">foo</a></p>"#;
2388 run(input, output);
2389}
2390
2391#[test]
2392fn src_line_3472() {
2393 let input = r#"[foo]: /url
2394===
2395[foo]"#;
2396 let output = r#"<p>===
2397<a href="/url">foo</a></p>"#;
2398 run(input, output);
2399}
2400
2401#[test]
2402fn src_line_3485() {
2403 let input = r#"[foo]: /foo-url "foo"
2404[bar]: /bar-url
2405 "bar"
2406[baz]: /baz-url
2407
2408[foo],
2409[bar],
2410[baz]"#;
2411 let output = r#"<p><a href="/foo-url" title="foo">foo</a>,
2412<a href="/bar-url" title="bar">bar</a>,
2413<a href="/baz-url">baz</a></p>"#;
2414 run(input, output);
2415}
2416
2417#[test]
2418fn src_line_3506() {
2419 let input = r#"[foo]
2420
2421> [foo]: /url"#;
2422 let output = r#"<p><a href="/url">foo</a></p>
2423<blockquote>
2424</blockquote>"#;
2425 run(input, output);
2426}
2427
2428#[test]
2429fn src_line_3528() {
2430 let input = r#"aaa
2431
2432bbb"#;
2433 let output = r#"<p>aaa</p>
2434<p>bbb</p>"#;
2435 run(input, output);
2436}
2437
2438#[test]
2439fn src_line_3540() {
2440 let input = r#"aaa
2441bbb
2442
2443ccc
2444ddd"#;
2445 let output = r#"<p>aaa
2446bbb</p>
2447<p>ccc
2448ddd</p>"#;
2449 run(input, output);
2450}
2451
2452#[test]
2453fn src_line_3556() {
2454 let input = r#"aaa
2455
2456
2457bbb"#;
2458 let output = r#"<p>aaa</p>
2459<p>bbb</p>"#;
2460 run(input, output);
2461}
2462
2463#[test]
2464fn src_line_3569() {
2465 let input = r#" aaa
2466 bbb"#;
2467 let output = r#"<p>aaa
2468bbb</p>"#;
2469 run(input, output);
2470}
2471
2472#[test]
2473fn src_line_3581() {
2474 let input = r#"aaa
2475 bbb
2476 ccc"#;
2477 let output = r#"<p>aaa
2478bbb
2479ccc</p>"#;
2480 run(input, output);
2481}
2482
2483#[test]
2484fn src_line_3595() {
2485 let input = r#" aaa
2486bbb"#;
2487 let output = r#"<p>aaa
2488bbb</p>"#;
2489 run(input, output);
2490}
2491
2492#[test]
2493fn src_line_3604() {
2494 let input = r#" aaa
2495bbb"#;
2496 let output = r#"<pre><code>aaa
2497</code></pre>
2498<p>bbb</p>"#;
2499 run(input, output);
2500}
2501
2502#[test]
2503fn src_line_3618() {
2504 let input = "aaa \x20
2505bbb \x20";
2506 let output = r#"<p>aaa<br />
2507bbb</p>"#;
2508 run(input, output);
2509}
2510
2511#[test]
2512fn src_line_3635() {
2513 let input = " \x20
2514
2515aaa
2516 \x20
2517
2518# aaa
2519
2520 \x20";
2521 let output = r#"<p>aaa</p>
2522<h1>aaa</h1>"#;
2523 run(input, output);
2524}
2525
2526#[test]
2527fn src_line_3703() {
2528 let input = r#"> # Foo
2529> bar
2530> baz"#;
2531 let output = r#"<blockquote>
2532<h1>Foo</h1>
2533<p>bar
2534baz</p>
2535</blockquote>"#;
2536 run(input, output);
2537}
2538
2539#[test]
2540fn src_line_3718() {
2541 let input = r#"># Foo
2542>bar
2543> baz"#;
2544 let output = r#"<blockquote>
2545<h1>Foo</h1>
2546<p>bar
2547baz</p>
2548</blockquote>"#;
2549 run(input, output);
2550}
2551
2552#[test]
2553fn src_line_3733() {
2554 let input = r#" > # Foo
2555 > bar
2556 > baz"#;
2557 let output = r#"<blockquote>
2558<h1>Foo</h1>
2559<p>bar
2560baz</p>
2561</blockquote>"#;
2562 run(input, output);
2563}
2564
2565#[test]
2566fn src_line_3748() {
2567 let input = r#" > # Foo
2568 > bar
2569 > baz"#;
2570 let output = r#"<pre><code>&gt; # Foo
2571&gt; bar
2572&gt; baz
2573</code></pre>"#;
2574 run(input, output);
2575}
2576
2577#[test]
2578fn src_line_3763() {
2579 let input = r#"> # Foo
2580> bar
2581baz"#;
2582 let output = r#"<blockquote>
2583<h1>Foo</h1>
2584<p>bar
2585baz</p>
2586</blockquote>"#;
2587 run(input, output);
2588}
2589
2590#[test]
2591fn src_line_3779() {
2592 let input = r#"> bar
2593baz
2594> foo"#;
2595 let output = r#"<blockquote>
2596<p>bar
2597baz
2598foo</p>
2599</blockquote>"#;
2600 run(input, output);
2601}
2602
2603#[test]
2604fn src_line_3803() {
2605 let input = r#"> foo
2606---"#;
2607 let output = r#"<blockquote>
2608<p>foo</p>
2609</blockquote>
2610<hr />"#;
2611 run(input, output);
2612}
2613
2614#[test]
2615fn src_line_3823() {
2616 let input = r#"> - foo
2617- bar"#;
2618 let output = r#"<blockquote>
2619<ul>
2620<li>foo</li>
2621</ul>
2622</blockquote>
2623<ul>
2624<li>bar</li>
2625</ul>"#;
2626 run(input, output);
2627}
2628
2629#[test]
2630fn src_line_3841() {
2631 let input = r#"> foo
2632 bar"#;
2633 let output = r#"<blockquote>
2634<pre><code>foo
2635</code></pre>
2636</blockquote>
2637<pre><code>bar
2638</code></pre>"#;
2639 run(input, output);
2640}
2641
2642#[test]
2643fn src_line_3854() {
2644 let input = r#"> ```
2645foo
2646```"#;
2647 let output = r#"<blockquote>
2648<pre><code></code></pre>
2649</blockquote>
2650<p>foo</p>
2651<pre><code></code></pre>"#;
2652 run(input, output);
2653}
2654
2655#[test]
2656fn src_line_3870() {
2657 let input = r#"> foo
2658 - bar"#;
2659 let output = r#"<blockquote>
2660<p>foo
2661- bar</p>
2662</blockquote>"#;
2663 run(input, output);
2664}
2665
2666#[test]
2667fn src_line_3894() {
2668 let input = r#">"#;
2669 let output = r#"<blockquote>
2670</blockquote>"#;
2671 run(input, output);
2672}
2673
2674#[test]
2675fn src_line_3902() {
2676 let input = ">
2677> \x20
2678>\x20";
2679 let output = r#"<blockquote>
2680</blockquote>"#;
2681 run(input, output);
2682}
2683
2684#[test]
2685fn src_line_3914() {
2686 let input = ">
2687> foo
2688> \x20";
2689 let output = r#"<blockquote>
2690<p>foo</p>
2691</blockquote>"#;
2692 run(input, output);
2693}
2694
2695#[test]
2696fn src_line_3927() {
2697 let input = r#"> foo
2698
2699> bar"#;
2700 let output = r#"<blockquote>
2701<p>foo</p>
2702</blockquote>
2703<blockquote>
2704<p>bar</p>
2705</blockquote>"#;
2706 run(input, output);
2707}
2708
2709#[test]
2710fn src_line_3949() {
2711 let input = r#"> foo
2712> bar"#;
2713 let output = r#"<blockquote>
2714<p>foo
2715bar</p>
2716</blockquote>"#;
2717 run(input, output);
2718}
2719
2720#[test]
2721fn src_line_3962() {
2722 let input = r#"> foo
2723>
2724> bar"#;
2725 let output = r#"<blockquote>
2726<p>foo</p>
2727<p>bar</p>
2728</blockquote>"#;
2729 run(input, output);
2730}
2731
2732#[test]
2733fn src_line_3976() {
2734 let input = r#"foo
2735> bar"#;
2736 let output = r#"<p>foo</p>
2737<blockquote>
2738<p>bar</p>
2739</blockquote>"#;
2740 run(input, output);
2741}
2742
2743#[test]
2744fn src_line_3990() {
2745 let input = r#"> aaa
2746***
2747> bbb"#;
2748 let output = r#"<blockquote>
2749<p>aaa</p>
2750</blockquote>
2751<hr />
2752<blockquote>
2753<p>bbb</p>
2754</blockquote>"#;
2755 run(input, output);
2756}
2757
2758#[test]
2759fn src_line_4008() {
2760 let input = r#"> bar
2761baz"#;
2762 let output = r#"<blockquote>
2763<p>bar
2764baz</p>
2765</blockquote>"#;
2766 run(input, output);
2767}
2768
2769#[test]
2770fn src_line_4019() {
2771 let input = r#"> bar
2772
2773baz"#;
2774 let output = r#"<blockquote>
2775<p>bar</p>
2776</blockquote>
2777<p>baz</p>"#;
2778 run(input, output);
2779}
2780
2781#[test]
2782fn src_line_4031() {
2783 let input = r#"> bar
2784>
2785baz"#;
2786 let output = r#"<blockquote>
2787<p>bar</p>
2788</blockquote>
2789<p>baz</p>"#;
2790 run(input, output);
2791}
2792
2793#[test]
2794fn src_line_4047() {
2795 let input = r#"> > > foo
2796bar"#;
2797 let output = r#"<blockquote>
2798<blockquote>
2799<blockquote>
2800<p>foo
2801bar</p>
2802</blockquote>
2803</blockquote>
2804</blockquote>"#;
2805 run(input, output);
2806}
2807
2808#[test]
2809fn src_line_4062() {
2810 let input = r#">>> foo
2811> bar
2812>>baz"#;
2813 let output = r#"<blockquote>
2814<blockquote>
2815<blockquote>
2816<p>foo
2817bar
2818baz</p>
2819</blockquote>
2820</blockquote>
2821</blockquote>"#;
2822 run(input, output);
2823}
2824
2825#[test]
2826fn src_line_4084() {
2827 let input = r#"> code
2828
2829> not code"#;
2830 let output = r#"<blockquote>
2831<pre><code>code
2832</code></pre>
2833</blockquote>
2834<blockquote>
2835<p>not code</p>
2836</blockquote>"#;
2837 run(input, output);
2838}
2839
2840#[test]
2841fn src_line_4138() {
2842 let input = r#"A paragraph
2843with two lines.
2844
2845 indented code
2846
2847> A block quote."#;
2848 let output = r#"<p>A paragraph
2849with two lines.</p>
2850<pre><code>indented code
2851</code></pre>
2852<blockquote>
2853<p>A block quote.</p>
2854</blockquote>"#;
2855 run(input, output);
2856}
2857
2858#[test]
2859fn src_line_4160() {
2860 let input = r#"1. A paragraph
2861 with two lines.
2862
2863 indented code
2864
2865 > A block quote."#;
2866 let output = r#"<ol>
2867<li>
2868<p>A paragraph
2869with two lines.</p>
2870<pre><code>indented code
2871</code></pre>
2872<blockquote>
2873<p>A block quote.</p>
2874</blockquote>
2875</li>
2876</ol>"#;
2877 run(input, output);
2878}
2879
2880#[test]
2881fn src_line_4193() {
2882 let input = r#"- one
2883
2884 two"#;
2885 let output = r#"<ul>
2886<li>one</li>
2887</ul>
2888<p>two</p>"#;
2889 run(input, output);
2890}
2891
2892#[test]
2893fn src_line_4205() {
2894 let input = r#"- one
2895
2896 two"#;
2897 let output = r#"<ul>
2898<li>
2899<p>one</p>
2900<p>two</p>
2901</li>
2902</ul>"#;
2903 run(input, output);
2904}
2905
2906#[test]
2907fn src_line_4219() {
2908 let input = r#" - one
2909
2910 two"#;
2911 let output = r#"<ul>
2912<li>one</li>
2913</ul>
2914<pre><code> two
2915</code></pre>"#;
2916 run(input, output);
2917}
2918
2919#[test]
2920fn src_line_4232() {
2921 let input = r#" - one
2922
2923 two"#;
2924 let output = r#"<ul>
2925<li>
2926<p>one</p>
2927<p>two</p>
2928</li>
2929</ul>"#;
2930 run(input, output);
2931}
2932
2933#[test]
2934fn src_line_4254() {
2935 let input = r#" > > 1. one
2936>>
2937>> two"#;
2938 let output = r#"<blockquote>
2939<blockquote>
2940<ol>
2941<li>
2942<p>one</p>
2943<p>two</p>
2944</li>
2945</ol>
2946</blockquote>
2947</blockquote>"#;
2948 run(input, output);
2949}
2950
2951#[test]
2952fn src_line_4281() {
2953 let input = r#">>- one
2954>>
2955 > > two"#;
2956 let output = r#"<blockquote>
2957<blockquote>
2958<ul>
2959<li>one</li>
2960</ul>
2961<p>two</p>
2962</blockquote>
2963</blockquote>"#;
2964 run(input, output);
2965}
2966
2967#[test]
2968fn src_line_4300() {
2969 let input = r#"-one
2970
29712.two"#;
2972 let output = r#"<p>-one</p>
2973<p>2.two</p>"#;
2974 run(input, output);
2975}
2976
2977#[test]
2978fn src_line_4313() {
2979 let input = r#"- foo
2980
2981
2982 bar"#;
2983 let output = r#"<ul>
2984<li>
2985<p>foo</p>
2986<p>bar</p>
2987</li>
2988</ul>"#;
2989 run(input, output);
2990}
2991
2992#[test]
2993fn src_line_4330() {
2994 let input = r#"1. foo
2995
2996 ```
2997 bar
2998 ```
2999
3000 baz
3001
3002 > bam"#;
3003 let output = r#"<ol>
3004<li>
3005<p>foo</p>
3006<pre><code>bar
3007</code></pre>
3008<p>baz</p>
3009<blockquote>
3010<p>bam</p>
3011</blockquote>
3012</li>
3013</ol>"#;
3014 run(input, output);
3015}
3016
3017#[test]
3018fn src_line_4358() {
3019 let input = r#"- Foo
3020
3021 bar
3022
3023
3024 baz"#;
3025 let output = r#"<ul>
3026<li>
3027<p>Foo</p>
3028<pre><code>bar
3029
3030
3031baz
3032</code></pre>
3033</li>
3034</ul>"#;
3035 run(input, output);
3036}
3037
3038#[test]
3039fn src_line_4380() {
3040 let input = r#"123456789. ok"#;
3041 let output = r#"<ol start="123456789">
3042<li>ok</li>
3043</ol>"#;
3044 run(input, output);
3045}
3046
3047#[test]
3048fn src_line_4389() {
3049 let input = r#"1234567890. not ok"#;
3050 let output = r#"<p>1234567890. not ok</p>"#;
3051 run(input, output);
3052}
3053
3054#[test]
3055fn src_line_4398() {
3056 let input = r#"0. ok"#;
3057 let output = r#"<ol start="0">
3058<li>ok</li>
3059</ol>"#;
3060 run(input, output);
3061}
3062
3063#[test]
3064fn src_line_4407() {
3065 let input = r#"003. ok"#;
3066 let output = r#"<ol start="3">
3067<li>ok</li>
3068</ol>"#;
3069 run(input, output);
3070}
3071
3072#[test]
3073fn src_line_4418() {
3074 let input = r#"-1. not ok"#;
3075 let output = r#"<p>-1. not ok</p>"#;
3076 run(input, output);
3077}
3078
3079#[test]
3080fn src_line_4441() {
3081 let input = r#"- foo
3082
3083 bar"#;
3084 let output = r#"<ul>
3085<li>
3086<p>foo</p>
3087<pre><code>bar
3088</code></pre>
3089</li>
3090</ul>"#;
3091 run(input, output);
3092}
3093
3094#[test]
3095fn src_line_4458() {
3096 let input = r#" 10. foo
3097
3098 bar"#;
3099 let output = r#"<ol start="10">
3100<li>
3101<p>foo</p>
3102<pre><code>bar
3103</code></pre>
3104</li>
3105</ol>"#;
3106 run(input, output);
3107}
3108
3109#[test]
3110fn src_line_4477() {
3111 let input = r#" indented code
3112
3113paragraph
3114
3115 more code"#;
3116 let output = r#"<pre><code>indented code
3117</code></pre>
3118<p>paragraph</p>
3119<pre><code>more code
3120</code></pre>"#;
3121 run(input, output);
3122}
3123
3124#[test]
3125fn src_line_4492() {
3126 let input = r#"1. indented code
3127
3128 paragraph
3129
3130 more code"#;
3131 let output = r#"<ol>
3132<li>
3133<pre><code>indented code
3134</code></pre>
3135<p>paragraph</p>
3136<pre><code>more code
3137</code></pre>
3138</li>
3139</ol>"#;
3140 run(input, output);
3141}
3142
3143#[test]
3144fn src_line_4514() {
3145 let input = r#"1. indented code
3146
3147 paragraph
3148
3149 more code"#;
3150 let output = r#"<ol>
3151<li>
3152<pre><code> indented code
3153</code></pre>
3154<p>paragraph</p>
3155<pre><code>more code
3156</code></pre>
3157</li>
3158</ol>"#;
3159 run(input, output);
3160}
3161
3162#[test]
3163fn src_line_4541() {
3164 let input = r#" foo
3165
3166bar"#;
3167 let output = r#"<p>foo</p>
3168<p>bar</p>"#;
3169 run(input, output);
3170}
3171
3172#[test]
3173fn src_line_4551() {
3174 let input = r#"- foo
3175
3176 bar"#;
3177 let output = r#"<ul>
3178<li>foo</li>
3179</ul>
3180<p>bar</p>"#;
3181 run(input, output);
3182}
3183
3184#[test]
3185fn src_line_4568() {
3186 let input = r#"- foo
3187
3188 bar"#;
3189 let output = r#"<ul>
3190<li>
3191<p>foo</p>
3192<p>bar</p>
3193</li>
3194</ul>"#;
3195 run(input, output);
3196}
3197
3198#[test]
3199fn src_line_4595() {
3200 let input = r#"-
3201 foo
3202-
3203 ```
3204 bar
3205 ```
3206-
3207 baz"#;
3208 let output = r#"<ul>
3209<li>foo</li>
3210<li>
3211<pre><code>bar
3212</code></pre>
3213</li>
3214<li>
3215<pre><code>baz
3216</code></pre>
3217</li>
3218</ul>"#;
3219 run(input, output);
3220}
3221
3222#[test]
3223fn src_line_4621() {
3224 let input = "- \x20
3225 foo";
3226 let output = r#"<ul>
3227<li>foo</li>
3228</ul>"#;
3229 run(input, output);
3230}
3231
3232#[test]
3233fn src_line_4635() {
3234 let input = r#"-
3235
3236 foo"#;
3237 let output = r#"<ul>
3238<li></li>
3239</ul>
3240<p>foo</p>"#;
3241 run(input, output);
3242}
3243
3244#[test]
3245fn src_line_4649() {
3246 let input = r#"- foo
3247-
3248- bar"#;
3249 let output = r#"<ul>
3250<li>foo</li>
3251<li></li>
3252<li>bar</li>
3253</ul>"#;
3254 run(input, output);
3255}
3256
3257#[test]
3258fn src_line_4664() {
3259 let input = "- foo
3260- \x20
3261- bar";
3262 let output = r#"<ul>
3263<li>foo</li>
3264<li></li>
3265<li>bar</li>
3266</ul>"#;
3267 run(input, output);
3268}
3269
3270#[test]
3271fn src_line_4679() {
3272 let input = r#"1. foo
32732.
32743. bar"#;
3275 let output = r#"<ol>
3276<li>foo</li>
3277<li></li>
3278<li>bar</li>
3279</ol>"#;
3280 run(input, output);
3281}
3282
3283#[test]
3284fn src_line_4694() {
3285 let input = r#"*"#;
3286 let output = r#"<ul>
3287<li></li>
3288</ul>"#;
3289 run(input, output);
3290}
3291
3292#[test]
3293fn src_line_4704() {
3294 let input = r#"foo
3295*
3296
3297foo
32981."#;
3299 let output = r#"<p>foo
3300*</p>
3301<p>foo
33021.</p>"#;
3303 run(input, output);
3304}
3305
3306#[test]
3307fn src_line_4726() {
3308 let input = r#" 1. A paragraph
3309 with two lines.
3310
3311 indented code
3312
3313 > A block quote."#;
3314 let output = r#"<ol>
3315<li>
3316<p>A paragraph
3317with two lines.</p>
3318<pre><code>indented code
3319</code></pre>
3320<blockquote>
3321<p>A block quote.</p>
3322</blockquote>
3323</li>
3324</ol>"#;
3325 run(input, output);
3326}
3327
3328#[test]
3329fn src_line_4750() {
3330 let input = r#" 1. A paragraph
3331 with two lines.
3332
3333 indented code
3334
3335 > A block quote."#;
3336 let output = r#"<ol>
3337<li>
3338<p>A paragraph
3339with two lines.</p>
3340<pre><code>indented code
3341</code></pre>
3342<blockquote>
3343<p>A block quote.</p>
3344</blockquote>
3345</li>
3346</ol>"#;
3347 run(input, output);
3348}
3349
3350#[test]
3351fn src_line_4774() {
3352 let input = r#" 1. A paragraph
3353 with two lines.
3354
3355 indented code
3356
3357 > A block quote."#;
3358 let output = r#"<ol>
3359<li>
3360<p>A paragraph
3361with two lines.</p>
3362<pre><code>indented code
3363</code></pre>
3364<blockquote>
3365<p>A block quote.</p>
3366</blockquote>
3367</li>
3368</ol>"#;
3369 run(input, output);
3370}
3371
3372#[test]
3373fn src_line_4798() {
3374 let input = r#" 1. A paragraph
3375 with two lines.
3376
3377 indented code
3378
3379 > A block quote."#;
3380 let output = r#"<pre><code>1. A paragraph
3381 with two lines.
3382
3383 indented code
3384
3385 &gt; A block quote.
3386</code></pre>"#;
3387 run(input, output);
3388}
3389
3390#[test]
3391fn src_line_4828() {
3392 let input = r#" 1. A paragraph
3393with two lines.
3394
3395 indented code
3396
3397 > A block quote."#;
3398 let output = r#"<ol>
3399<li>
3400<p>A paragraph
3401with two lines.</p>
3402<pre><code>indented code
3403</code></pre>
3404<blockquote>
3405<p>A block quote.</p>
3406</blockquote>
3407</li>
3408</ol>"#;
3409 run(input, output);
3410}
3411
3412#[test]
3413fn src_line_4852() {
3414 let input = r#" 1. A paragraph
3415 with two lines."#;
3416 let output = r#"<ol>
3417<li>A paragraph
3418with two lines.</li>
3419</ol>"#;
3420 run(input, output);
3421}
3422
3423#[test]
3424fn src_line_4865() {
3425 let input = r#"> 1. > Blockquote
3426continued here."#;
3427 let output = r#"<blockquote>
3428<ol>
3429<li>
3430<blockquote>
3431<p>Blockquote
3432continued here.</p>
3433</blockquote>
3434</li>
3435</ol>
3436</blockquote>"#;
3437 run(input, output);
3438}
3439
3440#[test]
3441fn src_line_4882() {
3442 let input = r#"> 1. > Blockquote
3443> continued here."#;
3444 let output = r#"<blockquote>
3445<ol>
3446<li>
3447<blockquote>
3448<p>Blockquote
3449continued here.</p>
3450</blockquote>
3451</li>
3452</ol>
3453</blockquote>"#;
3454 run(input, output);
3455}
3456
3457#[test]
3458fn src_line_4910() {
3459 let input = r#"- foo
3460 - bar
3461 - baz
3462 - boo"#;
3463 let output = r#"<ul>
3464<li>foo
3465<ul>
3466<li>bar
3467<ul>
3468<li>baz
3469<ul>
3470<li>boo</li>
3471</ul>
3472</li>
3473</ul>
3474</li>
3475</ul>
3476</li>
3477</ul>"#;
3478 run(input, output);
3479}
3480
3481#[test]
3482fn src_line_4936() {
3483 let input = r#"- foo
3484 - bar
3485 - baz
3486 - boo"#;
3487 let output = r#"<ul>
3488<li>foo</li>
3489<li>bar</li>
3490<li>baz</li>
3491<li>boo</li>
3492</ul>"#;
3493 run(input, output);
3494}
3495
3496#[test]
3497fn src_line_4953() {
3498 let input = r#"10) foo
3499 - bar"#;
3500 let output = r#"<ol start="10">
3501<li>foo
3502<ul>
3503<li>bar</li>
3504</ul>
3505</li>
3506</ol>"#;
3507 run(input, output);
3508}
3509
3510#[test]
3511fn src_line_4969() {
3512 let input = r#"10) foo
3513 - bar"#;
3514 let output = r#"<ol start="10">
3515<li>foo</li>
3516</ol>
3517<ul>
3518<li>bar</li>
3519</ul>"#;
3520 run(input, output);
3521}
3522
3523#[test]
3524fn src_line_4984() {
3525 let input = r#"- - foo"#;
3526 let output = r#"<ul>
3527<li>
3528<ul>
3529<li>foo</li>
3530</ul>
3531</li>
3532</ul>"#;
3533 run(input, output);
3534}
3535
3536#[test]
3537fn src_line_4997() {
3538 let input = r#"1. - 2. foo"#;
3539 let output = r#"<ol>
3540<li>
3541<ul>
3542<li>
3543<ol start="2">
3544<li>foo</li>
3545</ol>
3546</li>
3547</ul>
3548</li>
3549</ol>"#;
3550 run(input, output);
3551}
3552
3553#[test]
3554fn src_line_5016() {
3555 let input = r#"- # Foo
3556- Bar
3557 ---
3558 baz"#;
3559 let output = r#"<ul>
3560<li>
3561<h1>Foo</h1>
3562</li>
3563<li>
3564<h2>Bar</h2>
3565baz</li>
3566</ul>"#;
3567 run(input, output);
3568}
3569
3570#[test]
3571fn src_line_5252() {
3572 let input = r#"- foo
3573- bar
3574+ baz"#;
3575 let output = r#"<ul>
3576<li>foo</li>
3577<li>bar</li>
3578</ul>
3579<ul>
3580<li>baz</li>
3581</ul>"#;
3582 run(input, output);
3583}
3584
3585#[test]
3586fn src_line_5267() {
3587 let input = r#"1. foo
35882. bar
35893) baz"#;
3590 let output = r#"<ol>
3591<li>foo</li>
3592<li>bar</li>
3593</ol>
3594<ol start="3">
3595<li>baz</li>
3596</ol>"#;
3597 run(input, output);
3598}
3599
3600#[test]
3601fn src_line_5286() {
3602 let input = r#"Foo
3603- bar
3604- baz"#;
3605 let output = r#"<p>Foo</p>
3606<ul>
3607<li>bar</li>
3608<li>baz</li>
3609</ul>"#;
3610 run(input, output);
3611}
3612
3613#[test]
3614fn src_line_5363() {
3615 let input = r#"The number of windows in my house is
361614. The number of doors is 6."#;
3617 let output = r#"<p>The number of windows in my house is
361814. The number of doors is 6.</p>"#;
3619 run(input, output);
3620}
3621
3622#[test]
3623fn src_line_5373() {
3624 let input = r#"The number of windows in my house is
36251. The number of doors is 6."#;
3626 let output = r#"<p>The number of windows in my house is</p>
3627<ol>
3628<li>The number of doors is 6.</li>
3629</ol>"#;
3630 run(input, output);
3631}
3632
3633#[test]
3634fn src_line_5387() {
3635 let input = r#"- foo
3636
3637- bar
3638
3639
3640- baz"#;
3641 let output = r#"<ul>
3642<li>
3643<p>foo</p>
3644</li>
3645<li>
3646<p>bar</p>
3647</li>
3648<li>
3649<p>baz</p>
3650</li>
3651</ul>"#;
3652 run(input, output);
3653}
3654
3655#[test]
3656fn src_line_5408() {
3657 let input = r#"- foo
3658 - bar
3659 - baz
3660
3661
3662 bim"#;
3663 let output = r#"<ul>
3664<li>foo
3665<ul>
3666<li>bar
3667<ul>
3668<li>
3669<p>baz</p>
3670<p>bim</p>
3671</li>
3672</ul>
3673</li>
3674</ul>
3675</li>
3676</ul>"#;
3677 run(input, output);
3678}
3679
3680#[test]
3681fn src_line_5438() {
3682 let input = r#"- foo
3683- bar
3684
3685<!-- -->
3686
3687- baz
3688- bim"#;
3689 let output = r#"<ul>
3690<li>foo</li>
3691<li>bar</li>
3692</ul>
3693<!-- -->
3694<ul>
3695<li>baz</li>
3696<li>bim</li>
3697</ul>"#;
3698 run(input, output);
3699}
3700
3701#[test]
3702fn src_line_5459() {
3703 let input = r#"- foo
3704
3705 notcode
3706
3707- foo
3708
3709<!-- -->
3710
3711 code"#;
3712 let output = r#"<ul>
3713<li>
3714<p>foo</p>
3715<p>notcode</p>
3716</li>
3717<li>
3718<p>foo</p>
3719</li>
3720</ul>
3721<!-- -->
3722<pre><code>code
3723</code></pre>"#;
3724 run(input, output);
3725}
3726
3727#[test]
3728fn src_line_5490() {
3729 let input = r#"- a
3730 - b
3731 - c
3732 - d
3733 - e
3734 - f
3735- g"#;
3736 let output = r#"<ul>
3737<li>a</li>
3738<li>b</li>
3739<li>c</li>
3740<li>d</li>
3741<li>e</li>
3742<li>f</li>
3743<li>g</li>
3744</ul>"#;
3745 run(input, output);
3746}
3747
3748#[test]
3749fn src_line_5511() {
3750 let input = r#"1. a
3751
3752 2. b
3753
3754 3. c"#;
3755 let output = r#"<ol>
3756<li>
3757<p>a</p>
3758</li>
3759<li>
3760<p>b</p>
3761</li>
3762<li>
3763<p>c</p>
3764</li>
3765</ol>"#;
3766 run(input, output);
3767}
3768
3769#[test]
3770fn src_line_5535() {
3771 let input = r#"- a
3772 - b
3773 - c
3774 - d
3775 - e"#;
3776 let output = r#"<ul>
3777<li>a</li>
3778<li>b</li>
3779<li>c</li>
3780<li>d
3781- e</li>
3782</ul>"#;
3783 run(input, output);
3784}
3785
3786#[test]
3787fn src_line_5555() {
3788 let input = r#"1. a
3789
3790 2. b
3791
3792 3. c"#;
3793 let output = r#"<ol>
3794<li>
3795<p>a</p>
3796</li>
3797<li>
3798<p>b</p>
3799</li>
3800</ol>
3801<pre><code>3. c
3802</code></pre>"#;
3803 run(input, output);
3804}
3805
3806#[test]
3807fn src_line_5578() {
3808 let input = r#"- a
3809- b
3810
3811- c"#;
3812 let output = r#"<ul>
3813<li>
3814<p>a</p>
3815</li>
3816<li>
3817<p>b</p>
3818</li>
3819<li>
3820<p>c</p>
3821</li>
3822</ul>"#;
3823 run(input, output);
3824}
3825
3826#[test]
3827fn src_line_5600() {
3828 let input = r#"* a
3829*
3830
3831* c"#;
3832 let output = r#"<ul>
3833<li>
3834<p>a</p>
3835</li>
3836<li></li>
3837<li>
3838<p>c</p>
3839</li>
3840</ul>"#;
3841 run(input, output);
3842}
3843
3844#[test]
3845fn src_line_5622() {
3846 let input = r#"- a
3847- b
3848
3849 c
3850- d"#;
3851 let output = r#"<ul>
3852<li>
3853<p>a</p>
3854</li>
3855<li>
3856<p>b</p>
3857<p>c</p>
3858</li>
3859<li>
3860<p>d</p>
3861</li>
3862</ul>"#;
3863 run(input, output);
3864}
3865
3866#[test]
3867fn src_line_5644() {
3868 let input = r#"- a
3869- b
3870
3871 [ref]: /url
3872- d"#;
3873 let output = r#"<ul>
3874<li>
3875<p>a</p>
3876</li>
3877<li>
3878<p>b</p>
3879</li>
3880<li>
3881<p>d</p>
3882</li>
3883</ul>"#;
3884 run(input, output);
3885}
3886
3887#[test]
3888fn src_line_5667() {
3889 let input = r#"- a
3890- ```
3891 b
3892
3893
3894 ```
3895- c"#;
3896 let output = r#"<ul>
3897<li>a</li>
3898<li>
3899<pre><code>b
3900
3901
3902</code></pre>
3903</li>
3904<li>c</li>
3905</ul>"#;
3906 run(input, output);
3907}
3908
3909#[test]
3910fn src_line_5693() {
3911 let input = r#"- a
3912 - b
3913
3914 c
3915- d"#;
3916 let output = r#"<ul>
3917<li>a
3918<ul>
3919<li>
3920<p>b</p>
3921<p>c</p>
3922</li>
3923</ul>
3924</li>
3925<li>d</li>
3926</ul>"#;
3927 run(input, output);
3928}
3929
3930#[test]
3931fn src_line_5717() {
3932 let input = r#"* a
3933 > b
3934 >
3935* c"#;
3936 let output = r#"<ul>
3937<li>a
3938<blockquote>
3939<p>b</p>
3940</blockquote>
3941</li>
3942<li>c</li>
3943</ul>"#;
3944 run(input, output);
3945}
3946
3947#[test]
3948fn src_line_5737() {
3949 let input = r#"- a
3950 > b
3951 ```
3952 c
3953 ```
3954- d"#;
3955 let output = r#"<ul>
3956<li>a
3957<blockquote>
3958<p>b</p>
3959</blockquote>
3960<pre><code>c
3961</code></pre>
3962</li>
3963<li>d</li>
3964</ul>"#;
3965 run(input, output);
3966}
3967
3968#[test]
3969fn src_line_5760() {
3970 let input = r#"- a"#;
3971 let output = r#"<ul>
3972<li>a</li>
3973</ul>"#;
3974 run(input, output);
3975}
3976
3977#[test]
3978fn src_line_5769() {
3979 let input = r#"- a
3980 - b"#;
3981 let output = r#"<ul>
3982<li>a
3983<ul>
3984<li>b</li>
3985</ul>
3986</li>
3987</ul>"#;
3988 run(input, output);
3989}
3990
3991#[test]
3992fn src_line_5786() {
3993 let input = r#"1. ```
3994 foo
3995 ```
3996
3997 bar"#;
3998 let output = r#"<ol>
3999<li>
4000<pre><code>foo
4001</code></pre>
4002<p>bar</p>
4003</li>
4004</ol>"#;
4005 run(input, output);
4006}
4007
4008#[test]
4009fn src_line_5805() {
4010 let input = r#"* foo
4011 * bar
4012
4013 baz"#;
4014 let output = r#"<ul>
4015<li>
4016<p>foo</p>
4017<ul>
4018<li>bar</li>
4019</ul>
4020<p>baz</p>
4021</li>
4022</ul>"#;
4023 run(input, output);
4024}
4025
4026#[test]
4027fn src_line_5823() {
4028 let input = r#"- a
4029 - b
4030 - c
4031
4032- d
4033 - e
4034 - f"#;
4035 let output = r#"<ul>
4036<li>
4037<p>a</p>
4038<ul>
4039<li>b</li>
4040<li>c</li>
4041</ul>
4042</li>
4043<li>
4044<p>d</p>
4045<ul>
4046<li>e</li>
4047<li>f</li>
4048</ul>
4049</li>
4050</ul>"#;
4051 run(input, output);
4052}
4053
4054#[test]
4055fn src_line_5857() {
4056 let input = r#"`hi`lo`"#;
4057 let output = r#"<p><code>hi</code>lo`</p>"#;
4058 run(input, output);
4059}
4060
4061#[test]
4062fn src_line_5889() {
4063 let input = r#"`foo`"#;
4064 let output = r#"<p><code>foo</code></p>"#;
4065 run(input, output);
4066}
4067
4068#[test]
4069fn src_line_5900() {
4070 let input = r#"`` foo ` bar ``"#;
4071 let output = r#"<p><code>foo ` bar</code></p>"#;
4072 run(input, output);
4073}
4074
4075#[test]
4076fn src_line_5910() {
4077 let input = r#"` `` `"#;
4078 let output = r#"<p><code>``</code></p>"#;
4079 run(input, output);
4080}
4081
4082#[test]
4083fn src_line_5918() {
4084 let input = r#"` `` `"#;
4085 let output = r#"<p><code> `` </code></p>"#;
4086 run(input, output);
4087}
4088
4089#[test]
4090fn src_line_5927() {
4091 let input = r#"` a`"#;
4092 let output = r#"<p><code> a</code></p>"#;
4093 run(input, output);
4094}
4095
4096#[test]
4097fn src_line_5936() {
4098 let input = r#"` b `"#;
4099 let output = r#"<p><code> b </code></p>"#;
4100 run(input, output);
4101}
4102
4103#[test]
4104fn src_line_5944() {
4105 let input = r#"` `
4106` `"#;
4107 let output = r#"<p><code> </code>
4108<code> </code></p>"#;
4109 run(input, output);
4110}
4111
4112#[test]
4113fn src_line_5955() {
4114 let input = "``
4115foo
4116bar \x20
4117baz
4118``";
4119 let output = r#"<p><code>foo bar baz</code></p>"#;
4120 run(input, output);
4121}
4122
4123#[test]
4124fn src_line_5965() {
4125 let input = "``
4126foo\x20
4127``";
4128 let output = r#"<p><code>foo </code></p>"#;
4129 run(input, output);
4130}
4131
4132#[test]
4133fn src_line_5976() {
4134 let input = "`foo bar\x20
4135baz`";
4136 let output = r#"<p><code>foo bar baz</code></p>"#;
4137 run(input, output);
4138}
4139
4140#[test]
4141fn src_line_5993() {
4142 let input = r#"`foo\`bar`"#;
4143 let output = r#"<p><code>foo\</code>bar`</p>"#;
4144 run(input, output);
4145}
4146
4147#[test]
4148fn src_line_6004() {
4149 let input = r#"``foo`bar``"#;
4150 let output = r#"<p><code>foo`bar</code></p>"#;
4151 run(input, output);
4152}
4153
4154#[test]
4155fn src_line_6010() {
4156 let input = r#"` foo `` bar `"#;
4157 let output = r#"<p><code>foo `` bar</code></p>"#;
4158 run(input, output);
4159}
4160
4161#[test]
4162fn src_line_6022() {
4163 let input = r#"*foo`*`"#;
4164 let output = r#"<p>*foo<code>*</code></p>"#;
4165 run(input, output);
4166}
4167
4168#[test]
4169fn src_line_6031() {
4170 let input = r#"[not a `link](/foo`)"#;
4171 let output = r#"<p>[not a <code>link](/foo</code>)</p>"#;
4172 run(input, output);
4173}
4174
4175#[test]
4176fn src_line_6041() {
4177 let input = r#"`<a href="`">`"#;
4178 let output = r#"<p><code>&lt;a href=&quot;</code>&quot;&gt;`</p>"#;
4179 run(input, output);
4180}
4181
4182#[test]
4183fn src_line_6050() {
4184 let input = r#"<a href="`">`"#;
4185 let output = r#"<p><a href="`">`</p>"#;
4186 run(input, output);
4187}
4188
4189#[test]
4190fn src_line_6059() {
4191 let input = r#"`<http://foo.bar.`baz>`"#;
4192 let output = r#"<p><code>&lt;http://foo.bar.</code>baz&gt;`</p>"#;
4193 run(input, output);
4194}
4195
4196#[test]
4197fn src_line_6068() {
4198 let input = r#"<http://foo.bar.`baz>`"#;
4199 let output = r#"<p><a href="http://foo.bar.%60baz">http://foo.bar.`baz</a>`</p>"#;
4200 run(input, output);
4201}
4202
4203#[test]
4204fn src_line_6078() {
4205 let input = r#"```foo``"#;
4206 let output = r#"<p>```foo``</p>"#;
4207 run(input, output);
4208}
4209
4210#[test]
4211fn src_line_6085() {
4212 let input = r#"`foo"#;
4213 let output = r#"<p>`foo</p>"#;
4214 run(input, output);
4215}
4216
4217#[test]
4218fn src_line_6094() {
4219 let input = r#"`foo``bar``"#;
4220 let output = r#"<p>`foo<code>bar</code></p>"#;
4221 run(input, output);
4222}
4223
4224#[test]
4225fn src_line_6311() {
4226 let input = r#"*foo bar*"#;
4227 let output = r#"<p><em>foo bar</em></p>"#;
4228 run(input, output);
4229}
4230
4231#[test]
4232fn src_line_6321() {
4233 let input = r#"a * foo bar*"#;
4234 let output = r#"<p>a * foo bar*</p>"#;
4235 run(input, output);
4236}
4237
4238#[test]
4239fn src_line_6332() {
4240 let input = r#"a*"foo"*"#;
4241 let output = r#"<p>a*&quot;foo&quot;*</p>"#;
4242 run(input, output);
4243}
4244
4245#[test]
4246fn src_line_6341() {
4247 let input = r#"* a *"#;
4248 let output = r#"<p>* a *</p>"#;
4249 run(input, output);
4250}
4251
4252#[test]
4253fn src_line_6350() {
4254 let input = r#"foo*bar*"#;
4255 let output = r#"<p>foo<em>bar</em></p>"#;
4256 run(input, output);
4257}
4258
4259#[test]
4260fn src_line_6357() {
4261 let input = r#"5*6*78"#;
4262 let output = r#"<p>5<em>6</em>78</p>"#;
4263 run(input, output);
4264}
4265
4266#[test]
4267fn src_line_6366() {
4268 let input = r#"_foo bar_"#;
4269 let output = r#"<p><em>foo bar</em></p>"#;
4270 run(input, output);
4271}
4272
4273#[test]
4274fn src_line_6376() {
4275 let input = r#"_ foo bar_"#;
4276 let output = r#"<p>_ foo bar_</p>"#;
4277 run(input, output);
4278}
4279
4280#[test]
4281fn src_line_6386() {
4282 let input = r#"a_"foo"_"#;
4283 let output = r#"<p>a_&quot;foo&quot;_</p>"#;
4284 run(input, output);
4285}
4286
4287#[test]
4288fn src_line_6395() {
4289 let input = r#"foo_bar_"#;
4290 let output = r#"<p>foo_bar_</p>"#;
4291 run(input, output);
4292}
4293
4294#[test]
4295fn src_line_6402() {
4296 let input = r#"5_6_78"#;
4297 let output = r#"<p>5_6_78</p>"#;
4298 run(input, output);
4299}
4300
4301#[test]
4302fn src_line_6409() {
4303 let input = r#"пристаням_стремятся_"#;
4304 let output = r#"<p>пристаням_стремятся_</p>"#;
4305 run(input, output);
4306}
4307
4308#[test]
4309fn src_line_6419() {
4310 let input = r#"aa_"bb"_cc"#;
4311 let output = r#"<p>aa_&quot;bb&quot;_cc</p>"#;
4312 run(input, output);
4313}
4314
4315#[test]
4316fn src_line_6430() {
4317 let input = r#"foo-_(bar)_"#;
4318 let output = r#"<p>foo-<em>(bar)</em></p>"#;
4319 run(input, output);
4320}
4321
4322#[test]
4323fn src_line_6442() {
4324 let input = r#"_foo*"#;
4325 let output = r#"<p>_foo*</p>"#;
4326 run(input, output);
4327}
4328
4329#[test]
4330fn src_line_6452() {
4331 let input = r#"*foo bar *"#;
4332 let output = r#"<p>*foo bar *</p>"#;
4333 run(input, output);
4334}
4335
4336#[test]
4337fn src_line_6461() {
4338 let input = r#"*foo bar
4339*"#;
4340 let output = r#"<p>*foo bar
4341*</p>"#;
4342 run(input, output);
4343}
4344
4345#[test]
4346fn src_line_6474() {
4347 let input = r#"*(*foo)"#;
4348 let output = r#"<p>*(*foo)</p>"#;
4349 run(input, output);
4350}
4351
4352#[test]
4353fn src_line_6484() {
4354 let input = r#"*(*foo*)*"#;
4355 let output = r#"<p><em>(<em>foo</em>)</em></p>"#;
4356 run(input, output);
4357}
4358
4359#[test]
4360fn src_line_6493() {
4361 let input = r#"*foo*bar"#;
4362 let output = r#"<p><em>foo</em>bar</p>"#;
4363 run(input, output);
4364}
4365
4366#[test]
4367fn src_line_6506() {
4368 let input = r#"_foo bar _"#;
4369 let output = r#"<p>_foo bar _</p>"#;
4370 run(input, output);
4371}
4372
4373#[test]
4374fn src_line_6516() {
4375 let input = r#"_(_foo)"#;
4376 let output = r#"<p>_(_foo)</p>"#;
4377 run(input, output);
4378}
4379
4380#[test]
4381fn src_line_6525() {
4382 let input = r#"_(_foo_)_"#;
4383 let output = r#"<p><em>(<em>foo</em>)</em></p>"#;
4384 run(input, output);
4385}
4386
4387#[test]
4388fn src_line_6534() {
4389 let input = r#"_foo_bar"#;
4390 let output = r#"<p>_foo_bar</p>"#;
4391 run(input, output);
4392}
4393
4394#[test]
4395fn src_line_6541() {
4396 let input = r#"_пристаням_стремятся"#;
4397 let output = r#"<p>_пристаням_стремятся</p>"#;
4398 run(input, output);
4399}
4400
4401#[test]
4402fn src_line_6548() {
4403 let input = r#"_foo_bar_baz_"#;
4404 let output = r#"<p><em>foo_bar_baz</em></p>"#;
4405 run(input, output);
4406}
4407
4408#[test]
4409fn src_line_6559() {
4410 let input = r#"_(bar)_."#;
4411 let output = r#"<p><em>(bar)</em>.</p>"#;
4412 run(input, output);
4413}
4414
4415#[test]
4416fn src_line_6568() {
4417 let input = r#"**foo bar**"#;
4418 let output = r#"<p><strong>foo bar</strong></p>"#;
4419 run(input, output);
4420}
4421
4422#[test]
4423fn src_line_6578() {
4424 let input = r#"** foo bar**"#;
4425 let output = r#"<p>** foo bar**</p>"#;
4426 run(input, output);
4427}
4428
4429#[test]
4430fn src_line_6589() {
4431 let input = r#"a**"foo"**"#;
4432 let output = r#"<p>a**&quot;foo&quot;**</p>"#;
4433 run(input, output);
4434}
4435
4436#[test]
4437fn src_line_6598() {
4438 let input = r#"foo**bar**"#;
4439 let output = r#"<p>foo<strong>bar</strong></p>"#;
4440 run(input, output);
4441}
4442
4443#[test]
4444fn src_line_6607() {
4445 let input = r#"__foo bar__"#;
4446 let output = r#"<p><strong>foo bar</strong></p>"#;
4447 run(input, output);
4448}
4449
4450#[test]
4451fn src_line_6617() {
4452 let input = r#"__ foo bar__"#;
4453 let output = r#"<p>__ foo bar__</p>"#;
4454 run(input, output);
4455}
4456
4457#[test]
4458fn src_line_6625() {
4459 let input = r#"__
4460foo bar__"#;
4461 let output = r#"<p>__
4462foo bar__</p>"#;
4463 run(input, output);
4464}
4465
4466#[test]
4467fn src_line_6637() {
4468 let input = r#"a__"foo"__"#;
4469 let output = r#"<p>a__&quot;foo&quot;__</p>"#;
4470 run(input, output);
4471}
4472
4473#[test]
4474fn src_line_6646() {
4475 let input = r#"foo__bar__"#;
4476 let output = r#"<p>foo__bar__</p>"#;
4477 run(input, output);
4478}
4479
4480#[test]
4481fn src_line_6653() {
4482 let input = r#"5__6__78"#;
4483 let output = r#"<p>5__6__78</p>"#;
4484 run(input, output);
4485}
4486
4487#[test]
4488fn src_line_6660() {
4489 let input = r#"пристаням__стремятся__"#;
4490 let output = r#"<p>пристаням__стремятся__</p>"#;
4491 run(input, output);
4492}
4493
4494#[test]
4495fn src_line_6667() {
4496 let input = r#"__foo, __bar__, baz__"#;
4497 let output = r#"<p><strong>foo, <strong>bar</strong>, baz</strong></p>"#;
4498 run(input, output);
4499}
4500
4501#[test]
4502fn src_line_6678() {
4503 let input = r#"foo-__(bar)__"#;
4504 let output = r#"<p>foo-<strong>(bar)</strong></p>"#;
4505 run(input, output);
4506}
4507
4508#[test]
4509fn src_line_6691() {
4510 let input = r#"**foo bar **"#;
4511 let output = r#"<p>**foo bar **</p>"#;
4512 run(input, output);
4513}
4514
4515#[test]
4516fn src_line_6704() {
4517 let input = r#"**(**foo)"#;
4518 let output = r#"<p>**(**foo)</p>"#;
4519 run(input, output);
4520}
4521
4522#[test]
4523fn src_line_6714() {
4524 let input = r#"*(**foo**)*"#;
4525 let output = r#"<p><em>(<strong>foo</strong>)</em></p>"#;
4526 run(input, output);
4527}
4528
4529#[test]
4530fn src_line_6721() {
4531 let input = r#"**Gomphocarpus (*Gomphocarpus physocarpus*, syn.
4532*Asclepias physocarpa*)**"#;
4533 let output = r#"<p><strong>Gomphocarpus (<em>Gomphocarpus physocarpus</em>, syn.
4534<em>Asclepias physocarpa</em>)</strong></p>"#;
4535 run(input, output);
4536}
4537
4538#[test]
4539fn src_line_6730() {
4540 let input = r#"**foo "*bar*" foo**"#;
4541 let output = r#"<p><strong>foo &quot;<em>bar</em>&quot; foo</strong></p>"#;
4542 run(input, output);
4543}
4544
4545#[test]
4546fn src_line_6739() {
4547 let input = r#"**foo**bar"#;
4548 let output = r#"<p><strong>foo</strong>bar</p>"#;
4549 run(input, output);
4550}
4551
4552#[test]
4553fn src_line_6751() {
4554 let input = r#"__foo bar __"#;
4555 let output = r#"<p>__foo bar __</p>"#;
4556 run(input, output);
4557}
4558
4559#[test]
4560fn src_line_6761() {
4561 let input = r#"__(__foo)"#;
4562 let output = r#"<p>__(__foo)</p>"#;
4563 run(input, output);
4564}
4565
4566#[test]
4567fn src_line_6771() {
4568 let input = r#"_(__foo__)_"#;
4569 let output = r#"<p><em>(<strong>foo</strong>)</em></p>"#;
4570 run(input, output);
4571}
4572
4573#[test]
4574fn src_line_6780() {
4575 let input = r#"__foo__bar"#;
4576 let output = r#"<p>__foo__bar</p>"#;
4577 run(input, output);
4578}
4579
4580#[test]
4581fn src_line_6787() {
4582 let input = r#"__пристаням__стремятся"#;
4583 let output = r#"<p>__пристаням__стремятся</p>"#;
4584 run(input, output);
4585}
4586
4587#[test]
4588fn src_line_6794() {
4589 let input = r#"__foo__bar__baz__"#;
4590 let output = r#"<p><strong>foo__bar__baz</strong></p>"#;
4591 run(input, output);
4592}
4593
4594#[test]
4595fn src_line_6805() {
4596 let input = r#"__(bar)__."#;
4597 let output = r#"<p><strong>(bar)</strong>.</p>"#;
4598 run(input, output);
4599}
4600
4601#[test]
4602fn src_line_6817() {
4603 let input = r#"*foo [bar](/url)*"#;
4604 let output = r#"<p><em>foo <a href="/url">bar</a></em></p>"#;
4605 run(input, output);
4606}
4607
4608#[test]
4609fn src_line_6824() {
4610 let input = r#"*foo
4611bar*"#;
4612 let output = r#"<p><em>foo
4613bar</em></p>"#;
4614 run(input, output);
4615}
4616
4617#[test]
4618fn src_line_6836() {
4619 let input = r#"_foo __bar__ baz_"#;
4620 let output = r#"<p><em>foo <strong>bar</strong> baz</em></p>"#;
4621 run(input, output);
4622}
4623
4624#[test]
4625fn src_line_6843() {
4626 let input = r#"_foo _bar_ baz_"#;
4627 let output = r#"<p><em>foo <em>bar</em> baz</em></p>"#;
4628 run(input, output);
4629}
4630
4631#[test]
4632fn src_line_6850() {
4633 let input = r#"__foo_ bar_"#;
4634 let output = r#"<p><em><em>foo</em> bar</em></p>"#;
4635 run(input, output);
4636}
4637
4638#[test]
4639fn src_line_6857() {
4640 let input = r#"*foo *bar**"#;
4641 let output = r#"<p><em>foo <em>bar</em></em></p>"#;
4642 run(input, output);
4643}
4644
4645#[test]
4646fn src_line_6864() {
4647 let input = r#"*foo **bar** baz*"#;
4648 let output = r#"<p><em>foo <strong>bar</strong> baz</em></p>"#;
4649 run(input, output);
4650}
4651
4652#[test]
4653fn src_line_6870() {
4654 let input = r#"*foo**bar**baz*"#;
4655 let output = r#"<p><em>foo<strong>bar</strong>baz</em></p>"#;
4656 run(input, output);
4657}
4658
4659#[test]
4660fn src_line_6894() {
4661 let input = r#"*foo**bar*"#;
4662 let output = r#"<p><em>foo**bar</em></p>"#;
4663 run(input, output);
4664}
4665
4666#[test]
4667fn src_line_6907() {
4668 let input = r#"***foo** bar*"#;
4669 let output = r#"<p><em><strong>foo</strong> bar</em></p>"#;
4670 run(input, output);
4671}
4672
4673#[test]
4674fn src_line_6914() {
4675 let input = r#"*foo **bar***"#;
4676 let output = r#"<p><em>foo <strong>bar</strong></em></p>"#;
4677 run(input, output);
4678}
4679
4680#[test]
4681fn src_line_6921() {
4682 let input = r#"*foo**bar***"#;
4683 let output = r#"<p><em>foo<strong>bar</strong></em></p>"#;
4684 run(input, output);
4685}
4686
4687#[test]
4688fn src_line_6932() {
4689 let input = r#"foo***bar***baz"#;
4690 let output = r#"<p>foo<em><strong>bar</strong></em>baz</p>"#;
4691 run(input, output);
4692}
4693
4694#[test]
4695fn src_line_6938() {
4696 let input = r#"foo******bar*********baz"#;
4697 let output = r#"<p>foo<strong><strong><strong>bar</strong></strong></strong>***baz</p>"#;
4698 run(input, output);
4699}
4700
4701#[test]
4702fn src_line_6947() {
4703 let input = r#"*foo **bar *baz* bim** bop*"#;
4704 let output = r#"<p><em>foo <strong>bar <em>baz</em> bim</strong> bop</em></p>"#;
4705 run(input, output);
4706}
4707
4708#[test]
4709fn src_line_6954() {
4710 let input = r#"*foo [*bar*](/url)*"#;
4711 let output = r#"<p><em>foo <a href="/url"><em>bar</em></a></em></p>"#;
4712 run(input, output);
4713}
4714
4715#[test]
4716fn src_line_6963() {
4717 let input = r#"** is not an empty emphasis"#;
4718 let output = r#"<p>** is not an empty emphasis</p>"#;
4719 run(input, output);
4720}
4721
4722#[test]
4723fn src_line_6970() {
4724 let input = r#"**** is not an empty strong emphasis"#;
4725 let output = r#"<p>**** is not an empty strong emphasis</p>"#;
4726 run(input, output);
4727}
4728
4729#[test]
4730fn src_line_6983() {
4731 let input = r#"**foo [bar](/url)**"#;
4732 let output = r#"<p><strong>foo <a href="/url">bar</a></strong></p>"#;
4733 run(input, output);
4734}
4735
4736#[test]
4737fn src_line_6990() {
4738 let input = r#"**foo
4739bar**"#;
4740 let output = r#"<p><strong>foo
4741bar</strong></p>"#;
4742 run(input, output);
4743}
4744
4745#[test]
4746fn src_line_7002() {
4747 let input = r#"__foo _bar_ baz__"#;
4748 let output = r#"<p><strong>foo <em>bar</em> baz</strong></p>"#;
4749 run(input, output);
4750}
4751
4752#[test]
4753fn src_line_7009() {
4754 let input = r#"__foo __bar__ baz__"#;
4755 let output = r#"<p><strong>foo <strong>bar</strong> baz</strong></p>"#;
4756 run(input, output);
4757}
4758
4759#[test]
4760fn src_line_7016() {
4761 let input = r#"____foo__ bar__"#;
4762 let output = r#"<p><strong><strong>foo</strong> bar</strong></p>"#;
4763 run(input, output);
4764}
4765
4766#[test]
4767fn src_line_7023() {
4768 let input = r#"**foo **bar****"#;
4769 let output = r#"<p><strong>foo <strong>bar</strong></strong></p>"#;
4770 run(input, output);
4771}
4772
4773#[test]
4774fn src_line_7030() {
4775 let input = r#"**foo *bar* baz**"#;
4776 let output = r#"<p><strong>foo <em>bar</em> baz</strong></p>"#;
4777 run(input, output);
4778}
4779
4780#[test]
4781fn src_line_7037() {
4782 let input = r#"**foo*bar*baz**"#;
4783 let output = r#"<p><strong>foo<em>bar</em>baz</strong></p>"#;
4784 run(input, output);
4785}
4786
4787#[test]
4788fn src_line_7044() {
4789 let input = r#"***foo* bar**"#;
4790 let output = r#"<p><strong><em>foo</em> bar</strong></p>"#;
4791 run(input, output);
4792}
4793
4794#[test]
4795fn src_line_7051() {
4796 let input = r#"**foo *bar***"#;
4797 let output = r#"<p><strong>foo <em>bar</em></strong></p>"#;
4798 run(input, output);
4799}
4800
4801#[test]
4802fn src_line_7060() {
4803 let input = r#"**foo *bar **baz**
4804bim* bop**"#;
4805 let output = r#"<p><strong>foo <em>bar <strong>baz</strong>
4806bim</em> bop</strong></p>"#;
4807 run(input, output);
4808}
4809
4810#[test]
4811fn src_line_7069() {
4812 let input = r#"**foo [*bar*](/url)**"#;
4813 let output = r#"<p><strong>foo <a href="/url"><em>bar</em></a></strong></p>"#;
4814 run(input, output);
4815}
4816
4817#[test]
4818fn src_line_7078() {
4819 let input = r#"__ is not an empty emphasis"#;
4820 let output = r#"<p>__ is not an empty emphasis</p>"#;
4821 run(input, output);
4822}
4823
4824#[test]
4825fn src_line_7085() {
4826 let input = r#"____ is not an empty strong emphasis"#;
4827 let output = r#"<p>____ is not an empty strong emphasis</p>"#;
4828 run(input, output);
4829}
4830
4831#[test]
4832fn src_line_7095() {
4833 let input = r#"foo ***"#;
4834 let output = r#"<p>foo ***</p>"#;
4835 run(input, output);
4836}
4837
4838#[test]
4839fn src_line_7102() {
4840 let input = r#"foo *\**"#;
4841 let output = r#"<p>foo <em>*</em></p>"#;
4842 run(input, output);
4843}
4844
4845#[test]
4846fn src_line_7109() {
4847 let input = r#"foo *_*"#;
4848 let output = r#"<p>foo <em>_</em></p>"#;
4849 run(input, output);
4850}
4851
4852#[test]
4853fn src_line_7116() {
4854 let input = r#"foo *****"#;
4855 let output = r#"<p>foo *****</p>"#;
4856 run(input, output);
4857}
4858
4859#[test]
4860fn src_line_7123() {
4861 let input = r#"foo **\***"#;
4862 let output = r#"<p>foo <strong>*</strong></p>"#;
4863 run(input, output);
4864}
4865
4866#[test]
4867fn src_line_7130() {
4868 let input = r#"foo **_**"#;
4869 let output = r#"<p>foo <strong>_</strong></p>"#;
4870 run(input, output);
4871}
4872
4873#[test]
4874fn src_line_7141() {
4875 let input = r#"**foo*"#;
4876 let output = r#"<p>*<em>foo</em></p>"#;
4877 run(input, output);
4878}
4879
4880#[test]
4881fn src_line_7148() {
4882 let input = r#"*foo**"#;
4883 let output = r#"<p><em>foo</em>*</p>"#;
4884 run(input, output);
4885}
4886
4887#[test]
4888fn src_line_7155() {
4889 let input = r#"***foo**"#;
4890 let output = r#"<p>*<strong>foo</strong></p>"#;
4891 run(input, output);
4892}
4893
4894#[test]
4895fn src_line_7162() {
4896 let input = r#"****foo*"#;
4897 let output = r#"<p>***<em>foo</em></p>"#;
4898 run(input, output);
4899}
4900
4901#[test]
4902fn src_line_7169() {
4903 let input = r#"**foo***"#;
4904 let output = r#"<p><strong>foo</strong>*</p>"#;
4905 run(input, output);
4906}
4907
4908#[test]
4909fn src_line_7176() {
4910 let input = r#"*foo****"#;
4911 let output = r#"<p><em>foo</em>***</p>"#;
4912 run(input, output);
4913}
4914
4915#[test]
4916fn src_line_7186() {
4917 let input = r#"foo ___"#;
4918 let output = r#"<p>foo ___</p>"#;
4919 run(input, output);
4920}
4921
4922#[test]
4923fn src_line_7193() {
4924 let input = r#"foo _\__"#;
4925 let output = r#"<p>foo <em>_</em></p>"#;
4926 run(input, output);
4927}
4928
4929#[test]
4930fn src_line_7200() {
4931 let input = r#"foo _*_"#;
4932 let output = r#"<p>foo <em>*</em></p>"#;
4933 run(input, output);
4934}
4935
4936#[test]
4937fn src_line_7207() {
4938 let input = r#"foo _____"#;
4939 let output = r#"<p>foo _____</p>"#;
4940 run(input, output);
4941}
4942
4943#[test]
4944fn src_line_7214() {
4945 let input = r#"foo __\___"#;
4946 let output = r#"<p>foo <strong>_</strong></p>"#;
4947 run(input, output);
4948}
4949
4950#[test]
4951fn src_line_7221() {
4952 let input = r#"foo __*__"#;
4953 let output = r#"<p>foo <strong>*</strong></p>"#;
4954 run(input, output);
4955}
4956
4957#[test]
4958fn src_line_7228() {
4959 let input = r#"__foo_"#;
4960 let output = r#"<p>_<em>foo</em></p>"#;
4961 run(input, output);
4962}
4963
4964#[test]
4965fn src_line_7239() {
4966 let input = r#"_foo__"#;
4967 let output = r#"<p><em>foo</em>_</p>"#;
4968 run(input, output);
4969}
4970
4971#[test]
4972fn src_line_7246() {
4973 let input = r#"___foo__"#;
4974 let output = r#"<p>_<strong>foo</strong></p>"#;
4975 run(input, output);
4976}
4977
4978#[test]
4979fn src_line_7253() {
4980 let input = r#"____foo_"#;
4981 let output = r#"<p>___<em>foo</em></p>"#;
4982 run(input, output);
4983}
4984
4985#[test]
4986fn src_line_7260() {
4987 let input = r#"__foo___"#;
4988 let output = r#"<p><strong>foo</strong>_</p>"#;
4989 run(input, output);
4990}
4991
4992#[test]
4993fn src_line_7267() {
4994 let input = r#"_foo____"#;
4995 let output = r#"<p><em>foo</em>___</p>"#;
4996 run(input, output);
4997}
4998
4999#[test]
5000fn src_line_7277() {
5001 let input = r#"**foo**"#;
5002 let output = r#"<p><strong>foo</strong></p>"#;
5003 run(input, output);
5004}
5005
5006#[test]
5007fn src_line_7284() {
5008 let input = r#"*_foo_*"#;
5009 let output = r#"<p><em><em>foo</em></em></p>"#;
5010 run(input, output);
5011}
5012
5013#[test]
5014fn src_line_7291() {
5015 let input = r#"__foo__"#;
5016 let output = r#"<p><strong>foo</strong></p>"#;
5017 run(input, output);
5018}
5019
5020#[test]
5021fn src_line_7298() {
5022 let input = r#"_*foo*_"#;
5023 let output = r#"<p><em><em>foo</em></em></p>"#;
5024 run(input, output);
5025}
5026
5027#[test]
5028fn src_line_7308() {
5029 let input = r#"****foo****"#;
5030 let output = r#"<p><strong><strong>foo</strong></strong></p>"#;
5031 run(input, output);
5032}
5033
5034#[test]
5035fn src_line_7315() {
5036 let input = r#"____foo____"#;
5037 let output = r#"<p><strong><strong>foo</strong></strong></p>"#;
5038 run(input, output);
5039}
5040
5041#[test]
5042fn src_line_7326() {
5043 let input = r#"******foo******"#;
5044 let output = r#"<p><strong><strong><strong>foo</strong></strong></strong></p>"#;
5045 run(input, output);
5046}
5047
5048#[test]
5049fn src_line_7335() {
5050 let input = r#"***foo***"#;
5051 let output = r#"<p><em><strong>foo</strong></em></p>"#;
5052 run(input, output);
5053}
5054
5055#[test]
5056fn src_line_7342() {
5057 let input = r#"_____foo_____"#;
5058 let output = r#"<p><em><strong><strong>foo</strong></strong></em></p>"#;
5059 run(input, output);
5060}
5061
5062#[test]
5063fn src_line_7351() {
5064 let input = r#"*foo _bar* baz_"#;
5065 let output = r#"<p><em>foo _bar</em> baz_</p>"#;
5066 run(input, output);
5067}
5068
5069#[test]
5070fn src_line_7358() {
5071 let input = r#"*foo __bar *baz bim__ bam*"#;
5072 let output = r#"<p><em>foo <strong>bar *baz bim</strong> bam</em></p>"#;
5073 run(input, output);
5074}
5075
5076#[test]
5077fn src_line_7367() {
5078 let input = r#"**foo **bar baz**"#;
5079 let output = r#"<p>**foo <strong>bar baz</strong></p>"#;
5080 run(input, output);
5081}
5082
5083#[test]
5084fn src_line_7374() {
5085 let input = r#"*foo *bar baz*"#;
5086 let output = r#"<p>*foo <em>bar baz</em></p>"#;
5087 run(input, output);
5088}
5089
5090#[test]
5091fn src_line_7383() {
5092 let input = r#"*[bar*](/url)"#;
5093 let output = r#"<p>*<a href="/url">bar*</a></p>"#;
5094 run(input, output);
5095}
5096
5097#[test]
5098fn src_line_7390() {
5099 let input = r#"_foo [bar_](/url)"#;
5100 let output = r#"<p>_foo <a href="/url">bar_</a></p>"#;
5101 run(input, output);
5102}
5103
5104#[test]
5105fn src_line_7397() {
5106 let input = r#"*<img src="foo" title="*"/>"#;
5107 let output = r#"<p>*<img src="foo" title="*"/></p>"#;
5108 run(input, output);
5109}
5110
5111#[test]
5112fn src_line_7404() {
5113 let input = r#"**<a href="**">"#;
5114 let output = r#"<p>**<a href="**"></p>"#;
5115 run(input, output);
5116}
5117
5118#[test]
5119fn src_line_7411() {
5120 let input = r#"__<a href="__">"#;
5121 let output = r#"<p>__<a href="__"></p>"#;
5122 run(input, output);
5123}
5124
5125#[test]
5126fn src_line_7418() {
5127 let input = r#"*a `*`*"#;
5128 let output = r#"<p><em>a <code>*</code></em></p>"#;
5129 run(input, output);
5130}
5131
5132#[test]
5133fn src_line_7425() {
5134 let input = r#"_a `_`_"#;
5135 let output = r#"<p><em>a <code>_</code></em></p>"#;
5136 run(input, output);
5137}
5138
5139#[test]
5140fn src_line_7432() {
5141 let input = r#"**a<http://foo.bar/?q=**>"#;
5142 let output = r#"<p>**a<a href="http://foo.bar/?q=**">http://foo.bar/?q=**</a></p>"#;
5143 run(input, output);
5144}
5145
5146#[test]
5147fn src_line_7439() {
5148 let input = r#"__a<http://foo.bar/?q=__>"#;
5149 let output = r#"<p>__a<a href="http://foo.bar/?q=__">http://foo.bar/?q=__</a></p>"#;
5150 run(input, output);
5151}
5152
5153#[test]
5154fn src_line_7527() {
5155 let input = r#"[link](/uri "title")"#;
5156 let output = r#"<p><a href="/uri" title="title">link</a></p>"#;
5157 run(input, output);
5158}
5159
5160#[test]
5161fn src_line_7537() {
5162 let input = r#"[link](/uri)"#;
5163 let output = r#"<p><a href="/uri">link</a></p>"#;
5164 run(input, output);
5165}
5166
5167#[test]
5168fn src_line_7543() {
5169 let input = r#"[](./target.md)"#;
5170 let output = r#"<p><a href="./target.md"></a></p>"#;
5171 run(input, output);
5172}
5173
5174#[test]
5175fn src_line_7550() {
5176 let input = r#"[link]()"#;
5177 let output = r#"<p><a href="">link</a></p>"#;
5178 run(input, output);
5179}
5180
5181#[test]
5182fn src_line_7557() {
5183 let input = r#"[link](<>)"#;
5184 let output = r#"<p><a href="">link</a></p>"#;
5185 run(input, output);
5186}
5187
5188#[test]
5189fn src_line_7564() {
5190 let input = r#"[]()"#;
5191 let output = r#"<p><a href=""></a></p>"#;
5192 run(input, output);
5193}
5194
5195#[test]
5196fn src_line_7573() {
5197 let input = r#"[link](/my uri)"#;
5198 let output = r#"<p>[link](/my uri)</p>"#;
5199 run(input, output);
5200}
5201
5202#[test]
5203fn src_line_7579() {
5204 let input = r#"[link](</my uri>)"#;
5205 let output = r#"<p><a href="/my%20uri">link</a></p>"#;
5206 run(input, output);
5207}
5208
5209#[test]
5210fn src_line_7588() {
5211 let input = r#"[link](foo
5212bar)"#;
5213 let output = r#"<p>[link](foo
5214bar)</p>"#;
5215 run(input, output);
5216}
5217
5218#[test]
5219fn src_line_7596() {
5220 let input = r#"[link](<foo
5221bar>)"#;
5222 let output = r#"<p>[link](<foo
5223bar>)</p>"#;
5224 run(input, output);
5225}
5226
5227#[test]
5228fn src_line_7607() {
5229 let input = r#"[a](<b)c>)"#;
5230 let output = r#"<p><a href="b)c">a</a></p>"#;
5231 run(input, output);
5232}
5233
5234#[test]
5235fn src_line_7615() {
5236 let input = r#"[link](<foo\>)"#;
5237 let output = r#"<p>[link](&lt;foo&gt;)</p>"#;
5238 run(input, output);
5239}
5240
5241#[test]
5242fn src_line_7624() {
5243 let input = r#"[a](<b)c
5244[a](<b)c>
5245[a](<b>c)"#;
5246 let output = r#"<p>[a](&lt;b)c
5247[a](&lt;b)c&gt;
5248[a](<b>c)</p>"#;
5249 run(input, output);
5250}
5251
5252#[test]
5253fn src_line_7636() {
5254 let input = r#"[link](\(foo\))"#;
5255 let output = r#"<p><a href="(foo)">link</a></p>"#;
5256 run(input, output);
5257}
5258
5259#[test]
5260fn src_line_7645() {
5261 let input = r#"[link](foo(and(bar)))"#;
5262 let output = r#"<p><a href="foo(and(bar))">link</a></p>"#;
5263 run(input, output);
5264}
5265
5266#[test]
5267fn src_line_7654() {
5268 let input = r#"[link](foo(and(bar))"#;
5269 let output = r#"<p>[link](foo(and(bar))</p>"#;
5270 run(input, output);
5271}
5272
5273#[test]
5274fn src_line_7661() {
5275 let input = r#"[link](foo\(and\(bar\))"#;
5276 let output = r#"<p><a href="foo(and(bar)">link</a></p>"#;
5277 run(input, output);
5278}
5279
5280#[test]
5281fn src_line_7668() {
5282 let input = r#"[link](<foo(and(bar)>)"#;
5283 let output = r#"<p><a href="foo(and(bar)">link</a></p>"#;
5284 run(input, output);
5285}
5286
5287#[test]
5288fn src_line_7678() {
5289 let input = r#"[link](foo\)\:)"#;
5290 let output = r#"<p><a href="foo):">link</a></p>"#;
5291 run(input, output);
5292}
5293
5294#[test]
5295fn src_line_7687() {
5296 let input = r#"[link](#fragment)
5297
5298[link](http://example.com#fragment)
5299
5300[link](http://example.com?foo=3#frag)"#;
5301 let output = r##"<p><a href="#fragment">link</a></p>
5302<p><a href="http://example.com#fragment">link</a></p>
5303<p><a href="http://example.com?foo=3#frag">link</a></p>"##;
5304 run(input, output);
5305}
5306
5307#[test]
5308fn src_line_7703() {
5309 let input = r#"[link](foo\bar)"#;
5310 let output = r#"<p><a href="foo%5Cbar">link</a></p>"#;
5311 run(input, output);
5312}
5313
5314#[test]
5315fn src_line_7719() {
5316 let input = r#"[link](foo%20b&auml;)"#;
5317 let output = r#"<p><a href="foo%20b%C3%A4">link</a></p>"#;
5318 run(input, output);
5319}
5320
5321#[test]
5322fn src_line_7730() {
5323 let input = r#"[link]("title")"#;
5324 let output = r#"<p><a href="%22title%22">link</a></p>"#;
5325 run(input, output);
5326}
5327
5328#[test]
5329fn src_line_7739() {
5330 let input = r#"[link](/url "title")
5331[link](/url 'title')
5332[link](/url (title))"#;
5333 let output = r#"<p><a href="/url" title="title">link</a>
5334<a href="/url" title="title">link</a>
5335<a href="/url" title="title">link</a></p>"#;
5336 run(input, output);
5337}
5338
5339#[test]
5340fn src_line_7753() {
5341 let input = r#"[link](/url "title \"&quot;")"#;
5342 let output = r#"<p><a href="/url" title="title &quot;&quot;">link</a></p>"#;
5343 run(input, output);
5344}
5345
5346#[test]
5347fn src_line_7764() {
5348 let input = r#"[link](/url "title")"#;
5349 let output = r#"<p><a href="/url%C2%A0%22title%22">link</a></p>"#;
5350 run(input, output);
5351}
5352
5353#[test]
5354fn src_line_7773() {
5355 let input = r#"[link](/url "title "and" title")"#;
5356 let output = r#"<p>[link](/url &quot;title &quot;and&quot; title&quot;)</p>"#;
5357 run(input, output);
5358}
5359
5360#[test]
5361fn src_line_7782() {
5362 let input = r#"[link](/url 'title "and" title')"#;
5363 let output = r#"<p><a href="/url" title="title &quot;and&quot; title">link</a></p>"#;
5364 run(input, output);
5365}
5366
5367#[test]
5368fn src_line_7807() {
5369 let input = r#"[link]( /uri
5370 "title" )"#;
5371 let output = r#"<p><a href="/uri" title="title">link</a></p>"#;
5372 run(input, output);
5373}
5374
5375#[test]
5376fn src_line_7818() {
5377 let input = r#"[link] (/uri)"#;
5378 let output = r#"<p>[link] (/uri)</p>"#;
5379 run(input, output);
5380}
5381
5382#[test]
5383fn src_line_7828() {
5384 let input = r#"[link [foo [bar]]](/uri)"#;
5385 let output = r#"<p><a href="/uri">link [foo [bar]]</a></p>"#;
5386 run(input, output);
5387}
5388
5389#[test]
5390fn src_line_7835() {
5391 let input = r#"[link] bar](/uri)"#;
5392 let output = r#"<p>[link] bar](/uri)</p>"#;
5393 run(input, output);
5394}
5395
5396#[test]
5397fn src_line_7842() {
5398 let input = r#"[link [bar](/uri)"#;
5399 let output = r#"<p>[link <a href="/uri">bar</a></p>"#;
5400 run(input, output);
5401}
5402
5403#[test]
5404fn src_line_7849() {
5405 let input = r#"[link \[bar](/uri)"#;
5406 let output = r#"<p><a href="/uri">link [bar</a></p>"#;
5407 run(input, output);
5408}
5409
5410#[test]
5411fn src_line_7858() {
5412 let input = r#"[link *foo **bar** `#`*](/uri)"#;
5413 let output = r#"<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>"#;
5414 run(input, output);
5415}
5416
5417#[test]
5418fn src_line_7865() {
5419 let input = r#"[![moon](moon.jpg)](/uri)"#;
5420 let output = r#"<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>"#;
5421 run(input, output);
5422}
5423
5424#[test]
5425fn src_line_7874() {
5426 let input = r#"[foo [bar](/uri)](/uri)"#;
5427 let output = r#"<p>[foo <a href="/uri">bar</a>](/uri)</p>"#;
5428 run(input, output);
5429}
5430
5431#[test]
5432fn src_line_7881() {
5433 let input = r#"[foo *[bar [baz](/uri)](/uri)*](/uri)"#;
5434 let output = r#"<p>[foo <em>[bar <a href="/uri">baz</a>](/uri)</em>](/uri)</p>"#;
5435 run(input, output);
5436}
5437
5438#[test]
5439fn src_line_7888() {
5440 let input = r#"![[[foo](uri1)](uri2)](uri3)"#;
5441 let output = r#"<p><img src="uri3" alt="[foo](uri2)" /></p>"#;
5442 run(input, output);
5443}
5444
5445#[test]
5446fn src_line_7898() {
5447 let input = r#"*[foo*](/uri)"#;
5448 let output = r#"<p>*<a href="/uri">foo*</a></p>"#;
5449 run(input, output);
5450}
5451
5452#[test]
5453fn src_line_7905() {
5454 let input = r#"[foo *bar](baz*)"#;
5455 let output = r#"<p><a href="baz*">foo *bar</a></p>"#;
5456 run(input, output);
5457}
5458
5459#[test]
5460fn src_line_7915() {
5461 let input = r#"*foo [bar* baz]"#;
5462 let output = r#"<p><em>foo [bar</em> baz]</p>"#;
5463 run(input, output);
5464}
5465
5466#[test]
5467fn src_line_7925() {
5468 let input = r#"[foo <bar attr="](baz)">"#;
5469 let output = r#"<p>[foo <bar attr="](baz)"></p>"#;
5470 run(input, output);
5471}
5472
5473#[test]
5474fn src_line_7932() {
5475 let input = r#"[foo`](/uri)`"#;
5476 let output = r#"<p>[foo<code>](/uri)</code></p>"#;
5477 run(input, output);
5478}
5479
5480#[test]
5481fn src_line_7939() {
5482 let input = r#"[foo<http://example.com/?search=](uri)>"#;
5483 let output = r#"<p>[foo<a href="http://example.com/?search=%5D(uri)">http://example.com/?search=](uri)</a></p>"#;
5484 run(input, output);
5485}
5486
5487#[test]
5488fn src_line_7977() {
5489 let input = r#"[foo][bar]
5490
5491[bar]: /url "title""#;
5492 let output = r#"<p><a href="/url" title="title">foo</a></p>"#;
5493 run(input, output);
5494}
5495
5496#[test]
5497fn src_line_7992() {
5498 let input = r#"[link [foo [bar]]][ref]
5499
5500[ref]: /uri"#;
5501 let output = r#"<p><a href="/uri">link [foo [bar]]</a></p>"#;
5502 run(input, output);
5503}
5504
5505#[test]
5506fn src_line_8001() {
5507 let input = r#"[link \[bar][ref]
5508
5509[ref]: /uri"#;
5510 let output = r#"<p><a href="/uri">link [bar</a></p>"#;
5511 run(input, output);
5512}
5513
5514#[test]
5515fn src_line_8012() {
5516 let input = r#"[link *foo **bar** `#`*][ref]
5517
5518[ref]: /uri"#;
5519 let output = r#"<p><a href="/uri">link <em>foo <strong>bar</strong> <code>#</code></em></a></p>"#;
5520 run(input, output);
5521}
5522
5523#[test]
5524fn src_line_8021() {
5525 let input = r#"[![moon](moon.jpg)][ref]
5526
5527[ref]: /uri"#;
5528 let output = r#"<p><a href="/uri"><img src="moon.jpg" alt="moon" /></a></p>"#;
5529 run(input, output);
5530}
5531
5532#[test]
5533fn src_line_8032() {
5534 let input = r#"[foo [bar](/uri)][ref]
5535
5536[ref]: /uri"#;
5537 let output = r#"<p>[foo <a href="/uri">bar</a>]<a href="/uri">ref</a></p>"#;
5538 run(input, output);
5539}
5540
5541#[test]
5542fn src_line_8041() {
5543 let input = r#"[foo *bar [baz][ref]*][ref]
5544
5545[ref]: /uri"#;
5546 let output = r#"<p>[foo <em>bar <a href="/uri">baz</a></em>]<a href="/uri">ref</a></p>"#;
5547 run(input, output);
5548}
5549
5550#[test]
5551fn src_line_8056() {
5552 let input = r#"*[foo*][ref]
5553
5554[ref]: /uri"#;
5555 let output = r#"<p>*<a href="/uri">foo*</a></p>"#;
5556 run(input, output);
5557}
5558
5559#[test]
5560fn src_line_8065() {
5561 let input = r#"[foo *bar][ref]*
5562
5563[ref]: /uri"#;
5564 let output = r#"<p><a href="/uri">foo *bar</a>*</p>"#;
5565 run(input, output);
5566}
5567
5568#[test]
5569fn src_line_8077() {
5570 let input = r#"[foo <bar attr="][ref]">
5571
5572[ref]: /uri"#;
5573 let output = r#"<p>[foo <bar attr="][ref]"></p>"#;
5574 run(input, output);
5575}
5576
5577#[test]
5578fn src_line_8086() {
5579 let input = r#"[foo`][ref]`
5580
5581[ref]: /uri"#;
5582 let output = r#"<p>[foo<code>][ref]</code></p>"#;
5583 run(input, output);
5584}
5585
5586#[test]
5587fn src_line_8095() {
5588 let input = r#"[foo<http://example.com/?search=][ref]>
5589
5590[ref]: /uri"#;
5591 let output = r#"<p>[foo<a href="http://example.com/?search=%5D%5Bref%5D">http://example.com/?search=][ref]</a></p>"#;
5592 run(input, output);
5593}
5594
5595#[test]
5596fn src_line_8106() {
5597 let input = r#"[foo][BaR]
5598
5599[bar]: /url "title""#;
5600 let output = r#"<p><a href="/url" title="title">foo</a></p>"#;
5601 run(input, output);
5602}
5603
5604#[test]
5605fn src_line_8117() {
5606 let input = r#"[ẞ]
5607
5608[SS]: /url"#;
5609 let output = r#"<p><a href="/url">ẞ</a></p>"#;
5610 run(input, output);
5611}
5612
5613#[test]
5614fn src_line_8129() {
5615 let input = r#"[Foo
5616 bar]: /url
5617
5618[Baz][Foo bar]"#;
5619 let output = r#"<p><a href="/url">Baz</a></p>"#;
5620 run(input, output);
5621}
5622
5623#[test]
5624fn src_line_8142() {
5625 let input = r#"[foo] [bar]
5626
5627[bar]: /url "title""#;
5628 let output = r#"<p>[foo] <a href="/url" title="title">bar</a></p>"#;
5629 run(input, output);
5630}
5631
5632#[test]
5633fn src_line_8151() {
5634 let input = r#"[foo]
5635[bar]
5636
5637[bar]: /url "title""#;
5638 let output = r#"<p>[foo]
5639<a href="/url" title="title">bar</a></p>"#;
5640 run(input, output);
5641}
5642
5643#[test]
5644fn src_line_8192() {
5645 let input = r#"[foo]: /url1
5646
5647[foo]: /url2
5648
5649[bar][foo]"#;
5650 let output = r#"<p><a href="/url1">bar</a></p>"#;
5651 run(input, output);
5652}
5653
5654#[test]
5655fn src_line_8207() {
5656 let input = r#"[bar][foo\!]
5657
5658[foo!]: /url"#;
5659 let output = r#"<p>[bar][foo!]</p>"#;
5660 run(input, output);
5661}
5662
5663#[test]
5664fn src_line_8219() {
5665 let input = r#"[foo][ref[]
5666
5667[ref[]: /uri"#;
5668 let output = r#"<p>[foo][ref[]</p>
5669<p>[ref[]: /uri</p>"#;
5670 run(input, output);
5671}
5672
5673#[test]
5674fn src_line_8229() {
5675 let input = r#"[foo][ref[bar]]
5676
5677[ref[bar]]: /uri"#;
5678 let output = r#"<p>[foo][ref[bar]]</p>
5679<p>[ref[bar]]: /uri</p>"#;
5680 run(input, output);
5681}
5682
5683#[test]
5684fn src_line_8239() {
5685 let input = r#"[[[foo]]]
5686
5687[[[foo]]]: /url"#;
5688 let output = r#"<p>[[[foo]]]</p>
5689<p>[[[foo]]]: /url</p>"#;
5690 run(input, output);
5691}
5692
5693#[test]
5694fn src_line_8249() {
5695 let input = r#"[foo][ref\[]
5696
5697[ref\[]: /uri"#;
5698 let output = r#"<p><a href="/uri">foo</a></p>"#;
5699 run(input, output);
5700}
5701
5702#[test]
5703fn src_line_8260() {
5704 let input = r#"[bar\\]: /uri
5705
5706[bar\\]"#;
5707 let output = r#"<p><a href="/uri">bar\</a></p>"#;
5708 run(input, output);
5709}
5710
5711#[test]
5712fn src_line_8272() {
5713 let input = r#"[]
5714
5715[]: /uri"#;
5716 let output = r#"<p>[]</p>
5717<p>[]: /uri</p>"#;
5718 run(input, output);
5719}
5720
5721#[test]
5722fn src_line_8282() {
5723 let input = r#"[
5724 ]
5725
5726[
5727 ]: /uri"#;
5728 let output = r#"<p>[
5729]</p>
5730<p>[
5731]: /uri</p>"#;
5732 run(input, output);
5733}
5734
5735#[test]
5736fn src_line_8305() {
5737 let input = r#"[foo][]
5738
5739[foo]: /url "title""#;
5740 let output = r#"<p><a href="/url" title="title">foo</a></p>"#;
5741 run(input, output);
5742}
5743
5744#[test]
5745fn src_line_8314() {
5746 let input = r#"[*foo* bar][]
5747
5748[*foo* bar]: /url "title""#;
5749 let output = r#"<p><a href="/url" title="title"><em>foo</em> bar</a></p>"#;
5750 run(input, output);
5751}
5752
5753#[test]
5754fn src_line_8325() {
5755 let input = r#"[Foo][]
5756
5757[foo]: /url "title""#;
5758 let output = r#"<p><a href="/url" title="title">Foo</a></p>"#;
5759 run(input, output);
5760}
5761
5762#[test]
5763fn src_line_8338() {
5764 let input = "[foo]\x20
5765[]
5766
5767[foo]: /url \"title\"";
5768 let output = r#"<p><a href="/url" title="title">foo</a>
5769[]</p>"#;
5770 run(input, output);
5771}
5772
5773#[test]
5774fn src_line_8358() {
5775 let input = r#"[foo]
5776
5777[foo]: /url "title""#;
5778 let output = r#"<p><a href="/url" title="title">foo</a></p>"#;
5779 run(input, output);
5780}
5781
5782#[test]
5783fn src_line_8367() {
5784 let input = r#"[*foo* bar]
5785
5786[*foo* bar]: /url "title""#;
5787 let output = r#"<p><a href="/url" title="title"><em>foo</em> bar</a></p>"#;
5788 run(input, output);
5789}
5790
5791#[test]
5792fn src_line_8376() {
5793 let input = r#"[[*foo* bar]]
5794
5795[*foo* bar]: /url "title""#;
5796 let output = r#"<p>[<a href="/url" title="title"><em>foo</em> bar</a>]</p>"#;
5797 run(input, output);
5798}
5799
5800#[test]
5801fn src_line_8385() {
5802 let input = r#"[[bar [foo]
5803
5804[foo]: /url"#;
5805 let output = r#"<p>[[bar <a href="/url">foo</a></p>"#;
5806 run(input, output);
5807}
5808
5809#[test]
5810fn src_line_8396() {
5811 let input = r#"[Foo]
5812
5813[foo]: /url "title""#;
5814 let output = r#"<p><a href="/url" title="title">Foo</a></p>"#;
5815 run(input, output);
5816}
5817
5818#[test]
5819fn src_line_8407() {
5820 let input = r#"[foo] bar
5821
5822[foo]: /url"#;
5823 let output = r#"<p><a href="/url">foo</a> bar</p>"#;
5824 run(input, output);
5825}
5826
5827#[test]
5828fn src_line_8419() {
5829 let input = r#"\[foo]
5830
5831[foo]: /url "title""#;
5832 let output = r#"<p>[foo]</p>"#;
5833 run(input, output);
5834}
5835
5836#[test]
5837fn src_line_8431() {
5838 let input = r#"[foo*]: /url
5839
5840*[foo*]"#;
5841 let output = r#"<p>*<a href="/url">foo*</a></p>"#;
5842 run(input, output);
5843}
5844
5845#[test]
5846fn src_line_8443() {
5847 let input = r#"[foo][bar]
5848
5849[foo]: /url1
5850[bar]: /url2"#;
5851 let output = r#"<p><a href="/url2">foo</a></p>"#;
5852 run(input, output);
5853}
5854
5855#[test]
5856fn src_line_8452() {
5857 let input = r#"[foo][]
5858
5859[foo]: /url1"#;
5860 let output = r#"<p><a href="/url1">foo</a></p>"#;
5861 run(input, output);
5862}
5863
5864#[test]
5865fn src_line_8462() {
5866 let input = r#"[foo]()
5867
5868[foo]: /url1"#;
5869 let output = r#"<p><a href="">foo</a></p>"#;
5870 run(input, output);
5871}
5872
5873#[test]
5874fn src_line_8470() {
5875 let input = r#"[foo](not a link)
5876
5877[foo]: /url1"#;
5878 let output = r#"<p><a href="/url1">foo</a>(not a link)</p>"#;
5879 run(input, output);
5880}
5881
5882#[test]
5883fn src_line_8481() {
5884 let input = r#"[foo][bar][baz]
5885
5886[baz]: /url"#;
5887 let output = r#"<p>[foo]<a href="/url">bar</a></p>"#;
5888 run(input, output);
5889}
5890
5891#[test]
5892fn src_line_8493() {
5893 let input = r#"[foo][bar][baz]
5894
5895[baz]: /url1
5896[bar]: /url2"#;
5897 let output = r#"<p><a href="/url2">foo</a><a href="/url1">baz</a></p>"#;
5898 run(input, output);
5899}
5900
5901#[test]
5902fn src_line_8506() {
5903 let input = r#"[foo][bar][baz]
5904
5905[baz]: /url1
5906[foo]: /url2"#;
5907 let output = r#"<p>[foo]<a href="/url1">bar</a></p>"#;
5908 run(input, output);
5909}
5910
5911#[test]
5912fn src_line_8529() {
5913 let input = r#"![foo](/url "title")"#;
5914 let output = r#"<p><img src="/url" alt="foo" title="title" /></p>"#;
5915 run(input, output);
5916}
5917
5918#[test]
5919fn src_line_8536() {
5920 let input = r#"![foo *bar*]
5921
5922[foo *bar*]: train.jpg "train & tracks""#;
5923 let output = r#"<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>"#;
5924 run(input, output);
5925}
5926
5927#[test]
5928fn src_line_8545() {
5929 let input = r#"![foo ![bar](/url)](/url2)"#;
5930 let output = r#"<p><img src="/url2" alt="foo bar" /></p>"#;
5931 run(input, output);
5932}
5933
5934#[test]
5935fn src_line_8552() {
5936 let input = r#"![foo [bar](/url)](/url2)"#;
5937 let output = r#"<p><img src="/url2" alt="foo bar" /></p>"#;
5938 run(input, output);
5939}
5940
5941#[test]
5942fn src_line_8566() {
5943 let input = r#"![foo *bar*][]
5944
5945[foo *bar*]: train.jpg "train & tracks""#;
5946 let output = r#"<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>"#;
5947 run(input, output);
5948}
5949
5950#[test]
5951fn src_line_8575() {
5952 let input = r#"![foo *bar*][foobar]
5953
5954[FOOBAR]: train.jpg "train & tracks""#;
5955 let output = r#"<p><img src="train.jpg" alt="foo bar" title="train &amp; tracks" /></p>"#;
5956 run(input, output);
5957}
5958
5959#[test]
5960fn src_line_8584() {
5961 let input = r#"![foo](train.jpg)"#;
5962 let output = r#"<p><img src="train.jpg" alt="foo" /></p>"#;
5963 run(input, output);
5964}
5965
5966#[test]
5967fn src_line_8591() {
5968 let input = r#"My ![foo bar](/path/to/train.jpg "title" )"#;
5969 let output = r#"<p>My <img src="/path/to/train.jpg" alt="foo bar" title="title" /></p>"#;
5970 run(input, output);
5971}
5972
5973#[test]
5974fn src_line_8598() {
5975 let input = r#"![foo](<url>)"#;
5976 let output = r#"<p><img src="url" alt="foo" /></p>"#;
5977 run(input, output);
5978}
5979
5980#[test]
5981fn src_line_8605() {
5982 let input = r#"![](/url)"#;
5983 let output = r#"<p><img src="/url" alt="" /></p>"#;
5984 run(input, output);
5985}
5986
5987#[test]
5988fn src_line_8614() {
5989 let input = r#"![foo][bar]
5990
5991[bar]: /url"#;
5992 let output = r#"<p><img src="/url" alt="foo" /></p>"#;
5993 run(input, output);
5994}
5995
5996#[test]
5997fn src_line_8623() {
5998 let input = r#"![foo][bar]
5999
6000[BAR]: /url"#;
6001 let output = r#"<p><img src="/url" alt="foo" /></p>"#;
6002 run(input, output);
6003}
6004
6005#[test]
6006fn src_line_8634() {
6007 let input = r#"![foo][]
6008
6009[foo]: /url "title""#;
6010 let output = r#"<p><img src="/url" alt="foo" title="title" /></p>"#;
6011 run(input, output);
6012}
6013
6014#[test]
6015fn src_line_8643() {
6016 let input = r#"![*foo* bar][]
6017
6018[*foo* bar]: /url "title""#;
6019 let output = r#"<p><img src="/url" alt="foo bar" title="title" /></p>"#;
6020 run(input, output);
6021}
6022
6023#[test]
6024fn src_line_8654() {
6025 let input = r#"![Foo][]
6026
6027[foo]: /url "title""#;
6028 let output = r#"<p><img src="/url" alt="Foo" title="title" /></p>"#;
6029 run(input, output);
6030}
6031
6032#[test]
6033fn src_line_8666() {
6034 let input = "![foo]\x20
6035[]
6036
6037[foo]: /url \"title\"";
6038 let output = r#"<p><img src="/url" alt="foo" title="title" />
6039[]</p>"#;
6040 run(input, output);
6041}
6042
6043#[test]
6044fn src_line_8679() {
6045 let input = r#"![foo]
6046
6047[foo]: /url "title""#;
6048 let output = r#"<p><img src="/url" alt="foo" title="title" /></p>"#;
6049 run(input, output);
6050}
6051
6052#[test]
6053fn src_line_8688() {
6054 let input = r#"![*foo* bar]
6055
6056[*foo* bar]: /url "title""#;
6057 let output = r#"<p><img src="/url" alt="foo bar" title="title" /></p>"#;
6058 run(input, output);
6059}
6060
6061#[test]
6062fn src_line_8699() {
6063 let input = r#"![[foo]]
6064
6065[[foo]]: /url "title""#;
6066 let output = r#"<p>![[foo]]</p>
6067<p>[[foo]]: /url &quot;title&quot;</p>"#;
6068 run(input, output);
6069}
6070
6071#[test]
6072fn src_line_8711() {
6073 let input = r#"![Foo]
6074
6075[foo]: /url "title""#;
6076 let output = r#"<p><img src="/url" alt="Foo" title="title" /></p>"#;
6077 run(input, output);
6078}
6079
6080#[test]
6081fn src_line_8723() {
6082 let input = r#"!\[foo]
6083
6084[foo]: /url "title""#;
6085 let output = r#"<p>![foo]</p>"#;
6086 run(input, output);
6087}
6088
6089#[test]
6090fn src_line_8735() {
6091 let input = r#"\![foo]
6092
6093[foo]: /url "title""#;
6094 let output = r#"<p>!<a href="/url" title="title">foo</a></p>"#;
6095 run(input, output);
6096}
6097
6098#[test]
6099fn src_line_8768() {
6100 let input = r#"<http://foo.bar.baz>"#;
6101 let output = r#"<p><a href="http://foo.bar.baz">http://foo.bar.baz</a></p>"#;
6102 run(input, output);
6103}
6104
6105#[test]
6106fn src_line_8775() {
6107 let input = r#"<http://foo.bar.baz/test?q=hello&id=22&boolean>"#;
6108 let output = r#"<p><a href="http://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean">http://foo.bar.baz/test?q=hello&amp;id=22&amp;boolean</a></p>"#;
6109 run(input, output);
6110}
6111
6112#[test]
6113fn src_line_8782() {
6114 let input = r#"<irc://foo.bar:2233/baz>"#;
6115 let output = r#"<p><a href="irc://foo.bar:2233/baz">irc://foo.bar:2233/baz</a></p>"#;
6116 run(input, output);
6117}
6118
6119#[test]
6120fn src_line_8791() {
6121 let input = r#"<MAILTO:FOO@BAR.BAZ>"#;
6122 let output = r#"<p><a href="MAILTO:FOO@BAR.BAZ">MAILTO:FOO@BAR.BAZ</a></p>"#;
6123 run(input, output);
6124}
6125
6126#[test]
6127fn src_line_8803() {
6128 let input = r#"<a+b+c:d>"#;
6129 let output = r#"<p><a href="a+b+c:d">a+b+c:d</a></p>"#;
6130 run(input, output);
6131}
6132
6133#[test]
6134fn src_line_8810() {
6135 let input = r#"<made-up-scheme://foo,bar>"#;
6136 let output = r#"<p><a href="made-up-scheme://foo,bar">made-up-scheme://foo,bar</a></p>"#;
6137 run(input, output);
6138}
6139
6140#[test]
6141fn src_line_8817() {
6142 let input = r#"<http://../>"#;
6143 let output = r#"<p><a href="http://../">http://../</a></p>"#;
6144 run(input, output);
6145}
6146
6147#[test]
6148fn src_line_8824() {
6149 let input = r#"<localhost:5001/foo>"#;
6150 let output = r#"<p><a href="localhost:5001/foo">localhost:5001/foo</a></p>"#;
6151 run(input, output);
6152}
6153
6154#[test]
6155fn src_line_8833() {
6156 let input = r#"<http://foo.bar/baz bim>"#;
6157 let output = r#"<p>&lt;http://foo.bar/baz bim&gt;</p>"#;
6158 run(input, output);
6159}
6160
6161#[test]
6162fn src_line_8842() {
6163 let input = r#"<http://example.com/\[\>"#;
6164 let output = r#"<p><a href="http://example.com/%5C%5B%5C">http://example.com/\[\</a></p>"#;
6165 run(input, output);
6166}
6167
6168#[test]
6169fn src_line_8864() {
6170 let input = r#"<foo@bar.example.com>"#;
6171 let output = r#"<p><a href="mailto:foo@bar.example.com">foo@bar.example.com</a></p>"#;
6172 run(input, output);
6173}
6174
6175#[test]
6176fn src_line_8871() {
6177 let input = r#"<foo+special@Bar.baz-bar0.com>"#;
6178 let output = r#"<p><a href="mailto:foo+special@Bar.baz-bar0.com">foo+special@Bar.baz-bar0.com</a></p>"#;
6179 run(input, output);
6180}
6181
6182#[test]
6183fn src_line_8880() {
6184 let input = r#"<foo\+@bar.example.com>"#;
6185 let output = r#"<p>&lt;foo+@bar.example.com&gt;</p>"#;
6186 run(input, output);
6187}
6188
6189#[test]
6190fn src_line_8889() {
6191 let input = r#"<>"#;
6192 let output = r#"<p>&lt;&gt;</p>"#;
6193 run(input, output);
6194}
6195
6196#[test]
6197fn src_line_8896() {
6198 let input = r#"< http://foo.bar >"#;
6199 let output = r#"<p>&lt; http://foo.bar &gt;</p>"#;
6200 run(input, output);
6201}
6202
6203#[test]
6204fn src_line_8903() {
6205 let input = r#"<m:abc>"#;
6206 let output = r#"<p>&lt;m:abc&gt;</p>"#;
6207 run(input, output);
6208}
6209
6210#[test]
6211fn src_line_8910() {
6212 let input = r#"<foo.bar.baz>"#;
6213 let output = r#"<p>&lt;foo.bar.baz&gt;</p>"#;
6214 run(input, output);
6215}
6216
6217#[test]
6218fn src_line_8917() {
6219 let input = r#"http://example.com"#;
6220 let output = r#"<p>http://example.com</p>"#;
6221 run(input, output);
6222}
6223
6224#[test]
6225fn src_line_8924() {
6226 let input = r#"foo@bar.example.com"#;
6227 let output = r#"<p>foo@bar.example.com</p>"#;
6228 run(input, output);
6229}
6230
6231#[test]
6232fn src_line_9005() {
6233 let input = r#"<a><bab><c2c>"#;
6234 let output = r#"<p><a><bab><c2c></p>"#;
6235 run(input, output);
6236}
6237
6238#[test]
6239fn src_line_9014() {
6240 let input = r#"<a/><b2/>"#;
6241 let output = r#"<p><a/><b2/></p>"#;
6242 run(input, output);
6243}
6244
6245#[test]
6246fn src_line_9023() {
6247 let input = r#"<a /><b2
6248data="foo" >"#;
6249 let output = r#"<p><a /><b2
6250data="foo" ></p>"#;
6251 run(input, output);
6252}
6253
6254#[test]
6255fn src_line_9034() {
6256 let input = r#"<a foo="bar" bam = 'baz <em>"</em>'
6257_boolean zoop:33=zoop:33 />"#;
6258 let output = r#"<p><a foo="bar" bam = 'baz <em>"</em>'
6259_boolean zoop:33=zoop:33 /></p>"#;
6260 run(input, output);
6261}
6262
6263#[test]
6264fn src_line_9045() {
6265 let input = r#"Foo <responsive-image src="foo.jpg" />"#;
6266 let output = r#"<p>Foo <responsive-image src="foo.jpg" /></p>"#;
6267 run(input, output);
6268}
6269
6270#[test]
6271fn src_line_9054() {
6272 let input = r#"<33> <__>"#;
6273 let output = r#"<p>&lt;33&gt; &lt;__&gt;</p>"#;
6274 run(input, output);
6275}
6276
6277#[test]
6278fn src_line_9063() {
6279 let input = r#"<a h*#ref="hi">"#;
6280 let output = r#"<p>&lt;a h*#ref=&quot;hi&quot;&gt;</p>"#;
6281 run(input, output);
6282}
6283
6284#[test]
6285fn src_line_9072() {
6286 let input = r#"<a href="hi'> <a href=hi'>"#;
6287 let output = r#"<p>&lt;a href=&quot;hi'&gt; &lt;a href=hi'&gt;</p>"#;
6288 run(input, output);
6289}
6290
6291#[test]
6292fn src_line_9081() {
6293 let input = r#"< a><
6294foo><bar/ >
6295<foo bar=baz
6296bim!bop />"#;
6297 let output = r#"<p>&lt; a&gt;&lt;
6298foo&gt;&lt;bar/ &gt;
6299&lt;foo bar=baz
6300bim!bop /&gt;</p>"#;
6301 run(input, output);
6302}
6303
6304#[test]
6305fn src_line_9096() {
6306 let input = r#"<a href='bar'title=title>"#;
6307 let output = r#"<p>&lt;a href='bar'title=title&gt;</p>"#;
6308 run(input, output);
6309}
6310
6311#[test]
6312fn src_line_9105() {
6313 let input = r#"</a></foo >"#;
6314 let output = r#"<p></a></foo ></p>"#;
6315 run(input, output);
6316}
6317
6318#[test]
6319fn src_line_9114() {
6320 let input = r#"</a href="foo">"#;
6321 let output = r#"<p>&lt;/a href=&quot;foo&quot;&gt;</p>"#;
6322 run(input, output);
6323}
6324
6325#[test]
6326fn src_line_9123() {
6327 let input = r#"foo <!-- this is a
6328comment - with hyphen -->"#;
6329 let output = r#"<p>foo <!-- this is a
6330comment - with hyphen --></p>"#;
6331 run(input, output);
6332}
6333
6334#[test]
6335fn src_line_9132() {
6336 let input = r#"foo <!-- not a comment -- two hyphens -->"#;
6337 let output = r#"<p>foo &lt;!-- not a comment -- two hyphens --&gt;</p>"#;
6338 run(input, output);
6339}
6340
6341#[test]
6342fn src_line_9141() {
6343 let input = r#"foo <!--> foo -->
6344
6345foo <!-- foo--->"#;
6346 let output = r#"<p>foo &lt;!--&gt; foo --&gt;</p>
6347<p>foo &lt;!-- foo---&gt;</p>"#;
6348 run(input, output);
6349}
6350
6351#[test]
6352fn src_line_9153() {
6353 let input = r#"foo <?php echo $a; ?>"#;
6354 let output = r#"<p>foo <?php echo $a; ?></p>"#;
6355 run(input, output);
6356}
6357
6358#[test]
6359fn src_line_9162() {
6360 let input = r#"foo <!ELEMENT br EMPTY>"#;
6361 let output = r#"<p>foo <!ELEMENT br EMPTY></p>"#;
6362 run(input, output);
6363}
6364
6365#[test]
6366fn src_line_9171() {
6367 let input = r#"foo <![CDATA[>&<]]>"#;
6368 let output = r#"<p>foo <![CDATA[>&<]]></p>"#;
6369 run(input, output);
6370}
6371
6372#[test]
6373fn src_line_9181() {
6374 let input = r#"foo <a href="&ouml;">"#;
6375 let output = r#"<p>foo <a href="&ouml;"></p>"#;
6376 run(input, output);
6377}
6378
6379#[test]
6380fn src_line_9190() {
6381 let input = r#"foo <a href="\*">"#;
6382 let output = r#"<p>foo <a href="\*"></p>"#;
6383 run(input, output);
6384}
6385
6386#[test]
6387fn src_line_9197() {
6388 let input = r#"<a href="\"">"#;
6389 let output = r#"<p>&lt;a href=&quot;&quot;&quot;&gt;</p>"#;
6390 run(input, output);
6391}
6392
6393#[test]
6394fn src_line_9211() {
6395 let input = "foo \x20
6396baz";
6397 let output = r#"<p>foo<br />
6398baz</p>"#;
6399 run(input, output);
6400}
6401
6402#[test]
6403fn src_line_9223() {
6404 let input = r#"foo\
6405baz"#;
6406 let output = r#"<p>foo<br />
6407baz</p>"#;
6408 run(input, output);
6409}
6410
6411#[test]
6412fn src_line_9234() {
6413 let input = "foo \x20
6414baz";
6415 let output = r#"<p>foo<br />
6416baz</p>"#;
6417 run(input, output);
6418}
6419
6420#[test]
6421fn src_line_9245() {
6422 let input = "foo \x20
6423 bar";
6424 let output = r#"<p>foo<br />
6425bar</p>"#;
6426 run(input, output);
6427}
6428
6429#[test]
6430fn src_line_9254() {
6431 let input = r#"foo\
6432 bar"#;
6433 let output = r#"<p>foo<br />
6434bar</p>"#;
6435 run(input, output);
6436}
6437
6438#[test]
6439fn src_line_9266() {
6440 let input = "*foo \x20
6441bar*";
6442 let output = r#"<p><em>foo<br />
6443bar</em></p>"#;
6444 run(input, output);
6445}
6446
6447#[test]
6448fn src_line_9275() {
6449 let input = r#"*foo\
6450bar*"#;
6451 let output = r#"<p><em>foo<br />
6452bar</em></p>"#;
6453 run(input, output);
6454}
6455
6456#[test]
6457fn src_line_9286() {
6458 let input = "`code \x20
6459span`";
6460 let output = r#"<p><code>code span</code></p>"#;
6461 run(input, output);
6462}
6463
6464#[test]
6465fn src_line_9294() {
6466 let input = r#"`code\
6467span`"#;
6468 let output = r#"<p><code>code\ span</code></p>"#;
6469 run(input, output);
6470}
6471
6472#[test]
6473fn src_line_9304() {
6474 let input = "<a href=\"foo \x20
6475bar\">";
6476 let output = "<p><a href=\"foo \x20
6477bar\"></p>";
6478 run(input, output);
6479}
6480
6481#[test]
6482fn src_line_9313() {
6483 let input = r#"<a href="foo\
6484bar">"#;
6485 let output = r#"<p><a href="foo\
6486bar"></p>"#;
6487 run(input, output);
6488}
6489
6490#[test]
6491fn src_line_9326() {
6492 let input = r#"foo\"#;
6493 let output = r#"<p>foo\</p>"#;
6494 run(input, output);
6495}
6496
6497#[test]
6498fn src_line_9333() {
6499 let input = "foo \x20";
6500 let output = r#"<p>foo</p>"#;
6501 run(input, output);
6502}
6503
6504#[test]
6505fn src_line_9340() {
6506 let input = r#"### foo\"#;
6507 let output = r#"<h3>foo\</h3>"#;
6508 run(input, output);
6509}
6510
6511#[test]
6512fn src_line_9347() {
6513 let input = "### foo \x20";
6514 let output = r#"<h3>foo</h3>"#;
6515 run(input, output);
6516}
6517
6518#[test]
6519fn src_line_9362() {
6520 let input = r#"foo
6521baz"#;
6522 let output = r#"<p>foo
6523baz</p>"#;
6524 run(input, output);
6525}
6526
6527#[test]
6528fn src_line_9374() {
6529 let input = "foo\x20
6530 baz";
6531 let output = r#"<p>foo
6532baz</p>"#;
6533 run(input, output);
6534}
6535
6536#[test]
6537fn src_line_9394() {
6538 let input = r#"hello $.;'there"#;
6539 let output = r#"<p>hello $.;'there</p>"#;
6540 run(input, output);
6541}
6542
6543#[test]
6544fn src_line_9401() {
6545 let input = r#"Foo χρῆν"#;
6546 let output = r#"<p>Foo χρῆν</p>"#;
6547 run(input, output);
6548}
6549
6550#[test]
6551fn src_line_9410() {
6552 let input = r#"Multiple spaces"#;
6553 let output = r#"<p>Multiple spaces</p>"#;
6554 run(input, output);
6555}
6556// end of auto-generated module
6557}