1 # MediaWiki Parser test cases
2 # Some taken from http://meta.wikimedia.org/wiki/Parser_testing
3 # All (C) their respective authors and released under the GPL
5 # The syntax should be fairly self-explanatory.
7 # Currently supported test options:
8 # One of the following three:
10 # (default) generate HTML output
11 # pst apply pre-save transform
12 # msg apply message transform
14 # Plus any combination of these:
16 # cat add category links
17 # ill add inter-language links
18 # subpage enable subpages (disabled by default)
19 # noxml don't check for XML well-formedness
20 # title=[[XXX]] run test using article title XXX
21 # language=XXX set content language to XXX for this test
22 # variant=XXX set the variant of language for this test (eg zh-tw)
23 # disabled do not run test
24 # parsoid parsoid-specific options (not run by PHP parser unless
25 # the test includes an html/php section)
26 # php php-only test (not run by the parsoid parser unless
27 # the test includes an html/parsoid section)
28 # showtitle make the first line the title
29 # comment run through Linker::formatComment() instead of main parser
30 # local format section links in edit comment text as local links
31 # notoc disable table of contents
32 # thumbsize=NNN set the default thumb size to NNNpx for this test
34 # You can also set the following parser properties via test options:
35 # wgEnableUploads, wgAllowExternalImages, wgMaxTocLevel,
36 # wgLinkHolderBatchSize, wgRawHtml
38 # For testing purposes, temporary articles can created:
39 # !!article / NAMESPACE:TITLE / !!text / ARTICLE TEXT / !!endarticle
40 # where '/' denotes a newline.
42 # This is the standard article assumed to exist.
73 MediaWiki:bad image list
75 * [[File:Bad.jpg]] except [[Nasty page]]
103 Template:echo_with_span
109 Template:echo_with_div
115 Template:table_attribs
118 |</noinclude>style="color:red;"|Foo
122 Template:table_attribs_2
125 |</noinclude>style="color:red;"|Foo
130 Template:table_header_cells
132 {{table_attribs}}!!style='color:red;'|''Bar''||style='color:brown;'|''Foo'' and Baz
138 {{table_attribs}}||style='color:red;'|''Bar''||style='color:brown;'|''Foo'' and Baz
142 Template:image_attribs
145 [[File:foobar.jpg|</noinclude>right|Caption text<noinclude>]]</noinclude>
148 ## See T48811 for details
150 Template:mixed_attr_content_template
152 style="color:red;" title="T48811"
198 Template:EmptyTRWithHTMLAttrTest
201 <tr align="center"></tr>
202 <tr><td>foo</td></tr>
203 <tr align="center"></tr>
204 <tr><td>bar</td></tr>
221 This is a simple paragraph.
223 <p>This is a simple paragraph.
228 Paragraphs with extra newline spacing
251 Paragraphs with newline spacing with comment lines in between
259 <!--foo--><!--More than 1 comment, still stripped-->
263 <!--foo--> <!----> <!-- bar -->
324 Paragraphs with newline spacing with non-empty white-space lines in between
351 Paragraphs with newline spacing with non-empty mixed comment and white-space lines in between
359 <!--foo--><!--More than 1 comment doesn't disable stripping of this line!-->
398 Extra newlines: More paragraphs with indented comment
413 Extra newlines followed by heading
428 <h1><a href="#b" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
429 <p><a href="/index.php?title=A&action=edit&redlink=1" class="new" title="A (page does not exist)">a</a>
432 <h1><a href="#b_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b_2">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
437 Extra newlines between heading and content are swallowed
445 <h1><a href="#b" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
446 <p><a href="/index.php?title=A&action=edit&redlink=1" class="new" title="A (page does not exist)">a</a>
453 http://fr.wikipedia.org/wiki/🍺
454 <!-- EasterEgg we love beer, better be able be able to link to it -->
456 <p><a rel="nofollow" class="external free" href="http://fr.wikipedia.org/wiki/🍺">http://fr.wikipedia.org/wiki/🍺</a>
460 # Note that the html+tidy output removes the spaces after the <li>,
461 # which is a bug (http://sourceforge.net/p/tidy/bugs/945/, etc).
462 # This is an issue for all tests with lists. We intentionally do
463 # *not* add html+tidy clauses for these, as we don't want to
464 # document/test the broken behavior. (Parsoid matches the non-tidy
465 # output in these cases.)
474 <li> Item 2</li></ul>
482 * plain''italic''plain
483 * plain''italic''plain''italic''plain
484 * plain'''bold'''plain
485 * plain'''bold'''plain'''bold'''plain
486 * plain''italic''plain'''bold'''plain
487 * plain'''bold'''plain''italic''plain
488 * plain''italic'''bold-italic'''italic''plain
489 * plain'''bold''bold-italic''bold'''plain
490 * plain'''''bold-italic'''italic''plain
491 * plain'''''bold-italic''bold'''plain
492 * plain''italic'''bold-italic'''''plain
493 * plain'''bold''bold-italic'''''plain
494 * plain l'''italic''plain
495 * plain l''''bold''' plain
498 <li> plain<i>italic</i>plain</li>
499 <li> plain<i>italic</i>plain<i>italic</i>plain</li>
500 <li> plain<b>bold</b>plain</li>
501 <li> plain<b>bold</b>plain<b>bold</b>plain</li>
502 <li> plain<i>italic</i>plain<b>bold</b>plain</li>
503 <li> plain<b>bold</b>plain<i>italic</i>plain</li>
504 <li> plain<i>italic<b>bold-italic</b>italic</i>plain</li>
505 <li> plain<b>bold<i>bold-italic</i>bold</b>plain</li>
506 <li> plain<i><b>bold-italic</b>italic</i>plain</li>
507 <li> plain<b><i>bold-italic</i>bold</b>plain</li>
508 <li> plain<i>italic<b>bold-italic</b></i>plain</li>
509 <li> plain<b>bold<i>bold-italic</i></b>plain</li>
510 <li> plain l'<i>italic</i>plain</li>
511 <li> plain l'<b>bold</b> plain</li></ul>
515 # this example taken from the [[simple:Moon]] article (bug 47326)
517 Italics and possessives (1)
519 obtained by ''[[Lunar Prospector]]'''s gamma-ray spectrometer
521 <p>obtained by <i><a href="/index.php?title=Lunar_Prospector&action=edit&redlink=1" class="new" title="Lunar Prospector (page does not exist)">Lunar Prospector</a>'</i>s gamma-ray spectrometer
525 # this example taken from [[en:Flaming Pie]] (bug 49926)
527 Italics and possessives (2)
529 '''''Flaming Pie''''' is ... released in 1997. In ''Flaming Pie'''s liner notes
531 <p><i><b>Flaming Pie</b></i> is ... released in 1997. In <i>Flaming Pie'</i>s liner notes
535 # this example taken from [[en:Dictionary]] (bug 49926)
537 Italics and possessives (3)
539 The first monolingual dictionary written in a Romance language was ''Sebastián Covarrubias''' ''Tesoro de la lengua castellana o española'', published in 1611 in Madrid. In 1612 the first edition of the ''Vocabolario dell'[[Accademia della Crusca]]'', for Italian, was published. In 1690 in Rotterdam was published, posthumously, the ''Dictionnaire Universel''.
541 <p>The first monolingual dictionary written in a Romance language was <i>Sebastián Covarrubias'</i> <i>Tesoro de la lengua castellana o española</i>, published in 1611 in Madrid. In 1612 the first edition of the <i>Vocabolario dell'<a href="/index.php?title=Accademia_della_Crusca&action=edit&redlink=1" class="new" title="Accademia della Crusca (page does not exist)">Accademia della Crusca</a></i>, for Italian, was published. In 1690 in Rotterdam was published, posthumously, the <i>Dictionnaire Universel</i>.
547 ### 2-quote opening sequence tests
550 Italics and bold: 2-quote opening sequence: (2,2)
559 Italics and bold: 2-quote opening sequence: (2,3)
568 Italics and bold: 2-quote opening sequence: (2,4)
578 # same html as previous, but wikitext adjusted to match parsoid html2wt
580 Italics and bold: 2-quote opening sequence: (2,4) w/ nowiki
582 ''foo<nowiki>''</nowiki>''
588 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
590 Italics and bold: 2-quote opening sequence: (2,5)
603 # same html as previous, but wikitext adjusted to match parsoid html2wt
605 Italics and bold: 2-quote opening sequence: (2,5+3) w/ nowiki
607 ''foo'''''<nowiki/>'''
618 ### 3-quote opening sequence tests
622 Italics and bold: 3-quote opening sequence: (3,2)
631 Italics and bold: 3-quote opening sequence: (3,3)
640 Italics and bold: 3-quote opening sequence: (3,4)
648 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
650 Italics and bold: 3-quote opening sequence: (3,5)
663 # same html as previous, but wikitext adjusted to match parsoid html2wt
665 Italics and bold: 3-quote opening sequence: (3,5+2) w/ nowiki
667 '''foo'''''<nowiki/>''
678 ### 4-quote opening sequence tests
682 Italics and bold: 4-quote opening sequence: (4,2)
692 # same html as previous, but wikitext adjusted to match parsoid html2wt
694 Italics and bold: 4-quote opening sequence: (4,2) w/ nowiki
696 <nowiki>''</nowiki>''foo''
703 Italics and bold: 4-quote opening sequence: (4,3)
712 Italics and bold: 4-quote opening sequence: (4,4)
722 # same html as previous, but wikitext adjusted to match parsoid html2wt
724 Italics and bold: 4-quote opening sequence: (4,4) w/ nowiki
732 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
734 Italics and bold: 4-quote opening sequence: (4,5)
743 <p>'<b>foo</b><i></i>
747 # same html as previous, but wikitext adjusted to match parsoid html2wt
749 Italics and bold: 4-quote opening sequence: (4,5+2) w/ nowiki
751 '<nowiki/>'''foo'''''<nowiki/>''
756 <p>'<b>foo</b><i></i>
762 ### 5-quote opening sequence tests
766 Italics and bold: 5-quote opening sequence: (5,2)
776 # same html as previous, but wikitext adjusted to match parsoid html2wt
777 # skipping wt2html and html2html because it wants to put <i> before <b>
779 Italics and bold: 5-quote opening sequence: (5,2+3)
781 parsoid=wt2wt,html2wt
790 Italics and bold: 5-quote opening sequence: (5,3)
800 # same html as previous, but wikitext adjusted to match parsoid html2wt
802 Italics and bold: 5-quote opening sequence: (5,3+2)
811 Italics and bold: 5-quote opening sequence: (5,4)
817 <p><i><b>foo'</b></i>
822 Italics and bold: 5-quote opening sequence: (5,5)
831 Italics and bold: 5-quote opening sequence: (5,6)
835 <p><i><b>foo'</b></i>
840 ### multiple quote sequences in a line
843 Italics and bold: multiple quote sequences: (2,4,2)
849 <p><i>foo'<b>bar</b></i>
854 # same html as previous, but wikitext adjusted to match parsoid html2wt
856 Italics and bold: multiple quote sequences: (2,4,2+3) w/ nowiki
858 ''foo'<nowiki/>'''bar'''''
860 <p><i>foo'<b>bar</b></i>
866 Italics and bold: multiple quote sequences: (2,4,3)
872 <p><i>foo'<b>bar</b></i>
877 # same html as previous, but wikitext adjusted to match parsoid html2wt
879 Italics and bold: multiple quote sequences: (2,4,3+2) w/ nowiki
881 ''foo'<nowiki/>'''bar'''''
883 <p><i>foo'<b>bar</b></i>
889 Italics and bold: multiple quote sequences: (2,4,4)
895 <p><i>foo'<b>bar'</b></i>
900 # same html as previous, but wikitext adjusted to match parsoid html2wt
902 Italics and bold: multiple quote sequences: (2,4,4+2) w/ nowiki
904 ''foo'<nowiki/>'''bar'<nowiki/>'''''
906 <p><i>foo'<b>bar'</b></i>
911 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
913 Italics and bold: multiple quote sequences: (3,4,2)
922 <p><b>foo'</b>bar<i></i>
926 # same html as previous, but wikitext adjusted to match parsoid html2wt
928 Italics and bold: multiple quote sequences: (3,4,2+2) w/ nowiki
932 '''<nowiki>foo'</nowiki>'''bar''<nowiki/>''
937 <p><b><span typeof="mw:Nowiki">foo'</span></b>bar<i></i>
942 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
944 Italics and bold: multiple quote sequences: (3,4,3)
953 <p><b>foo'</b>bar<b></b>
957 # same html as previous, but wikitext adjusted to match parsoid html2wt
959 Italics and bold: multiple quote sequences: (3,4,3+3) w/ nowiki
961 '''<nowiki>foo'</nowiki>'''bar'''<nowiki/>'''
966 <p><b><span typeof="mw:Nowiki">foo'</span></b>bar<b></b>
971 ### other quote tests
974 Italics and bold: other quote tests: (2,3,5)
976 ''this is about '''foo's family'''''
978 <p><i>this is about <b>foo's family</b></i>
984 Italics and bold: other quote tests: (2,(3,3),2)
986 ''this is about '''foo's''' family''
988 <p><i>this is about <b>foo's</b> family</i>
994 Italics and bold: other quote tests: (3,2,3,2)
998 '''this is about ''foo'''s family''
1000 <p><b>this is about <i>foo</i></b><i>s family</i>
1005 # same html as previous, but wikitext adjusted to match parsoid html2wt
1007 Italics and bold: other quote tests: (3,2,3+2+2,2)
1009 '''this is about ''foo'''''<nowiki/>''s family''
1011 <p><b>this is about <i>foo</i></b><i>s family</i>
1017 Italics and bold: other quote tests: (3,2,3,3)
1019 '''this is about ''foo'''s family'''
1021 <p>'<i>this is about </i>foo<b>s family</b>
1027 Italics and bold: other quote tests: (3,(2,2),3)
1029 '''this is about ''foo's'' family'''
1031 <p><b>this is about <i>foo's</i> family</b>
1037 Italicized possessive
1039 The ''[[Main Page]]'''s talk page.
1041 <p>The <i><a href="/wiki/Main_Page" title="Main Page">Main Page</a>'</i>s talk page.
1044 <p>The <i><a rel="mw:WikiLink" href="Main_Page" title="Main Page">Main Page</a>'</i>s talk page.</p>
1048 Parsoid only: Quote balancing context should be restricted to td/th cells on the same wikitext line
1049 (Requires tidy for PHP parser output to be fixed up)
1051 parsoid=wt2html,wt2wt
1068 <tbody><tr><th><i>a</i></th><th><i>b</i></th>
1069 <td><i>a</i></td><td><i>b</i></td></tr>
1078 Non-html5 tags should be accepted
1080 <center>''foo''</center>
1082 <font>''foo''</font>
1083 <strike>''foo''</strike>
1086 <center><i>foo</i></center>
1087 <p><big><i>foo</i></big>
1088 <font><i>foo</i></font>
1089 <strike><i>foo</i></strike>
1095 <wbr> is valid wikitext (bug 52468)
1103 # <strike> is HTML4, <s> is HTML4/5.
1105 <s> or <strike> for strikethrough
1107 <strike>strike</strike>
1111 <p><strike>strike</strike>
1119 Text-level semantic html elements in wikitext
1122 <strong>text</strong>
1138 <ruby><rb>明日</rb><rp>(</rp><rt>Ashita</rt><rp> </rp><rtc>あした</rtc><rp>)</rp></ruby>
1145 <strong>text</strong>
1161 <ruby><rb>明日</rb><rp>(</rp><rt>Ashita</rt><rp> </rp><rtc>あした</rtc><rp>)</rp></ruby>
1169 # test cases taken from
1170 # http://www.w3.org/TR/html5/text-level-semantics.html#the-ruby-element
1172 Ruby markup (W3C-style)
1174 ; Mono-ruby for individual base characters
1175 : <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>
1177 : <ruby>今日<rt>きょう</rt></ruby>
1179 : <ruby>法<rb>華</rb><rb>経</rb><rt>ほ</rt><rt>け</rt><rt>きょう</rt></ruby>
1181 : <ruby>東<rb>京</rb><rp>(</rp><rt>とう</rt><rt>きょう</rt><rp>)</rp></ruby>
1183 : <ruby><rb>旧</rb><rb>金</rb><rb>山</rb><rt>jiù</rt><rt>jīn</rt><rt>shān</rt><rtc>San Francisco</rtc></ruby>
1185 <rb>♥</rb><rtc><rt>Heart</rt></rtc><rtc lang="fr"><rt>Cœur</rt></rtc>
1186 <rb>☘</rb><rtc><rt>Shamrock</rt></rtc><rtc lang="fr"><rt>Trèfle</rt></rtc>
1187 <rb>✶</rb><rtc><rt>Star</rt></rtc><rtc lang="fr"><rt>Étoile</rt></rtc>
1190 <dl><dt> Mono-ruby for individual base characters</dt>
1191 <dd> <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby></dd>
1192 <dt> Group ruby</dt>
1193 <dd> <ruby>今日<rt>きょう</rt></ruby></dd>
1194 <dt> Jukugo ruby</dt>
1195 <dd> <ruby>法<rb>華</rb><rb>経</rb><rt>ほ</rt><rt>け</rt><rt>きょう</rt></ruby></dd>
1196 <dt> Inline ruby</dt>
1197 <dd> <ruby>東<rb>京</rb><rp>(</rp><rt>とう</rt><rt>きょう</rt><rp>)</rp></ruby></dd>
1198 <dt> Double-sided ruby</dt>
1199 <dd> <ruby><rb>旧</rb><rb>金</rb><rb>山</rb><rt>jiù</rt><rt>jīn</rt><rt>shān</rt><rtc>San Francisco</rtc></ruby></dd></dl>
1201 <rb>♥</rb><rtc><rt>Heart</rt></rtc><rtc lang="fr"><rt>Cœur</rt></rtc>
1202 <rb>☘</rb><rtc><rt>Shamrock</rt></rtc><rtc lang="fr"><rt>Trèfle</rt></rtc>
1203 <rb>✶</rb><rtc><rt>Star</rt></rtc><rtc lang="fr"><rt>Étoile</rt></rtc>
1208 # The next two test different paths in the sanitizer.
1210 Non-word characters don't terminate tag names (bug 17663, 40670, 52022)
1212 <b→> doesn't terminate </b→>
1214 <bä> doesn't terminate </bä>
1216 <boo> doesn't terminate </boo>
1218 <s.foo> doesn't terminate </s.foo>
1222 <p><b→> doesn't terminate </b→>
1223 </p><p><bä> doesn't terminate </bä>
1224 </p><p><boo> doesn't terminate </boo>
1225 </p><p><s.foo> doesn't terminate </s.foo>
1226 </p><p><sub-ID#1>
1230 # There is a tidy bug here: http://sourceforge.net/p/tidy/bugs/946/
1232 Non-word characters don't terminate tag names + tidy
1234 <b→> doesn't terminate </b→>
1236 <bä> doesn't terminate </bä>
1238 <boo> doesn't terminate </boo>
1240 <s.foo> doesn't terminate </s.foo>
1244 <p><b→> doesn't terminate </b→></p>
1245 <p><bä> doesn't terminate </bä></p>
1246 <p><boo> doesn't terminate </boo></p>
1247 <p><s.foo> doesn't terminate </s.foo></p>
1248 <p><sub-ID#1></p>
1252 Isolated close tags should be treated as literal text (bug 52760)
1259 </p><p><s.foo>s</s>
1264 ### Special characters
1268 Bare pipe character (bug 52363)
1277 Bare pipe character from a template (bug 52363)
1286 ### <nowiki> test cases
1290 <nowiki> unordered list
1292 <nowiki>* This is not an unordered list item.</nowiki>
1294 <p>* This is not an unordered list item.
1301 <nowiki>Lorem ipsum dolor
1309 <p>Lorem ipsum dolor
1322 :There is not nowiki.
1323 :There is <nowiki>nowiki</nowiki>.
1325 #There is not nowiki.
1326 #There is <nowiki>nowiki</nowiki>.
1328 *There is not nowiki.
1329 *There is <nowiki>nowiki</nowiki>.
1331 <dl><dd>There is not nowiki.</dd>
1332 <dd>There is nowiki.</dd></dl>
1333 <ol><li>There is not nowiki.</li>
1334 <li>There is nowiki.</li></ol>
1335 <ul><li>There is not nowiki.</li>
1336 <li>There is nowiki.</li></ul>
1341 Entities inside <nowiki>
1343 <nowiki><</nowiki>
1350 Entities inside template parameters
1356 <p><span typeof="mw:Transclusion mw:Entity" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&ndash;"}},"i":0}}]}'>–</span></p>
1360 Properly escape nowiki when combined with other wiki markup
1364 <p>* </nowiki> tag</p>
1366 <nowiki>* </nowiki></nowiki> tag
1373 Comments and Indent-Pre
1375 <!-- comment 1 --> asdf
1377 <!-- comment 1 --> asdf
1380 <!-- comment 1 --> asdf
1381 <!-- comment 2 -->xyz
1383 <!-- comment 1 --> asdf
1384 <!-- comment 2 --> xyz
1440 asdf<!-- comment 1 -->jkl
1450 <!-- foo --> b <!-- bar -->
1464 <!-- returns a single newline, not nothing, since the newline after > is not stripped -->
1470 Comment semantics and delimiters
1472 <!-- --><!----><!-----><!------>
1478 Comment semantics and delimiters, redux
1480 <!-- In SGML every "foo" here would actually show up in the text -- foo -- bar
1481 -- foo -- funky huh? ... -->
1487 Comment semantics and delimiters: directors cut
1489 <!-- ... However we like to keep things simple and somewhat XML-ish so we eat
1490 everything starting with < followed by !-- until the first -- and > we see,
1491 that wouldn't be valid XML however, since in XML -- has to terminate a comment
1499 Comment semantics: nesting
1501 <!--<!-- no, we're not going to do anything fancy here -->-->
1508 Comment semantics: unclosed comment at end
1510 <!--This comment will run out to the end of the document
1515 # Bug 58184: document parsoid's behaviour
1517 Suppress comment closing tag in lenient browsers
1519 parsoid=wt2html,html2html
1521 <!-- Browsers--!> think this is closed -->
1525 <!-- Browsers--¡> think this is closed -->
1529 Comment in template title
1538 Comment on its own line post-expand
1550 Comment on its own line post-expand with non-significant whitespace
1562 Multiple comments should still parse as SOL-transparent
1564 parsoid=wt2html,wt2wt
1567 <!--c2--><!--c3--><!--c4-->*b
1578 ### paragraph wrapping tests
1593 Block tag on one line (<div>)
1609 Block tag on one line (<blockquote>)
1611 a <blockquote>foo</blockquote>
1615 a <blockquote>foo</blockquote>
1627 Block tag on both lines (<div>)
1644 Block tag on both lines (<blockquote>)
1646 a <blockquote>foo</blockquote>
1648 b <blockquote>foo</blockquote>
1650 a <blockquote>foo</blockquote>
1651 b <blockquote>foo</blockquote>
1665 Multiple lines without block tags
1689 # Tidy strips out the empty <div> tags. Parsoid doesn't.
1690 # So, we have a separate section for Parsoid. We don't want
1691 # to mimic this stripping behavior in Parsoid. It affects
1692 # editing experience and also requires us to maintain additional
1695 Empty lines between lines with block tags
1733 <div data-parsoid='{"stx":"html"}'></div>
1736 <div data-parsoid='{"stx":"html"}'></div><p>a</p>
1739 <div data-parsoid='{"stx":"html"}'>a</div><p>b</p>
1741 <div data-parsoid='{"stx":"html"}'>b</div><p>d</p>
1744 <div data-parsoid='{"stx":"html"}'>e</div>
1747 ## PHP parser emits output which is broken
1748 ## XXX The parsoid output doesn't match the tidy output.
1750 Unclosed HTML p-tags should be handled properly
1758 <p>foo</div></p>
1762 <div data-parsoid='{"stx":"html"}'><p data-parsoid='{"stx":"html", "autoInsertedEnd":true}'>foo</p></div>
1767 ## SSS FIXME: I can come up with other scenarios where this doesn't work because
1768 ## of eager output of buffered tokens in the p-wrapper. But, I'm going to ignore
1771 1. P-wrapping should leave sol-transparent tags outside p-tags where possible
1775 a [[Category:A1]] [[Category:A2]]
1780 <link href="Category:A1"/> <link href="Category:A2"/> <link href="Category:A3"/> <link href="Category:A4"/>
1784 2. P-wrapping should leave sol-transparent tags outside p-tags where possible
1790 <link href="Category:A1"/><p>a</p>
1794 ### Preformatted text
1803 And a [[Main Page|link]]
1809 And a <a href="/wiki/Main_Page" title="Main Page">link</a>
1814 Tabs don't trigger preformatted text
1818 This is preformatted text.
1824 <pre>This is preformatted text.
1830 Ident preformatting with inline content
1841 <pre> with <nowiki> inside (compatibility with 1.6 and earlier)
1858 Regression with preformatted in <center>
1872 Bug 52763: Preformatted in <blockquote>
1878 indented cell (no pre-wrapping!)
1888 <p> indented cell (no pre-wrapping!)
1896 Bug 51086: Double newlines in blockquotes should be turned into paragraphs
1913 Bug 15491: <ins>/<del> in blockquote
1916 Foo <del>bar</del> <ins>baz</ins> quux
1920 <p>Foo <del>bar</del> <ins>baz</ins> quux
1926 # Note that the p-wrapping is newline sensitive, which could be
1927 # considered a bug: tidy will wrap only the 'Foo' in the example
1928 # below in a <p> tag. (see comment 23-25 of bug #6200)
1930 Bug 15491: <ins>/<del> in blockquote (2)
1932 <blockquote>Foo <del>bar</del> <ins>baz</ins> quux
1935 <blockquote>Foo <del>bar</del> <ins>baz</ins> quux
1941 <del>bar</del> <ins>baz</ins> quux</blockquote>
1945 <pre> with attributes (bug 3202)
1947 <pre style="background: blue; color:white">Bluescreen of WikiDeath</pre>
1949 <pre style="background: blue; color:white">Bluescreen of WikiDeath</pre>
1954 <pre> with width attribute (bug 3202)
1956 <pre width="8">Narrow screen goodies</pre>
1958 <pre width="8">Narrow screen goodies</pre>
1963 <pre> with forbidden attribute (bug 3202)
1965 <pre width="8" onmouseover="alert(document.cookie)">Narrow screen goodies</pre>
1967 <pre width="8">Narrow screen goodies</pre>
1972 Entities inside <pre>
1981 <pre> with forbidden attribute values (bug 3202)
1983 <pre width="8" style="border-width: expression(alert(document.cookie))">Narrow screen goodies</pre>
1985 <pre width="8" style="/* insecure input */">Narrow screen goodies</pre>
1990 <nowiki> inside <pre> (bug 13238)
1998 <pre><nowiki><nowiki></nowiki>Foo<nowiki></nowiki></nowiki></pre>
2006 <pre><nowiki>Foo</nowiki></pre>
2011 <nowiki> and <pre> preference (first one wins)
2042 </pre> inside nowiki
2044 <nowiki></pre></nowiki>
2050 # Parsoid doesn't strip empty tags, like Tidy does.
2052 Empty pre; pre inside other HTML tags (bug 54946)
2054 parsoid=wt2html,wt2wt
2085 HTML pre followed by indent-pre
2100 <p><pre>foo</pre></p>
2102 <p data-parsoid='{"stx":"html","autoInsertedEnd":true}'></p><pre data-parsoid='{"stx":"html"}'>foo</pre><p data-parsoid='{"autoInsertedStart":true,"stx":"html"}'></p>
2106 Templates: Indent-Pre: 1a. Templates that break a line should suppress <pre>
2114 Templates: Indent-Pre: 1b. Templates that break a line should suppress <pre>
2124 Templates: Indent-Pre: 1c: Wrapping should be based on expanded content
2136 Templates: Indent-Pre: 1d: Wrapping should be based on expanded content
2157 Templates: Indent-Pre: 1e. Wrapping should be based on expanded content
2161 {{echo| foo}}{{echo| bar}}
2166 {{echo|<!--cmt--> foo}}
2168 <!--cmt-->{{echo| foo}}
2170 {{echo|{{echo| }}bar}}
2188 Templates: Indent-Pre: 1f: Wrapping should be based on expanded content
2225 Things that look like <pre> tags aren't treated as such
2227 Barack Obama <President> of the United States
2228 <President></President>
2230 <p>Barack Obama <President> of the United States
2231 <President></President>
2235 ## PHP parser discards the "<pre " string
2237 Handle broken pre-like tags (bug 64025)
2241 {{echo|<pre <pre>x</pre>}}
2243 <table><pre </table>
2246 <table><pre></pre></table>
2249 <pre about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"a":{"<pre":null},"sa":{"<pre":""},"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]]}' data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<pre <pre>x</pre>"}},"i":0}}]}'>x</pre>
2258 Parsoid: handle pre with space after attribute
2262 <pre style="width:50%;" >{{echo|foo}}</pre>
2264 <pre style="width:50%;">{{echo|foo}}</pre>
2267 # TODO / maybe: fix wt2wt for this
2269 Parsoid: Don't paragraph-wrap fosterable content
2295 Parsoid: Don't paragraph-wrap fosterable content even if table syntax is unbalanced
2323 #--------------------------------------------------------------------
2324 # Transclusion parameter whitespace stripping tests
2325 # Behavior is different for positional and named parameters
2326 #--------------------------------------------------------------------
2328 Templates: Strip leading and trailing whitespace from named-param values
2332 {{echo|1= {{echo|b}} }}
2345 <ul><li> d</li></ul>
2350 Templates: Don't strip whitespace from positional-param values
2354 {{echo|{{echo|b}} }}
2386 <ul><li> f</li></ul>
2394 Templates: Handle empty comment-and-ws-only lines correctly
2397 <!--should be ignored-->
2398 <!--should be ignored as well-->
2407 Templates: Handle comments in the target
2410 <!-- should be ignored -->
2413 {{echo<!-- should be ignored -->
2416 {{echo<!-- should be ignored -->|foo}}
2418 {{<!-- should be ignored -->echo|foo}}
2420 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo\n<!-- should be ignored -->\n","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</p>
2422 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo<!-- should be ignored -->\n","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</p>
2424 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo<!-- should be ignored -->","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</p>
2426 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</p>
2430 Templates: Handle comments in parameter names (bug 67657)
2433 <!-- should be ignored -->
2437 <!-- should be ignored -->
2440 {{echo|1<!-- should be ignored --> = foo}}
2442 {{echo|<!-- should be ignored -->1 = foo}}
2444 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo","key":{"wt":"1\n<!-- should be ignored -->"}}},"i":0}}]}'>foo</p>
2446 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo","key":{"wt":"<!-- should be ignored -->\n1"}}},"i":0}}]}'>foo</p>
2448 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo","key":{"wt":"1<!-- should be ignored -->"}}},"i":0}}]}'>foo</p>
2450 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo","key":{"wt":"<!-- should be ignored -->1"}}},"i":0}}]}'>foo</p>
2454 Templates: Other wikitext in parameter names (bug 67657)
2458 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"''1''":{"wt":"foo"}},"i":0}}]}'>{{{1}}}</p>
2464 #--------------------------------------------------------------------
2465 # Transclusion parameter escaping tests
2466 #--------------------------------------------------------------------
2468 Templates: Parsoid parameter escaping test 1
2472 {{echo|[foo]|{{echo|[bar]}}}}
2474 <p about="#mwt1" typeof="mw:Transclusion"
2475 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[foo]"},"2":{"wt":"{{echo|[bar]}}"}},"i":0}}]}'>[foo]</p>
2479 Parsoid: Pipes in external links in template parameter
2483 {{echo|[{{echo|http://example.com}} link]}}
2485 <p><a rel="mw:ExtLink" href="http://example.com" about="#mwt31" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[{{echo|http://example.com}} link]"}},"i":0}}]}'>link</a></p>
2489 Parsoid: pipe in transclusion parameter
2493 {{echo|http://foo.com/a|b}}
2495 <p><a rel="mw:ExtLink" href="http://foo.com/a|b" about="#mwt1"
2496 typeof="mw:Transclusion"
2497 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://foo.com/a&#124;b"}},"i":0}}]}'>http://foo.com/a|b</a></p>
2501 Parsoid: Pipe in external link target and content in template parameter
2503 parsoid=html2wt,wt2wt
2505 {{echo|[http://foo.com/a|b a|b]}}
2507 <p><a rel="mw:ExtLink" href="http://foo.com/a|b" about="#mwt1"
2508 typeof="mw:Transclusion"
2509 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},
2510 "params":{"1":{"wt":"[http://foo.com/a|b a|b]"}},"i":0}}]}'>a|b</a></p>
2514 Parsoid: Pipe in template with nested template in external link target in template parameter (seriously)
2518 {{echo|[{{fullurl:{{FULLPAGENAME}}|action=edit}} bar]}}
2520 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[{{fullurl:{{FULLPAGENAME}}|action=edit}} bar]"}},"i":0}}]}'>[Main Page bar]</p>
2524 Templates: Don't escape already nowiki-escaped text in template parameters
2526 parsoid=html2wt,wt2wt
2528 {{echo|foo<nowiki>|</nowiki>bar}}
2529 {{echo|<nowiki><div></nowiki>}}
2530 {{echo|<nowiki></nowiki>}}
2532 <p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo<nowiki>|</nowiki>bar"}},"i":0}}]}'}'>foo</span><span typeof="mw:Nowiki" about="#mwt1">|</span><span about="#mwt1">bar</span>
2533 <span typeof="mw:Transclusion mw:Nowiki" about="#mwt2" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<nowiki>&lt;div&gt;</nowiki>"}},"i":0}}]}'><span typeof="mw:Entity"><</span>div<span typeof="mw:Entity">></span></span>
2534 <span typeof="mw:Transclusion mw:Nowiki" about="#mwt3" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<nowiki></nowiki>"}},"i":0}}]}'></span>
2540 Templates: '=' char in nested transclusions should not trigger nowiki escapes or conversion to named param
2542 parsoid=html2wt,wt2wt
2544 {{echo|{{echo|1=bar}}}}
2546 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{echo|1=bar}}"}},"i":0}}]}'>bar</p>
2551 Templates parameters with special tokenizing behavior dont get modified because of arg escaping
2557 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a : b"}},"i":0}}]}'>a<span typeof="mw:Placeholder" data-parsoid='{"isDisplayHack":true}'> </span>: b</p>
2562 Templates: Preserve blank parameter names
2569 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"":{"wt":"foo"}},"i":0}}]}'>{{{1}}}</p>
2573 ### Parsoid-centric tests for testing RT edge cases for pre
2577 1a. Indent-Pre and Comments
2590 1b. Indent-Pre and Comments
2603 1c. Indent-Pre and Comments
2616 1d. Indent-Pre and Comments
2617 (Pre-handler currently cannot distinguish between comment/ws order and normalizes them to [comment,ws] order)
2630 2a. Indent-Pre and tables
2651 2b. Indent-Pre and tables
2667 2c. Indent-Pre and tables (bug 42252)
2684 2d. Indent-Pre and tables
2701 <tbody><tr><td> b</td></tr>
2706 2e. Indent-Pre and table-line syntax
2719 2f. Indent-pre started by table-line syntax
2738 3a. Indent-Pre and block tags (single-line html)
2742 c <blockquote> foo </blockquote>
2747 c <blockquote> foo </blockquote>
2748 <pre><span> foo </span>
2751 <p>a </p><p data-parsoid='{"stx":"html"}'> foo </p>
2752 <p>b </p><div data-parsoid='{"stx":"html"}'> foo </div>
2753 <p>c </p><blockquote data-parsoid='{"stx":"html"}'> foo </blockquote>
2754 <pre><span> foo </span>
2771 3b. Indent-Pre and block tags (multi-line html)
2776 <pre>a <span>foo</span>
2781 <pre>a <span data-parsoid='{"stx":"html"}'>foo</span></pre>
2782 b <div data-parsoid='{"stx":"html"}'> foo </div>
2792 3c. Indent-Pre and block tags (pre-content on separate line)
2856 4. Indent-Pre and extension tags
2862 a <ul class="gallery mw-gallery-traditional">
2863 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
2864 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
2865 <div class="gallerytext">
2872 <ul class="gallery mw-gallery-traditional">
2873 <li class="gallerybox" style="width: 155px">
2874 <div style="width: 155px">
2875 <div class="thumb" style="width: 150px;">
2876 <div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div>
2878 <div class="gallerytext"></div>
2885 Table wikitext syntax outside wiki-tables
2888 ! not a table heading
2891 | class="foo bar" | baz
2898 ! not a table heading
2901 | class="foo bar" | baz
2910 Render paragraphs when indent-pre is suppressed in blocklevels
2927 4. Multiple spaces at start-of-line
2945 ## NOTE: the leading white-space chars on empty line are significant
2947 5a. White-space in indent-pre
2959 ## NOTE: the leading white-space chars on empty line are significant
2961 5b. White-space in indent-pre
2980 5c. White-space in indent-pre
2993 6. Pre-blocks should extend across lines with leading WS even when there is no wrappable content
3016 7a. Indent-pre and category links
3018 parsoid=wt2html,wt2wt
3020 [[Category:foo]] <!-- No pre-wrapping -->
3021 {{echo| [[Category:foo]]}} <!-- No pre-wrapping -->
3023 <link rel="mw:PageProp/Category" href="./Category:Foo"> <!-- No pre-wrapping -->
3024 <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":" [[Category:foo]]"}},"i":0}}]}'> </span><link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1"> <!-- No pre-wrapping -->
3028 7b. Indent-pre and category links
3030 parsoid=wt2html,wt2wt
3033 [[Category:foo]] {{echo|b}}
3036 <link rel="mw:PageProp/Category" href="./Category:Foo"> a
3037 <link rel="mw:PageProp/Category" href="./Category:Foo"> <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b"}},"i":0}}]}'>b</span></pre>
3041 ### HTML-pre (some to spec PHP parser behavior and some Parsoid-RT-centric)
3045 HTML-pre: 1. embedded newlines
3079 <pre data-parsoid='{"stx":"html"}'>foo</pre>
3081 <pre data-parsoid='{"stx":"html","strippedNL":"\n"}'>
3085 <pre data-parsoid='{"stx":"html"}'>
3090 <pre data-parsoid='{"stx":"html"}'>
3098 HTML-pre: big spaces
3135 <pre data-parsoid='{"stx":"html"}'>
3154 HTML-pre: 2: indented text
3167 HTML-pre: 3: other wikitext
3188 ### Definition lists
3195 <dl><dt> name </dt>
3196 <dd> Definition</dd></dl>
3201 Definition list for indentation only
3205 <dl><dd> Indented text</dd></dl>
3210 Definition list with no space
3215 <dd>Definition</dd></dl>
3220 Definition list with URL link
3222 ; http://example.com/ : definition
3224 <dl><dt> <a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a> </dt>
3225 <dd> definition</dd></dl>
3230 Definition list with bracketed URL link
3232 ;[http://www.example.com/ Example]:Something about it
3234 <dl><dt><a rel="nofollow" class="external text" href="http://www.example.com/">Example</a></dt>
3235 <dd>Something about it</dd></dl>
3240 Definition list with wikilink containing colon
3242 ; [[Help:FAQ]]: The least-read page on Wikipedia
3244 <dl><dt> <a href="/index.php?title=Help:FAQ&action=edit&redlink=1" class="new" title="Help:FAQ (page does not exist)">Help:FAQ</a></dt>
3245 <dd> The least-read page on Wikipedia</dd></dl>
3249 # At Brion's and JeLuF's insistence... :)
3251 Definition list with news link containing colon
3253 ; news:alt.wikipedia.rox: This isn't even a real newsgroup!
3255 <dl><dt> <a rel="nofollow" class="external free" href="news:alt.wikipedia.rox">news:alt.wikipedia.rox</a></dt>
3256 <dd> This isn't even a real newsgroup!</dd></dl>
3259 <dl><dt> <a rel="mw:ExtLink" href="news:alt.wikipedia.rox" data-parsoid='{"stx":"url"}'>news:alt.wikipedia.rox</a></dt><dd data-parsoid='{"stx":"row"}'> This isn't even a real newsgroup!</dd></dl>
3263 Malformed definition list with colon
3265 ; news:alt.wikipedia.rox -- don't crash or enter an infinite loop
3267 <dl><dt> <a rel="nofollow" class="external free" href="news:alt.wikipedia.rox">news:alt.wikipedia.rox</a> -- don't crash or enter an infinite loop</dt></dl>
3272 Definition lists: colon in external link text
3274 ; [http://www.wikipedia2.org/ Wikipedia : The Next Generation]: OK, I made that up
3276 <dl><dt> <a rel="nofollow" class="external text" href="http://www.wikipedia2.org/">Wikipedia : The Next Generation</a></dt>
3277 <dd> OK, I made that up</dd></dl>
3282 Definition lists: colon in HTML attribute
3284 ;<b style="display: inline">bold</b>
3286 <dl><dt><b style="display: inline">bold</b></dt></dl>
3291 Definition lists: self-closed tag
3293 ;one<br/>two : two-line fun
3295 <dl><dt>one<br />two </dt>
3296 <dd> two-line fun</dd></dl>
3301 Bug 11748: Literal closing tags
3305 <dd>test test test test test</dd>
3307 <dd>test test test test test</dd>
3312 <dd>test test test test test</dd>
3314 <dd>test test test test test</dd>
3320 Definition and unordered list using wiki syntax nested in unordered list using html tags.
3323 ; term : description
3328 <dl><dt> term </dt>
3329 <dd> description</dd></dl>
3330 <ul><li> unordered</li></ul>
3337 Definition list with empty definition and following paragraph
3349 Nested definition lists using html syntax
3358 Definition Lists: No nesting: Multiple dd's
3371 Definition Lists: Indentation: Regular
3379 <dl><dd>i3</dd></dl></dd></dl></dd></dl>
3384 Definition Lists: Indentation: Missing 1st level
3390 <dl><dd>i3</dd></dl></dd></dl></dd></dl>
3395 Definition Lists: Indentation: Multi-level indent
3399 <dl><dd><dl><dd><dl><dd>i3</dd></dl></dd></dl></dd></dl>
3404 Definition Lists: Hacky use to indent tables
3411 should be left alone
3413 <dl><dd><dl><dd><table>
3418 </td></tr></table></dd></dl></dd></dl>
3420 should be left alone
3425 Definition Lists: Hacky use to indent tables, with comments (bug 63979)
3433 should be left alone
3436 <dl><dd><dl><dd><table><tr>
3439 </tr></table><!-- bar --></dd></dl></dd></dl>
3441 should be left alone</p>
3445 Definition Lists: Hacky use to indent tables, with comment before table
3451 <dl><dd><dl><dd><!-- foo --><table><tr>
3453 </tr></table></dd></dl></dd></dl>
3458 Definition Lists: Hacky use to indent tables (WS-insensitive)
3467 <dd> <table><tr><td>a</td></tr></table> </dd>
3470 ## The PHP parser treats : items (dd) without a corresponding ; item (dt)
3471 ## as an empty dt item. It also ignores all but the last ";" when followed
3472 ## by ":" later on. So, ";" are not ignored in ";;;t3" but are ignored in
3473 ## ";;;t3 :d1". So, PHP parser behavior is a little inconsistent wrt multiple
3476 ## Ex: ";;t2 ::d2" is transformed into:
3488 ## But, Parsoid treats "; :" as a tight atomic unit and excess ":" as plain text
3489 ## So, the same wikitext above (;;t2 ::d2) is transformed into:
3500 ## All Parsoid only definition list tests have this difference.
3502 ## See also: https://bugzilla.wikimedia.org/show_bug.cgi?id=6569
3503 ## and http://lists.wikimedia.org/pipermail/wikitext-l/2011-November/000483.html
3506 Table / list interaction: indented table with lists in table contents
3521 <ul><li> b</li></ul>
3525 <ul><li> d</li></ul>
3526 </td></tr></table></dd></dl>
3531 Table / list interaction: lists nested in tables nested in indented lists
3554 </td></tr></table></dd></dl>
3561 Definition Lists: Nesting: Multi-level (Parsoid only)
3591 Definition Lists: Nesting: Test 2 (Parsoid only)
3611 Definition Lists: Nesting: Test 3 (Parsoid only)
3639 Definition Lists: Nesting: Test 4
3644 <dl><dd><dl><dd><dl><dt>t3</dt>
3645 <dd>d3</dd></dl></dd></dl></dd></dl>
3650 ## The Parsoid team believes the following three test exposes a
3651 ## bug in the PHP parser. (Parsoid team thinks the PHP parser is
3652 ## wrong to close the <dl> after the <dt> containing the <ul>.)
3653 ## It also exposes a "misfeature" in tidy, which doesn't like
3654 ## <dl> tags with a single <dt> child; it converts the <dt> into
3655 ## a <dd> in that case. (Parsoid leaves the <dt> alone!)
3657 Definition Lists: Mixed Lists: Test 1
3663 <dl><dd><dl><dt><ul><li> foo</li>
3664 <li> bar</li></ul></dt></dl>
3665 <dl><dt> baz</dt></dl></dd></dl>
3700 Definition Lists: Mixed Lists: Test 2
3705 <ul><li><dl><dd> d1</dd>
3706 <dd> d2</dd></dl></li></ul>
3712 Definition Lists: Mixed Lists: Test 3
3717 <ul><li><dl><dd><dl><dd><dl><dd> d1</dd>
3718 <dd> d2</dd></dl></dd></dl></dd></dl></li></ul>
3724 Definition Lists: Mixed Lists: Test 4
3729 <ul><li><dl><dt>d1 </dt>
3732 <dd>d4</dd></dl></li></ul>
3738 Definition Lists: Mixed Lists: Test 5
3744 <dl><dd> d2</dd></dl></dd></dl></li></ul>
3750 Definition Lists: Mixed Lists: Test 6
3755 <ol><li><ul><li><dl><dd>d1
3756 <dl><dd><dl><dd> d3</dd></dl></dd></dl></dd></dl></li></ul></li></ol>
3762 Definition Lists: Mixed Lists: Test 7
3767 <dl><dd><ul><li> d1</li>
3768 <li> d2</li></ul></dd></dl>
3774 Definition Lists: Mixed Lists: Test 8
3779 <dl><dd><ul><li> d1</li></ul>
3780 <dl><dd><ul><li> d2</li></ul></dd></dl></dd></dl>
3786 Definition Lists: Mixed Lists: Test 9
3790 <ul><li><dl><dt>foo </dt>
3791 <dd>bar</dd></dl></li></ul>
3797 Definition Lists: Mixed Lists: Test 10
3801 <ul><li><ol><li><dl><dt>foo </dt>
3802 <dd>bar</dd></dl></li></ol></li></ul>
3806 # The Parsoid team disagrees with the PHP parser's seemingly-random
3807 # rules regarding dd/dt on the next two tests. Parsoid is more
3808 # consistent, and recognizes the shared nesting and keeps the
3809 # still-open tags around until the nesting is complete.
3810 # (And tidy again converts <dt> to <dd> before 'bar'.)
3813 Definition Lists: Mixed Lists: Test 11
3818 <ul><li><ol><li><ul><li><ol><li><dl><dt>foo </dt>
3819 <dd><ul><li><dl><dt><dl><dt>bar</dt></dl></dd></dl></li></ul></dd></dl>
3820 <dl><dt>boo </dt>
3821 <dd>baz</dd></dl></li></ol></li></ul></li></ol></li></ul>
3876 <dt>foo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'> </span></dt>
3877 <dd data-parsoid='{"stx":"row"}'>bar</dd>
3881 <dt>boo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'> </span></dt>
3882 <dd data-parsoid='{"stx":"row"}'>baz</dd>
3891 # Another case where tidy converts a <dt> to a <dd> (but Parsoid doesn't).
3893 Definition Lists: Weird Ones: Test 1
3895 *#;*::;; foo : bar (who uses this?)
3897 <ul><li><ol><li><dl><dt> foo </dt>
3898 <dd><ul><li><dl><dd><dl><dd><dl><dt><dl><dt> bar (who uses this?)</dt></dl></dd></dl></dd></dl></dd></dl></li></ul></dd></dl></li></ol></li></ul>
3917 <dt>bar (who uses this?)</dt>
3949 <dt> foo<span typeof="mw:Placeholder"> </span></dt>
3950 <dd data-parsoid='{"stx":"row"}'> bar (who uses this?)</dd>
3962 Definition Lists: colons occurring in tags
3979 <dt><span>a:b</span></dt>
3997 Definition Lists: colons and tables 1
4009 </td></tr></table></dd></dl>
4013 </td></tr></table></dd></dl>
4017 # Parsoid's output (as documented below) differs from php's in this case.
4018 # This is probably a bug. If we fixup parsoid to match php's output, the
4019 # above test should pass and the below test case can be removed. It is
4020 # unclear which output is more desirable.
4023 Definition Lists: colons and tables 2
4035 </td></tr></table></dd>
4039 </td></tr></table></dd></dl>
4047 External links: non-bracketed
4049 Non-bracketed: http://example.com
4051 <p>Non-bracketed: <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4055 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
4057 External links: numbered
4059 Numbered: [http://example.com]
4060 Numbered: [http://example.net]
4061 Numbered: [http://example.com]
4063 <p>Numbered: <a rel="nofollow" class="external autonumber" href="http://example.com">[1]</a>
4064 Numbered: <a rel="nofollow" class="external autonumber" href="http://example.net">[2]</a>
4065 Numbered: <a rel="nofollow" class="external autonumber" href="http://example.com">[3]</a>
4068 <p>Numbered: <a rel="mw:ExtLink" href="http://example.com"></a>
4069 Numbered: <a rel="mw:ExtLink" href="http://example.net"></a>
4070 Numbered: <a rel="mw:ExtLink" href="http://example.com"></a></p>
4074 External links: specified text
4076 Specified text: [http://example.com link]
4078 <p>Specified text: <a rel="nofollow" class="external text" href="http://example.com">link</a>
4083 External links: trail
4085 Linktrails should not work for external links: [http://example.com link]s
4087 <p>Linktrails should not work for external links: <a rel="nofollow" class="external text" href="http://example.com">link</a>s
4092 External links: dollar sign in URL
4094 http://example.com/1$2345
4096 <p><a rel="nofollow" class="external free" href="http://example.com/1$2345">http://example.com/1$2345</a>
4100 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
4102 External links: dollar sign in URL (autonumber)
4104 [http://example.com/1$2345]
4106 <p><a rel="nofollow" class="external autonumber" href="http://example.com/1$2345">[1]</a>
4109 <p><a rel="mw:ExtLink" href="http://example.com/1$2345"></a></p>
4113 External links: open square bracket forbidden in URL (bug 4377)
4115 parsoid=wt2html,wt2wt,html2html
4117 http://example.com/1[2345
4119 <p><a rel="nofollow" class="external free" href="http://example.com/1">http://example.com/1</a>[2345
4122 <p><a rel="mw:ExtLink" href="http://example.com/1">http://example.com/1</a>[2345</p>
4126 External links: open square bracket forbidden in URL (named) (bug 4377)
4128 parsoid=wt2html,html2html
4130 [http://example.com/1[2345]
4132 <p><a rel="nofollow" class="external text" href="http://example.com/1">[2345</a>
4135 <p><a rel="mw:ExtLink" href="http://example.com/1">[2345</a></p>
4138 # parsoid adds a space before the link name
4140 External links: open square bracket forbidden in URL (named) (bug 4377)
4143 [http://example.com/1 [2345]
4145 <p><a rel="nofollow" class="external text" href="http://example.com/1">[2345</a>
4150 External links: nowiki in URL link text (bug 6230)
4152 [http://example.com/ <nowiki>''example site''</nowiki>]
4154 <p><a rel="nofollow" class="external text" href="http://example.com/">''example site''</a>
4159 External links: newline forbidden in text (bug 6230 regression check)
4161 [http://example.com/ first
4164 <p>[<a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a> first
4170 External links: Pipe char between url and text
4172 [http://example.com | link]
4174 <p><a rel="nofollow" class="external text" href="http://example.com">| link</a>
4179 External links: protocol-relative URL in brackets
4181 [//example.com/ Test]
4183 <p><a rel="nofollow" class="external text" href="//example.com/">Test</a>
4187 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
4189 External links: protocol-relative URL in brackets without text
4193 <p><a rel="nofollow" class="external autonumber" href="//example.com">[1]</a>
4196 <p><a rel="mw:ExtLink" href="//example.com"></a></p>
4200 External links: protocol-relative URL in free text is left alone
4204 <p>//example.com/Foo
4209 External links: protocol-relative URL in the middle of a word is left alone (bug 30269)
4211 foo//example.com/Foo
4213 <p>foo//example.com/Foo
4218 External links: with no contents
4220 [http://en.wikipedia.org/wiki/Foo]
4222 [[wikipedia:Foo|Bar]]
4224 [[wikipedia:Foo|<span>Bar</span>]]
4226 <p><a rel="nofollow" class="external autonumber" href="http://en.wikipedia.org/wiki/Foo">[1]</a>
4227 </p><p><a href="http://en.wikipedia.org/wiki/Foo" class="extiw" title="wikipedia:Foo">Bar</a>
4228 </p><p><a href="http://en.wikipedia.org/wiki/Foo" class="extiw" title="wikipedia:Foo"><span>Bar</span></a>
4231 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"></a></p>
4232 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" title="wikipedia:Foo">Bar</a></p>
4233 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" title="wikipedia:Foo"><span>Bar</span></a></p>
4237 External links: Free with trailing punctuation
4247 http://example.com/url_with_(brackets)
4248 (http://example.com/url_without_brackets)
4249 http://example.com/url_with_entity
4250 http://example.com/url_with_entity 
4251 http://example.com/url_with_entity 
4252 http://example.com/url_with_entity<
4253 http://example.com/url_with_entity<
4254 http://example.com/url_with_entity<
4256 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>,
4257 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>;
4258 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>\
4259 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>.
4260 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>:
4261 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>!
4262 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>?
4263 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
4264 <a rel="nofollow" class="external free" href="http://example.com/url_with_(brackets)">http://example.com/url_with_(brackets)</a>
4265 (<a rel="nofollow" class="external free" href="http://example.com/url_without_brackets">http://example.com/url_without_brackets</a>)
4266 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4267 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4268 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4269 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><
4270 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity%3C">http://example.com/url_with_entity%3C</a>
4271 <a rel="nofollow" class="external free" href="http://example.com/url_with_entity%3C">http://example.com/url_with_entity%3C</a>
4274 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a>,
4275 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>;
4276 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>\
4277 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>.
4278 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>:
4279 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>!
4280 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>?
4281 <a rel="mw:ExtLink" href="http://example.com">http://example.com</a>)
4282 <a rel="mw:ExtLink" href="http://example.com/url_with_(brackets)">http://example.com/url_with_(brackets)</a>
4283 (<a rel="mw:ExtLink" href="http://example.com/url_without_brackets">http://example.com/url_without_brackets</a>)
4284 <a rel="mw:ExtLink" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4285 <a rel="mw:ExtLink" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4286 <a rel="mw:ExtLink" href="http://example.com/url_with_entity ">http://example.com/url_with_entity </a>
4287 <a rel="mw:ExtLink" href="http://example.com/url_with_entity">http://example.com/url_with_entity</a><span typeof="mw:Entity"><</span>
4288 <a rel="mw:ExtLink" href="http://example.com/url_with_entity<">http://example.com/url_with_entity<</a>
4289 <a rel="mw:ExtLink" href="http://example.com/url_with_entity<">http://example.com/url_with_entity<</a></p>
4293 External links: No preceding word characters allowed (bug 65278)
4295 NOPEhttp://example.com
4296 N0http://example.com
4297 ok:http://example.com
4298 ok-http://example.com
4300 <p>NOPEhttp://example.com
4301 N0http://example.com
4302 ok:<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4303 ok-<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4310 External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
4312 <p>External image: <img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
4317 External image from https
4319 External image from https: https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
4321 <p>External image from https: <img src="https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
4326 External image (when not allowed)
4328 wgAllowExternalImages=0
4330 External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
4332 <p>External image: <a rel="nofollow" class="external free" href="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png">http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png</a>
4337 Link to non-http image, no img tag
4339 Link to non-http image, no img tag: ftp://example.com/test.jpg
4341 <p>Link to non-http image, no img tag: <a rel="nofollow" class="external free" href="ftp://example.com/test.jpg">ftp://example.com/test.jpg</a>
4346 External links: terminating separator
4348 Terminating separator: http://example.com/thing,
4350 <p>Terminating separator: <a rel="nofollow" class="external free" href="http://example.com/thing">http://example.com/thing</a>,
4355 External links: intervening separator
4357 Intervening separator: http://example.com/1,2,3
4359 <p>Intervening separator: <a rel="nofollow" class="external free" href="http://example.com/1,2,3">http://example.com/1,2,3</a>
4364 External links: old bug with URL in query
4366 Old bug with URL in query: [http://example.com/thing?url=http://example.com link]
4368 <p>Old bug with URL in query: <a rel="nofollow" class="external text" href="http://example.com/thing?url=http://example.com">link</a>
4373 External links: old URL-in-URL bug, mixed protocols
4375 And again with mixed protocols: [ftp://example.com?url=http://example.com link]
4377 <p>And again with mixed protocols: <a rel="nofollow" class="external text" href="ftp://example.com?url=http://example.com">link</a>
4382 External links: URL in text
4384 URL in text: [http://example.com http://example.com]
4386 <p>URL in text: <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4391 External links: Clickable images
4393 ja-style clickable images: [http://example.com http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png]
4395 <p>ja-style clickable images: <a rel="nofollow" class="external text" href="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" /></a>
4398 <p>ja-style clickable images: <a rel="mw:ExtLink" href="http://example.com"><img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" data-parsoid='{"type":"extlink"}'/></a></p>
4402 External links: raw ampersand
4404 Old & use: http://x&y
4406 <p>Old & use: <a rel="nofollow" class="external free" href="http://x&y">http://x&y</a>
4411 External links: encoded ampersand
4413 Old & use: http://x&y
4415 <p>Old & use: <a rel="nofollow" class="external free" href="http://x&y">http://x&y</a>
4418 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y">http://x&y</a></p>
4422 External links: encoded equals (bug 6102)
4424 http://example.com/?foo=bar
4426 <p><a rel="nofollow" class="external free" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a>
4429 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a></p>
4433 ## Note that parsoid doesn't explicit mark autonumbered links, nor
4434 ## does it number them. As discussed in bug 53505, we can identify
4435 ## autonumbered links via CSS.
4439 External links: [raw ampersand]
4441 Old & use: [http://x&y]
4443 <p>Old & use: <a rel="nofollow" class="external autonumber" href="http://x&y">[1]</a>
4446 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y"></a></p>
4449 # note that parsoid html is identical to [raw ampersand] case; so html2wt
4450 # mode will return the [raw ampersand] wikitext
4452 External links: [encoded ampersand]
4454 parsoid=wt2html,wt2wt,html2html
4456 Old & use: [http://x&y]
4458 <p>Old & use: <a rel="nofollow" class="external autonumber" href="http://x&y">[1]</a>
4461 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y"></a></p>
4465 External links: [raw equals]
4467 [http://example.com/?foo=bar]
4469 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
4472 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
4475 # note that parsoid html is identical to [raw equals] case; so html2wt
4476 # mode will return the [raw equals] wikitext
4478 External links: [encoded equals] (bug 6102)
4480 parsoid=wt2html,wt2wt,html2html
4482 [http://example.com/?foo=bar]
4484 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
4487 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
4490 # xxx parsoid strips the IDN character, so the round-trip tests will
4491 # obviously fail and are disabled. --cscott
4493 External links: [IDN ignored character reference in hostname; strip it right off]
4495 parsoid=wt2html,wt2wt,html2html
4497 [http://e‌xample.com/]
4499 <p><a rel="nofollow" class="external autonumber" href="http://example.com/">[1]</a>
4502 <p><a rel="mw:ExtLink" href="http://example.com/"></a></p>
4505 # FIXME: This test (the IDN characters in the text of a link) is an inconsistency.
4506 # Where an external link could easily circumvent the sanitization of the text of
4507 # a link like this (where an IDN-ignore character is in the URL somewhere), this
4508 # test demands a higher standard. That's a bit strange.
4512 # http://example.com -> [http://example.com|http://example.com]
4513 # [http://example.com|http://example.com] -> [http://example.com|http://example.com]
4515 # The first example is sanitized, but the second is not. Any security benefits
4516 # from this production are trivial to circumvent. Either remove this test and
4517 # let the parser(s) do their thing unaccosted, or fix the inconsistency and change
4518 # the test accordingly.
4522 # xxx parsoid strips the IDN character, so the round-trip tests will
4523 # obviously fail and are disabled. --cscott
4525 External links: IDN ignored character reference in hostname; strip it right off
4527 parsoid=wt2html,html2html
4529 http://e‌xample.com/
4531 <p><a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a>
4534 <p><a rel="mw:ExtLink" href="http://example.com/">http://example.com/</a></p>
4538 External links: www.jpeg.org (bug 554)
4542 <p><a rel="nofollow" class="external free" href="http://www.jpeg.org">http://www.jpeg.org</a>
4546 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
4548 External links: URL within URL (original bug 2)
4550 [http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp]
4552 <p><a rel="nofollow" class="external autonumber" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp">[1]</a>
4555 <p><a rel="mw:ExtLink" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp"></a></p>
4559 BUG 361: URL inside bracketed URL
4561 [http://www.example.com/foo http://www.example.com/bar]
4563 <p><a rel="nofollow" class="external text" href="http://www.example.com/foo">http://www.example.com/bar</a>
4568 BUG 361: URL within URL, not bracketed
4570 http://www.example.com/foo?=http://www.example.com/bar
4572 <p><a rel="nofollow" class="external free" href="http://www.example.com/foo?=http://www.example.com/bar">http://www.example.com/foo?=http://www.example.com/bar</a>
4577 BUG 289: ">"-token in URL-tail
4579 http://www.example.com/<hello>
4581 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a><hello>
4586 BUG 289: literal ">"-token in URL-tail
4588 http://www.example.com/<b>html</b>
4590 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a><b>html</b>
4593 <p><a rel="mw:ExtLink" href="http://www.example.com/" data-parsoid='{"stx":"url"}'>http://www.example.com/</a><b data-parsoid='{"stx":"html"}'>html</b></p>
4597 BUG 289: ">"-token in bracketed URL
4599 [http://www.example.com/<hello> stuff]
4601 <p><a rel="nofollow" class="external text" href="http://www.example.com/"><hello> stuff</a>
4606 BUG 289: literal ">"-token in bracketed URL
4608 [http://www.example.com/<b>html</b> stuff]
4610 <p><a rel="nofollow" class="external text" href="http://www.example.com/"><b>html</b> stuff</a>
4615 BUG 289: literal double quote at end of URL
4617 http://www.example.com/"hello"
4619 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a>"hello"
4624 BUG 289: literal double quote in bracketed URL
4626 [http://www.example.com/"hello" stuff]
4628 <p><a rel="nofollow" class="external text" href="http://www.example.com/">"hello" stuff</a>
4633 External links: multiple legal whitespace is fine, Magnus. Don't break it please. (bug 5081)
4635 [http://www.example.com test]
4637 <p><a rel="nofollow" class="external text" href="http://www.example.com">test</a>
4642 External links: link text with spaces
4644 [http://www.example.com a b c]
4645 [http://www.example.com ''a'' ''b'']
4647 <p><a rel="nofollow" class="external text" href="http://www.example.com">a b c</a>
4648 <a rel="nofollow" class="external text" href="http://www.example.com"><i>a</i> <i>b</i></a>
4653 External links: wiki links within external link (Bug 3695)
4655 [http://example.com [[wikilink]] embedded in ext link]
4657 <p><a rel="nofollow" class="external text" href="http://example.com"></a><a href="/index.php?title=Wikilink&action=edit&redlink=1" class="new" title="Wikilink (page does not exist)">wikilink</a><a rel="nofollow" class="external text" href="http://example.com"> embedded in ext link</a>
4660 <p><a rel="mw:ExtLink" href="http://example.com"></a><a rel="mw:WikiLink" href="./Wikilink" title="Wikilink">wikilink</a><span> embedded in ext link</span></p>
4664 BUG 787: Links with one slash after the url protocol are invalid
4668 [http:/example.com title]
4670 <p>http:/example.com
4671 </p><p>[http:/example.com title]
4676 Bracketed external links with template-generated invalid target
4678 [{{echo|http:/example.com}} title]
4680 <p>[http:/example.com title]
4685 Bug 2702: Mismatched <i>, <b> and <a> tags are invalid
4687 ''[http://example.com text'']
4688 [http://example.com '''text]'''
4689 ''Something [http://example.com in italic'']
4690 ''Something [http://example.com mixed''''', even bold]'''
4691 '''''Now [http://example.com both''''']
4693 <p><a rel="nofollow" class="external text" href="http://example.com"><i>text</i></a>
4694 <a rel="nofollow" class="external text" href="http://example.com"><b>text</b></a>
4695 <i>Something </i><a rel="nofollow" class="external text" href="http://example.com"><i>in italic</i></a>
4696 <i>Something </i><a rel="nofollow" class="external text" href="http://example.com"><i>mixed</i><b>, even bold</b></a>
4697 <i><b>Now </b></i><a rel="nofollow" class="external text" href="http://example.com"><i><b>both</b></i></a>
4703 Bug 4781: %26 in URL
4705 http://www.example.com/?title=AT%26T
4707 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a>
4710 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a></p>
4713 # According to http://www.w3.org/TR/2011/WD-html5-20110525/Overview.html#parsing-urls a plain
4714 # % is actually legal in HTML5. Any change in output would need testing though.
4716 Bug 4781, 5267: %25 in URL
4718 http://www.example.com/?title=100%25_Bran
4720 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a>
4723 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a></p>
4727 Bug 4781, 5267: %28, %29 in URL
4729 http://www.example.com/?title=Ben-Hur_%281959_film%29
4731 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">http://www.example.com/?title=Ben-Hur_%281959_film%29</a>
4734 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">http://www.example.com/?title=Ben-Hur_%281959_film%29</a></p>
4739 Bug 4781: %26 in autonumber URL
4741 [http://www.example.com/?title=AT%26T]
4743 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=AT%26T">[1]</a>
4746 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T"></a></p>
4750 Bug 4781, 5267: %26 in autonumber URL
4752 [http://www.example.com/?title=100%25_Bran]
4754 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=100%25_Bran">[1]</a>
4757 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran"></a></p>
4761 Bug 4781, 5267: %28, %29 in autonumber URL
4763 [http://www.example.com/?title=Ben-Hur_%281959_film%29]
4765 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">[1]</a>
4768 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29"></a></p>
4773 Bug 4781: %26 in bracketed URL
4775 [http://www.example.com/?title=AT%26T link]
4777 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=AT%26T">link</a>
4780 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">link</a></p>
4784 Bug 4781, 5267: %25 in bracketed URL
4786 [http://www.example.com/?title=100%25_Bran link]
4788 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=100%25_Bran">link</a>
4793 Bug 4781, 5267: %28, %29 in bracketed URL
4795 [http://www.example.com/?title=Ben-Hur_%281959_film%29 link]
4797 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a>
4800 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a></p>
4804 External link containing a period in the anchor. (bug 63947)
4806 [//foo.org/bar#baz. bang]
4808 [//foo.org/bar. bang]
4810 <p><a rel="nofollow" class="external text" href="//foo.org/bar#baz.">bang</a>
4811 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
4814 <p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
4815 <p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
4819 External link containing a single quote. (bug 63947)
4823 [//foo.org/bar'baz bang]
4825 <p><a rel="nofollow" class="external autonumber" href="//foo.org/bar'baz">[1]</a>
4826 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar'baz">bang</a>
4829 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
4830 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
4835 External link containing a period in the anchor. (bug 63947)
4837 [//foo.org/bar#baz. bang]
4839 [//foo.org/bar. bang]
4841 <p><a rel="nofollow" class="external text" href="//foo.org/bar#baz.">bang</a>
4842 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
4845 <p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
4846 <p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
4850 External link containing a single quote. (bug 63947)
4854 [//foo.org/bar'baz bang]
4856 <p><a rel="nofollow" class="external autonumber" href="//foo.org/bar'baz">[1]</a>
4857 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar'baz">bang</a>
4860 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
4861 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
4866 External link containing double-single-quotes in text '' (bug 4598 sanity check)
4868 Some [http://example.com/ pretty ''italics'' and stuff]!
4870 <p>Some <a rel="nofollow" class="external text" href="http://example.com/">pretty <i>italics</i> and stuff</a>!
4875 External link containing double-single-quotes in text embedded in italics (bug 4598 sanity check)
4877 ''Some [http://example.com/ pretty ''italics'' and stuff]!''
4879 <p><i>Some </i><a rel="nofollow" class="external text" href="http://example.com/"><i>pretty </i>italics<i> and stuff</i></a><i>!</i>
4884 External link containing double-single-quotes with no space separating the url from text in italics
4886 [http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm''La muerte de Casagemas'' (1901) en el sitio de [[Museo Picasso (París)|Museo Picasso]].]
4888 <p><a rel="nofollow" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de <a href="/index.php?title=Museo_Picasso_(Par%C3%ADs)&action=edit&redlink=1" class="new" title="Museo Picasso (París) (page does not exist)">Museo Picasso</a>.</a>
4891 <p><a rel="nofollow" class="external text" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de</a> <a href="/index.php?title=Museo_Picasso_(Par%C3%ADs)&action=edit&redlink=1" class="new" title="Museo Picasso (París) (page does not exist)">Museo Picasso</a>.</p>
4893 <p><a rel="mw:ExtLink" href="http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm"><i>La muerte de Casagemas</i> (1901) en el sitio de </a><a rel="mw:WikiLink" href="./Museo_Picasso_(París)" title="Museo Picasso (París)">Museo Picasso</a><span>.</span></p>
4897 External link with comments in link text
4899 [http://www.google.com Google <!-- comment -->]
4901 <p><a rel="nofollow" class="external text" href="http://www.google.com">Google </a>
4906 URL-encoding in URL functions (single parameter)
4908 {{localurl:Some page|amp=&}}
4910 <p>/index.php?title=Some_page&amp=&
4915 URL-encoding in URL functions (multiple parameters)
4917 {{localurl:Some page|q=?&=&}}
4919 <p>/index.php?title=Some_page&q=?&amp=&
4926 http://example.com/index.php?foozoid%5B%5D=bar
4928 http://example.com/index.php?foozoid[]=bar
4930 <p><a rel="nofollow" class="external free" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a>
4931 </p><p><a rel="nofollow" class="external free" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a>
4934 <p><a rel="mw:ExtLink" href="http://example.com/index.php?foozoid%5B%5D=bar">http://example.com/index.php?foozoid%5B%5D=bar</a></p>
4936 <p><a rel="mw:ExtLink" href="http://example.com/index.php?foozoid[]=bar">http://example.com/index.php?foozoid[]=bar</a></p>
4940 IPv6 urls (bug 21261)
4944 http://[2404:130:0:1000::187:2]/index.php
4946 <p><a rel="nofollow" class="external free" href="http://[2404:130:0:1000::187:2]/index.php">http://[2404:130:0:1000::187:2]/index.php</a>
4951 Non-extlinks in brackets
4960 [{{echo|foo}} ''bar'']
4961 [{{echo|foo}}l's] errand
4962 [{{echo|foo}}l's errand]
4964 [url=http://example.com]
4977 [url=<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>]
4982 Percent encoding in external links
4984 [https://github.com/search?l=&q=ResourceLoader+%40wikimedia Search]
4986 <p><a rel="nofollow" class="external text" href="https://github.com/search?l=&q=ResourceLoader+%40wikimedia">Search</a>
4989 <p><a rel="mw:ExtLink"
4990 href="https://github.com/search?l=&q=ResourceLoader+%40wikimedia">Search</a></p>
4994 Use url link syntax for links where the content is equal the link target
4998 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
5001 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></p>
5005 Parenthesis in external links, especially URL links
5009 http://example.com/test)
5011 http://example.com/(test)
5013 http://example.com/((test)
5015 (http://example.com/(test))
5017 (http://example.com/(test)))))
5019 http://example.com/a)b
5021 [http://example.com) foo]
5023 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
5024 </p><p><a rel="nofollow" class="external free" href="http://example.com/test">http://example.com/test</a>)
5025 </p><p><a rel="nofollow" class="external free" href="http://example.com/(test)">http://example.com/(test)</a>
5026 </p><p><a rel="nofollow" class="external free" href="http://example.com/((test)">http://example.com/((test)</a>
5027 </p><p>(<a rel="nofollow" class="external free" href="http://example.com/(test))">http://example.com/(test))</a>
5028 </p><p>(<a rel="nofollow" class="external free" href="http://example.com/(test)))))">http://example.com/(test)))))</a>
5029 </p><p><a rel="nofollow" class="external free" href="http://example.com/a)b">http://example.com/a)b</a>
5030 </p><p><a rel="nofollow" class="external text" href="http://example.com)">foo</a>
5033 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a>)</p>
5034 <p><a rel="mw:ExtLink" href="http://example.com/test">http://example.com/test</a>)</p>
5035 <p><a rel="mw:ExtLink" href="http://example.com/(test)">http://example.com/(test)</a></p>
5036 <p><a rel="mw:ExtLink" href="http://example.com/((test)">http://example.com/((test)</a></p>
5037 <p>(<a rel="mw:ExtLink" href="http://example.com/(test))">http://example.com/(test))</a></p>
5038 <p>(<a rel="mw:ExtLink" href="http://example.com/(test)))))">http://example.com/(test)))))</a></p>
5039 <p><a rel="mw:ExtLink" href="http://example.com/a)b">http://example.com/a)b</a></p>
5040 <p><a rel="mw:ExtLink" href="http://example.com)">foo</a></p>
5044 Parenthesis in external links, w/ transclusion or comment
5046 (http://example.com/{{echo|hi}})
5048 (http://example.com<!-- hi -->)
5050 <p>(<a rel="nofollow" class="external free" href="http://example.com/hi">http://example.com/hi</a>)
5051 </p><p>(<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
5054 <p>(<a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:ExtLink" href="http://example.com/hi" data-parsoid='{"stx":"url","a":{"href":"http://example.com/hi"},"sa":{"href":"http://example.com/{{echo|hi}}"}}' data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[20,31,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;hi&quot;}},&quot;i&quot;:0}}]}\">hi</span>"}]]}'>http://example.com/hi</a>)</p>
5056 <p>(<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url","a":{"href":"http://example.com"},"sa":{"href":"http://example.com<!-- hi -->"}}'>http://example.com</a>)</p>
5060 Replace invalid link targets when serializing
5064 <a rel="mw:WikiLink" href="./]] foo [[bar">Manual</a>
5066 [[MediaWiki:Badtitletext|Manual]]
5076 Normal text. '''Bold text.''' Normal text. ''Italic text.''
5078 Normal text. '''''Bold italic text.''''' Normal text.
5080 <p>Normal text. <b>Bold text.</b> Normal text. <i>Italic text.</i>
5081 </p><p>Normal text. <i><b>Bold italic text.</b></i> Normal text.
5086 # Parsoid inserts an empty bold tag pair at the end of the line, that the PHP
5087 # parser strips. The wikitext contains just the first half of the bold
5090 Unclosed and unmatched quotes
5092 '''''Bold italic text '''with bold deactivated''' in between.'''''
5094 '''''Bold italic text ''with italic deactivated'' in between.'''''
5098 ..spanning two paragraphs (should not work).'''
5100 '''Bold tag left open
5102 ''Italic tag left open
5106 <!-- Unmatching number of opening, closing tags: -->
5107 '''This year''''s election ''should'' beat '''last year''''s.
5109 ''Tom'''s car is bigger than ''Susan'''s.
5111 Plain ''italic'''s plain
5113 <p><i><b>Bold italic text </b>with bold deactivated<b> in between.</b></i>
5114 </p><p><b><i>Bold italic text </i>with italic deactivated<i> in between.</i></b>
5115 </p><p><b>Bold text..</b>
5116 </p><p>..spanning two paragraphs (should not work).
5117 </p><p><b>Bold tag left open</b>
5118 </p><p><i>Italic tag left open</i>
5120 </p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
5121 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
5122 </p><p>Plain <i>italic'</i>s plain
5125 <p><i><b>Bold italic text </b>with bold deactivated<b> in between.</b></i>
5126 </p><p><b><i>Bold italic text </i>with italic deactivated<i> in between.</i></b>
5127 </p><p><b>Bold text..</b>
5128 </p><p>..spanning two paragraphs (should not work).<b></b>
5129 </p><p><b>Bold tag left open</b>
5130 </p><p><i>Italic tag left open</i>
5132 </p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
5133 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
5134 </p><p>Plain <i>italic'</i>s plain
5141 ### some content taken from http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide:_Using_tables
5144 # This should not produce <table></table> as <table><tr><td></td></tr></table>
5145 # is the bare minimum required by the spec, see:
5146 # http://www.w3.org/TR/xhtml-modularization/dtd_module_defs.html#a_module_Basic_Tables
5147 # Parsoid team replies: empty table tags are legal in HTML5
5149 A table with no data.
5162 A table with stray table end tags on start tag line (wt2html)
5166 {|style="color: red;"|}
5168 {|style="color: red;" |}
5172 {|style="color: red;"|} id="foo"
5176 {|style="color: red;" |} id="foo"
5180 <table style="color: red;"></table>
5182 <table style="color: red;">
5188 <table style="color: red;" id="foo">
5194 <table style="color: red;" id="foo">
5203 A table with no data (take 2)
5211 # A table with nothing but a caption is invalid XHTML, we might want to render
5212 # this as <p>caption</p>
5213 # Parsoid team replies: table with only a caption is legal in HTML5
5215 A table with nothing but a caption
5223 </caption><tr><td></td></tr></table>
5226 <table><caption> caption</caption></table>
5230 A table with caption with default-spaced attributes and a table row
5233 |+ style="color: red;" | caption1
5239 <caption style="color: red;"> caption1
5248 A table with captions with non-default spaced attributes and a table row
5251 |+style="color: red;"|caption2
5252 |+ style="color: red;"| caption3
5258 <caption style="color: red;">caption2
5260 <caption style="color: red;"> caption3
5269 Table td-cell syntax variations
5273 | foo bar foo || baz
5274 | style='color:red;' | baz
5275 | style='color:red;' || baz
5282 <td> foo bar foo </td>
5285 <td style="color:red;"> baz
5287 <td> style='color:red;' </td>
5315 Simple table but with multiple dashes for row wikitext
5333 Multiplication table
5335 {| border="1" cellpadding="2"
5336 |+Multiplication table
5338 ! × !! 1 !! 2 !! 3
5356 <table border="1" cellpadding="2">
5357 <caption>Multiplication table
5404 Accept "||" in table headings
5419 Accept "!!" in table data
5433 <tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'> Foo!! </td><td data-parsoid='{"stx_v":"row","autoInsertedEnd":true}'></td></tr>
5438 Accept "||" in indented table headings
5448 </th></tr></table></dd></dl>
5453 Accept empty attributes in td/th cells (td/th cells starting with leading ||)
5470 Accept "| !" at start of line in tables (ignore !-attribute)
5474 | !style="color:red" | bar
5486 Allow +/- in 2nd and later cells in a row, in 1st cell when td-attrs are present, or in 1st cell when there is a space between "|" and +/-
5490 |style='color:red;'|+1
5491 |style='color:blue;'|-1
5503 <td style="color:red;">+1
5505 <td style="color:blue;">-1
5529 |rowspan=2| Cell 2, row 1 (and 2)
5540 <td rowspan="2"> Cell 2, row 1 (and 2)
5558 {| bgcolor=#ABCDEF border=2
5563 |the original table again
5571 <table bgcolor="#ABCDEF" border="2">
5579 <td>the original table again
5585 Invalid attributes in table cell (bug 1830)
5598 # The "|}" to close the table is missing from the input, so parsoid's
5599 # *2wt modes will fail.
5601 Table security: embedded pipes (http://lists.wikimedia.org/mailman/htdig/wikitech-l/2006-April/022293.html)
5603 parsoid=wt2html,html2html
5606 | |[ftp://|x||]" onmouseover="alert(document.cookie)">test
5610 <td>[<a rel="nofollow" class="external free" href="ftp://%7Cx">ftp://%7Cx</a></td>
5611 <td>]" onmouseover="alert(document.cookie)">test
5619 <td><a rel="mw:ExtLink" href="ftp://|x||"></a>" onmouseover="alert(document.cookie)">test</td></tr></tbody></table>
5622 # FIXME: The php output is broken.
5624 ! and || in td attributes should not be parsed as <th>/<td>
5627 | style="color: red !important;" data-contrived="put this here ||" | foo
5632 <td> style="color: red !important;" data-contrived="put this here </td>
5638 <tbody><tr><td style="color: red !important;" data-contrived="put this here ||" data-parsoid='{"autoInsertedEnd":true}'> foo</td></tr>
5643 Indented table markup mixed with indented pre content (proposed in bug 6200)
5648 Text that should be rendered preformatted
5656 <pre>Text that should be rendered preformatted
5665 1. Template-generated table cell attributes and cell content
5670 | <!--foo--> <!--bar--> <!--baz--> {{table_attribs}}
5671 |align=center {{table_attribs}}
5672 | <!--foo--> align=center <!--bar--> {{table_attribs}}
5677 <td style="color:red;">Foo
5679 <td style="color:red;">Foo
5681 <td style="color:red;">Foo
5683 <td align="center" style="color:red;">Foo
5685 <td align="center" style="color:red;">Foo
5691 2. Template-generated table cell attributes and cell content
5694 |{{table_attribs_2}}
5699 <td style="color:red;">Foo
5707 <tbody><tr><td about="#mwt1" typeof="mw:Transclusion" style="color:red;" data-mw='{"parts":["|",{"template":{"target":{"wt":"table_attribs_2","href":"./Template:Table_attribs_2"},"params":{},"i":0}}]}'>Foo</td>
5708 <td about="#mwt1">Bar</td><td about="#mwt1">Baz</td></tr>
5713 3. Template-generated table cell attributes and cell content
5716 !align=center {{table_header_cells}}
5718 |align=center {{table_cells}}
5723 <th align="center" style="color:red;">Foo</th>
5724 <th style="color:red;"><i>Bar</i></th>
5725 <th style="color:brown;"><i>Foo</i> and Baz
5728 <td align="center" style="color:red;">Foo</td>
5729 <td style="color:red;"><i>Bar</i></td>
5730 <td style="color:brown;"><i>Foo</i> and Baz
5735 <tbody><tr><th align="center" style="color:red;" typeof="mw:Transclusion" about="#mwt1" data-mw='{"parts":["!align=center ",{"template":{"target":{"wt":"table_header_cells","href":"./Template:Table_header_cells"},"params":{},"i":0}}]}'>Foo</th><th about="#mwt1" style="color:red;"><i about="#mwt1">Bar</i></th><th about="#mwt1" style="color:brown;"><i about="#mwt1">Foo</i> and Baz</th></tr><tr>
5736 <td align="center" style="color:red;" typeof="mw:Transclusion" about="#mwt1" data-mw='{"parts":["|align=center ",{"template":{"target":{"wt":"table_cells","href":"./Template:Table_cells"},"params":{},"i":0}}]}'>Foo</td><td about="#mwt1" style="color:red;"><i about="#mwt1">Bar</i></td><td about="#mwt1" style="color:brown;"><i about="#mwt1">Foo</i> and Baz</td></tr>
5741 Table with row followed by newlines and table heading
5759 Table with empty line following the start tag
5776 # FIXME: Preserve the attribute properly (with an empty string as value) in
5777 # the PHP parser. Parsoid implements the behavior below.
5779 Table attributes with empty value
5789 </td></tr></tbody></table>
5794 Wikitext table with a lot of comments
5817 Wikitext table with double-line table cell
5834 Table cell with a single comment
5851 Table-cell after a comment-only-empty-line
5868 <tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'>a</td>
5870 <!--c2--><td data-parsoid='{"autoInsertedEnd":true}'> b</td></tr>
5876 Build table with {{!}}
5878 {{{!}} class="wikitable"
5881 {{!}}- style="color:red;"
5882 {{!}} data {{!}}{{!}} style="color:red;" {{!}} second data
5885 <table class="wikitable">
5891 <tr style="color:red;">
5893 <td style="color:red;"> second data
5899 Build table with pipe as data
5901 {| class="wikitable"
5904 |- style="color:red;"
5905 | data || style="color:red;" | second data
5907 | style="color:red;" | data with | || style="color:red;" | second data with |
5909 || data with | ||| second data with |
5912 <table class="wikitable">
5918 <tr style="color:red;">
5920 <td style="color:red;"> second data
5923 <td style="color:red;"> data with | </td>
5924 <td style="color:red;"> second data with |
5927 <td> data with | </td>
5928 <td> second data with |
5934 Build table with wikilink
5936 {| class="wikitable"
5937 ! header || second header
5938 |- style="color:red;"
5939 | data [[Main Page|linktext]] || second data [[Main Page|linktext]]
5941 | data || second data [[Main Page|link|text with pipe]]
5944 <table class="wikitable">
5949 <tr style="color:red;">
5950 <td> data <a href="/wiki/Main_Page" title="Main Page">linktext</a> </td>
5951 <td> second data <a href="/wiki/Main_Page" title="Main Page">linktext</a>
5955 <td> second data <a href="/wiki/Main_Page" title="Main Page">link|text with pipe</a>
5960 # The expected HTML structure in this test is debatable. The PHP parser does
5961 # not parse this kind of table at all. The main focus for Parsoid is on
5962 # round-tripping, so this output is ok for now. TODO: revisit!
5964 Wikitext table with html-syntax row
5974 <td>foo</td></tr></tbody></table>
5977 ## Note that Parsoid output differs from PHP and PHP+tidy here.
5978 ## The lack of <tr> tags in the PHP output is arguably a bug in the
5979 ## PHP parser, which tidy then compounds by fostering the content
5980 ## entirely out of the table. Parsoid recognizes the table context
5981 ## and generates <tr> and <td> wrappers as needed. Hopefully nobody
5982 ## depends on PHP's treatment of broken table markup!
5984 Implicit <td> after a |-
5986 parsoid=wt2html,html2html
6006 # Again, Parsoid adds implicit <td>s here, PHP and Tidy strip the b out.
6008 <pre> tags should be recognized in an explicit <td> context, but not in an implicit <td> context
6010 parsoid=wt2html,html2html
6043 <tr><td><pre>a</pre></td></tr>
6044 <tr><td> b</td></tr>
6049 # PHP + Tidy strips the list out of the table; Parsoid wraps it.
6050 # Parsoid generates the missing <td>, so wt2wt won't succeed.
6052 Lists should be recognized in an implicit <td> context
6054 parsoid=wt2html,html2html
6081 Parsoid: Round-trip tables directly followed by content (bug 51219)
6083 parsoid=wt2html,wt2wt
6108 Parsoid: Default to a newline after tables in new content (bug 51219)
6113 <tr><td>foo</td></tr></tbody></table> bar
6115 <tr><td>baz</td></tr></tbody></table><b>quux</b>
6120 <nowiki> </nowiki>bar
6128 Parsoid: newline inducing block nodes don't suppress <nowiki>
6140 Parsoid: Row-syntax table headings followed by comment & table cells
6142 parsoid=wt2html,wt2wt
6146 <!-- foo --> || baz || quux
6160 <tbody><tr><th> foo </th><th> bar
6161 <!-- foo --> </th><td> baz </td><td> quux</td></tr>
6166 # PHP throws away the (semi-broken) "foo" class here; Parsoid
6169 Parsoid: Recover better from broken table attributes
6189 <p>foo</p></td></tr>
6194 Strip unsupported table tags
6242 Testing serialization after deletion of table cells
6253 | id="x" |c1 {{!}}{{!}}{{!}}c2 |||c3
6266 Plain link, capitalized
6270 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
6275 Plain link, uncapitalized
6279 <p><a href="/wiki/Main_Page" title="Main Page">main Page</a>
6286 [[Main Page|The Main Page]]
6288 <p><a href="/wiki/Main_Page" title="Main Page">The Main Page</a>
6293 Piped link with comment in link text
6295 [[Main Page|The Main<!--front--> Page]]
6297 <p><a href="/wiki/Main_Page" title="Main Page">The Main Page</a>
6302 Piped link with multiple pipe characters in link text
6304 [[Main Page||The|Main|Page|]]
6306 <p><a href="/wiki/Main_Page" title="Main Page">|The|Main|Page|</a>
6309 <p><a rel="mw:WikiLink" href="Main_Page" title="Main Page">|The|Main|Page|</a></p>
6317 <p><a href="/index.php?title=Zigzagzogzagzig&action=edit&redlink=1" class="new" title="Zigzagzogzagzig (page does not exist)">Zigzagzogzagzig</a>
6322 Broken link with fragment
6324 [[Zigzagzogzagzig#zug]]
6326 <p><a href="/index.php?title=Zigzagzogzagzig&action=edit&redlink=1" class="new" title="Zigzagzogzagzig (page does not exist)">Zigzagzogzagzig#zug</a>
6331 Special page link with fragment
6333 [[Special:Version#anchor]]
6335 <p><a href="/wiki/Special:Version#anchor" title="Special:Version">Special:Version#anchor</a>
6340 Nonexistent special page link with fragment
6342 [[Special:ThisNameWillHopefullyNeverBeUsed#anchor]]
6344 <p><a href="/wiki/Special:ThisNameWillHopefullyNeverBeUsed" class="new" title="Special:ThisNameWillHopefullyNeverBeUsed (page does not exist)">Special:ThisNameWillHopefullyNeverBeUsed#anchor</a>
6351 xxx[[main Page]], xxx[[Main Page]], Xxx[[main Page]] XXX[[main Page]], XXX[[Main Page]]
6353 <p>xxx<a href="/wiki/Main_Page" title="Main Page">main Page</a>, xxx<a href="/wiki/Main_Page" title="Main Page">Main Page</a>, Xxx<a href="/wiki/Main_Page" title="Main Page">main Page</a> XXX<a href="/wiki/Main_Page" title="Main Page">main Page</a>, XXX<a href="/wiki/Main_Page" title="Main Page">Main Page</a>
6360 [[Main Page]]xxx, [[Main Page]]XXX, [[Main Page]]!!!
6362 <p><a href="/wiki/Main_Page" title="Main Page">Main Pagexxx</a>, <a href="/wiki/Main_Page" title="Main Page">Main Page</a>XXX, <a href="/wiki/Main_Page" title="Main Page">Main Page</a>!!!
6373 Bug 43661: Piped links with identical prefixes
6375 [[prefixed article|prefixed articles with spaces]]
6377 [[prefixed article|prefixed articlesaoeu]]
6379 [[Main Page|Main Page test]]
6381 <p><a href="/wiki/Prefixed_article" title="Prefixed article">prefixed articles with spaces</a>
6382 </p><p><a href="/wiki/Prefixed_article" title="Prefixed article">prefixed articlesaoeu</a>
6383 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page test</a>
6389 Link with HTML entity in suffix / tail
6391 [[Main Page]]", [[Main Page]]a
6393 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>", <a href="/wiki/Main_Page" title="Main Page">Main Page</a>a
6396 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">Main Page</a><span typeof="mw:Entity" data-parsoid='{"src":"&quot;","srcContent":"\""}'>"</span>, <a rel="mw:WikiLink" href="./Main_Page" title="Main Page">Main Page</a><span typeof="mw:Entity" data-parsoid='{"src":"&#97;","srcContent":"a"}'>a</span></p>
6400 Link with 3 brackets
6409 Link with 4 brackets
6413 <p>[[<a href="/wiki/Main_Page" title="Main Page">Main Page</a>]]
6418 Piped link with 3 brackets
6420 [[[main page|the main page]]]
6422 <p>[[[main page|the main page]]]
6427 Piped link with extlink-like text
6430 [[Main Page|This is a [bar]]]
6432 <p><a href="/wiki/Main_Page" title="Main Page">[bar]</a>
6433 <a href="/wiki/Main_Page" title="Main Page">This is a [bar]</a>
6436 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page" data-parsoid='{"stx":"piped"}'>[bar]</a>
6437 <a rel="mw:WikiLink" href="./Main_Page" title="Main Page" data-parsoid='{"stx":"piped"}'>This is a [bar]</a></p>
6441 Link with multiple pipes
6443 [[Main Page|The|Main|Page]]
6445 <p><a href="/wiki/Main_Page" title="Main Page">The|Main|Page</a>
6449 # Note that parsoid does not munge anchor text; all non-space
6450 # characters are valid in HTML5 ids.
6452 Anchor containing a #. (bug 63430)
6454 [[Main Page#And#Link]]
6456 <p><a href="/wiki/Main_Page#And.23Link" title="Main Page">Main Page#And#Link</a>
6459 <p><a rel="mw:WikiLink" href="./Main_Page#And%23Link" title="Main Page">Main Page#And#Link</a></p>
6465 [[Talk:Parser testing]], [[Meta:Disclaimers]]
6467 <p><a href="/index.php?title=Talk:Parser_testing&action=edit&redlink=1" class="new" title="Talk:Parser testing (page does not exist)">Talk:Parser testing</a>, <a href="/index.php?title=Meta:Disclaimers&action=edit&redlink=1" class="new" title="Meta:Disclaimers (page does not exist)">Meta:Disclaimers</a>
6472 Link with space in namespace
6474 [[User talk:Foo bar]]
6476 <p><a href="/index.php?title=User_talk:Foo_bar&action=edit&redlink=1" class="new" title="User talk:Foo bar (page does not exist)">User talk:Foo bar</a>
6481 MemoryAlpha:AlphaTest
6483 This is an article in the MemoryAlpha namespace
6484 (which shadows the memoryalpha interwiki link).
6488 Namespace takes precedence over interwiki link (bug 51680)
6490 [[MemoryAlpha:AlphaTest]]
6492 <p><a href="/wiki/MemoryAlpha:AlphaTest" title="MemoryAlpha:AlphaTest">MemoryAlpha:AlphaTest</a>
6496 # The previous test doesn't work correctly in html2*, due to not recognizing the
6497 # link as an internal one. This one checks for the correct behavior.
6499 Link to namespace preferred over interwiki with correct rel attribute
6501 parsoid=html2wt,html2html
6503 <p><a rel="mw:WikiLink" href="./MemoryAlpha:AlphaTest" title="MemoryAlpha:AlphaTest">MemoryAlpha:AlphaTest</a></p>
6505 [[MemoryAlpha:AlphaTest]]
6509 Piped link to namespace
6511 [[Meta:Disclaimers|The disclaimers]]
6513 <p><a href="/index.php?title=Meta:Disclaimers&action=edit&redlink=1" class="new" title="Meta:Disclaimers (page does not exist)">The disclaimers</a>
6520 [[Usually caused by a typo (oops}]]
6522 <p>[[Usually caused by a typo (oops}]]
6529 Just a test of an article title containing a percent.
6533 Link containing % (not as a hex sequence)
6537 <p><a href="/wiki/7%25_Solution" title="7% Solution">7% Solution</a>
6540 <p><a rel="mw:WikiLink" href="./7%25_Solution" title="7% Solution">7% Solution</a></p>
6543 # note that the parsoid HTML is identical to the previous test output,
6544 # so the previous test ensures that the html2wt mode will generate the
6545 # "not as a hex sequence" wikitext.
6547 Link containing % as a single hex sequence interpreted to char
6549 parsoid=wt2wt,wt2html,html2html
6553 <p><a href="/wiki/7%25_Solution" title="7% Solution">7% Solution</a>
6556 <p><a rel="mw:WikiLink" href="./7%25_Solution" title="7% Solution">7% Solution</a></p>
6560 Link containing % as a double hex sequence interpreted to hex sequence
6564 <p>[[7%2525 Solution]]
6568 # note that parsoid does not munge anchor text; all non-space
6569 # characters are valid in HTML5 anchors.
6571 Link containing "#<" and "#>" % as a hex sequences- these are valid section anchors
6572 Example for such a section: == < ==
6574 [[%23%3c]][[%23%3e]]
6576 <p><a href="#.3C">#<</a><a href="#.3E">#></a>
6579 <p><a rel="mw:WikiLink" href="./Main%20Page#%3C" title="Main Page">#<</a><a rel="mw:WikiLink" href="./Main%20Page#%3E" title="Main Page">#></a></p>
6583 Link containing "<#" and ">#" as a hex sequences
6585 [[%3c%23]][[%3e%23]]
6587 <p>[[%3c%23]][[%3e%23]]
6592 Link containing an equals sign
6594 [[Special:BookSources/isbn=4-00-026157-6]]
6596 <p><a href="/wiki/Special:BookSources/isbn%3D4-00-026157-6" title="Special:BookSources/isbn=4-00-026157-6">Special:BookSources/isbn=4-00-026157-6</a>
6599 <p><a rel="mw:WikiLink" href="./Special:BookSources/isbn=4-00-026157-6" title="Special:BookSources/isbn=4-00-026157-6">Special:BookSources/isbn=4-00-026157-6</a></p>
6605 Just a test of an article title containing a tilde.
6608 # note that links containing signatures, like [[Foo~~~~]], are
6609 # massaged by the pre-save transform (PST) and so the tildes are never
6610 # seen by the parser.
6612 Link containing a tilde
6616 <p><a href="/wiki/Foo%7Ebar" title="Foo~bar">Foo~bar</a>
6619 <p><a rel="mw:WikiLink" href="./Foo~bar" title="Foo~bar">Foo~bar</a></p>
6623 Link containing double-single-quotes '' (bug 4598)
6625 [[Lista d''e paise d''o munno]]
6627 <p><a href="/index.php?title=Lista_d%27%27e_paise_d%27%27o_munno&action=edit&redlink=1" class="new" title="Lista d''e paise d''o munno (page does not exist)">Lista d''e paise d''o munno</a>
6630 <p><a rel="mw:WikiLink" href="./Lista_d''e_paise_d''o_munno" title="Lista d''e paise d''o munno">Lista d''e paise d''o munno</a></p>
6634 Link containing double-single-quotes '' in text (bug 4598 sanity check)
6636 Some [[Link|pretty ''italics'' and stuff]]!
6638 <p>Some <a href="/index.php?title=Link&action=edit&redlink=1" class="new" title="Link (page does not exist)">pretty <i>italics</i> and stuff</a>!
6641 <p>Some <a rel="mw:WikiLink" href="Link" title="Link">pretty <i>italics</i> and stuff</a>!</p>
6645 Link containing double-single-quotes '' in text embedded in italics (bug 4598 sanity check)
6647 ''Some [[Link|pretty ''italics'' and stuff]]!''
6649 <p><i>Some <a href="/index.php?title=Link&action=edit&redlink=1" class="new" title="Link (page does not exist)">pretty <i>italics</i> and stuff</a>!</i>
6654 Link with double quotes in title part (literal) and alternate part (interpreted)
6656 [[File:Denys_Savchenko_''Pentecoste''.jpg]]
6660 [[''Pentecoste''|Pentecoste]]
6662 [[''Pentecoste''|''Pentecoste'']]
6664 <p><a href="/index.php?title=Special:Upload&wpDestFile=Denys_Savchenko_%27%27Pentecoste%27%27.jpg" class="new" title="File:Denys Savchenko ''Pentecoste''.jpg">File:Denys Savchenko <i>Pentecoste</i>.jpg</a>
6665 </p><p><a href="/index.php?title=%27%27Pentecoste%27%27&action=edit&redlink=1" class="new" title="''Pentecoste'' (page does not exist)">''Pentecoste''</a>
6666 </p><p><a href="/index.php?title=%27%27Pentecoste%27%27&action=edit&redlink=1" class="new" title="''Pentecoste'' (page does not exist)">Pentecoste</a>
6667 </p><p><a href="/index.php?title=%27%27Pentecoste%27%27&action=edit&redlink=1" class="new" title="''Pentecoste'' (page does not exist)"><i>Pentecoste</i></a>
6670 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}]}'><a href="./File:Denys_Savchenko_''Pentecoste''.jpg"><img resource="./File:Denys_Savchenko_''Pentecoste''.jpg" src="./Special:FilePath/Denys_Savchenko_''Pentecoste''.jpg" height="220" width="220"/></a></span></p>
6671 <p><a rel="mw:WikiLink" href="''Pentecoste''" title="''Pentecoste''">''Pentecoste''</a></p>
6672 <p><a rel="mw:WikiLink" href="''Pentecoste''" title="''Pentecoste''">Pentecoste</a></p>
6673 <p><a rel="mw:WikiLink" href="''Pentecoste''" title="''Pentecoste''"><i>Pentecoste</i></a></p>
6677 Broken image links with HTML captions (bug 39700)
6679 [[File:Nonexistent|<script></script>]]
6680 [[File:Nonexistent|100x100px|<script></script>]]
6681 [[File:Nonexistent|<]]
6682 [[File:Nonexistent|a<i>b</i>c]]
6684 <p><a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><script></script></a>
6685 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><script></script></a>
6686 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><</a>
6687 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent">abc</a>
6690 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"<script></script>"}'><a href="./File:Nonexistent"><img resource="./File:Nonexistent" src="./Special:FilePath/Nonexistent" height="220" width="220"/></a></span>
6691 <span typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"<script></script>"}'><a href="./File:Nonexistent" data-parsoid='{"a":{"href":"./File:Nonexistent"},"sa":{}}'><img resource="./File:Nonexistent" src="./Special:FilePath/Nonexistent" height="100" width="100"/></a></span>
6692 <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"&lt;"}'><a href="./File:Nonexistent"><img resource="./File:Nonexistent" src="./Special:FilePath/Nonexistent" height="220" width="220"/></a></span>
6693 <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"a<i>b</i>c"}'><a href="./File:Nonexistent"><img resource="./File:Nonexistent" src="./Special:FilePath/Nonexistent" height="220" width="220"/></a></span></p>
6699 [[http://www.example.com]]
6701 <p>[<a rel="nofollow" class="external autonumber" href="http://www.example.com">[1]</a>]
6704 <p>[<a rel="mw:ExtLink" href="http://www.example.com"></a>]</p>
6708 Plain link to URL with link text
6710 [[http://www.example.com Link text]]
6712 <p>[<a rel="nofollow" class="external text" href="http://www.example.com">Link text</a>]
6717 Plain link to protocol-relative URL
6719 [[//www.example.com]]
6721 <p>[<a rel="nofollow" class="external autonumber" href="//www.example.com">[1]</a>]
6724 <p>[<a rel="mw:ExtLink" href="//www.example.com"></a>]</p>
6728 Plain link to protocol-relative URL with link text
6730 [[//www.example.com Link text]]
6732 <p>[<a rel="nofollow" class="external text" href="//www.example.com">Link text</a>]
6737 Plain link to page with question mark in title
6743 <p><a href="/wiki/A%3Fb" title="A?b">A?b</a>
6744 </p><p><a href="/wiki/A%3Fb" title="A?b">Baz</a>
6749 # I'm fairly sure the expected result here is wrong.
6750 # We want these to be URL links, not pseudo-pages with URLs for titles....
6751 # However the current output is also pretty screwy.
6754 # I'm changing it to match the current output--it arguably makes more
6755 # sense in the light of the test above. Old expected result was:
6756 #<p>Piped link to URL: <a href="/index.php?title=Http://www.example.com&action=edit" class="new">an example URL</a>
6758 # But I think this test is bordering on "garbage in, garbage out" anyway.
6763 Piped link to URL: [[http://www.example.com|an example URL]]
6765 <p>Piped link to URL: [<a rel="nofollow" class="external text" href="http://www.example.com%7Can">example URL</a>]
6768 <p>Piped link to URL: [<a rel="mw:ExtLink" href="http://www.example.com|an">example URL</a>]</p>
6772 BUG 2: [[page|http://url/]] should link to page, not http://url/
6774 [[Main Page|http://url/]]
6776 <p><a href="/wiki/Main_Page" title="Main Page">http://url/</a>
6779 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">http://url/</a></p>
6782 # Parsoid does not mark self-links, by design.
6784 BUG 337: Escaped self-links should be bold
6788 [[Bug462]] [[Bug462]]
6790 <p><strong class="selflink">Bug462</strong> <strong class="selflink">Bug462</strong>
6793 <p><strong class="selflink">Bug462</strong> <strong class="selflink">Bug462</strong></p>
6795 <p><a rel="mw:WikiLink" href="./Bug462" title="Bug462">Bug462</a> <a rel="mw:WikiLink" href="./Bug462" title="Bug462">Bug462</a></p>
6799 Self-link to section should not be bold
6803 [[Main Page#section]]
6805 <p><a href="/wiki/Main_Page#section" title="Main Page">Main Page#section</a>
6816 Self-link to numeric title
6822 <p><strong class="selflink">0</strong>
6827 Link to numeric-equivalent title
6833 <p><a href="/wiki/00" title="00">00</a>
6838 <nowiki> inside a link
6840 [[Main<nowiki> Page</nowiki>]] [[Main Page|the main page <nowiki>[it's not very good]</nowiki>]]
6842 <p>[[Main Page]] <a href="/wiki/Main_Page" title="Main Page">the main page [it's not very good]</a>
6847 Non-breaking spaces in title
6849 [[ Main Page ]]
6851 <p><a href="/wiki/Main_Page" title="Main Page">  Main   Page  </a>
6856 Internal link with ca linktrail, surrounded by bold apostrophes (bug 27473 primary issue)
6862 <p><b><a href="/wiki/Main_Page" title="Main Page">Main Page</a></b>
6867 Internal link with ca linktrail, surrounded by italic apostrophes (bug 27473 primary issue)
6873 <p><i><a href="/wiki/Main_Page" title="Main Page">Main Page</a></i>
6878 Internal link with en linktrail: no apostrophes (bug 27473)
6884 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (page does not exist)">Something</a>'nice
6889 Internal link with ca linktrail with apostrophes (bug 27473)
6895 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (encara no existeix)">Something'nice</a>
6900 Internal link with kaa linktrail with apostrophes (bug 27473)
6906 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (bet ele jaratılmag'an)">Something'nice</a>
6911 Link with multiple ":" in a subpage-supporting namespace (bug 63636)
6913 [[User:Foo/Test/63636:Bar|Test]]
6915 <p><a href="/index.php?title=User:Foo/Test/63636:Bar&action=edit&redlink=1" class="new" title="User:Foo/Test/63636:Bar (page does not exist)">Test</a>
6918 <p><a rel="mw:WikiLink" href="./User:Foo/Test/63636:Bar" title="User:Foo/Test/63636:Bar">Test</a></p>
6922 Purely hash wikilink
6924 title=[[User:test/123]]
6928 <p><a href="#a">b</a>
6931 <p><a rel="mw:WikiLink" href="../User:Test/123#a" data-parsoid='{"stx":"piped","a":{"href":"../User:Test/123#a"},"sa":{"href":"#a"}}'>b</a></p>
6935 1. Interaction of linktrail and template encapsulation
6941 <p><a rel="mw:WikiLink" href="Foo" title="Foo" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Foo]]"}},"i":0}},"l"]}'>Fool</a></p>
6945 2. Interaction of linktrail and template encapsulation
6949 {{echo|Some [[Fool]]}}s
6951 <p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]"}},"i":0}},"s"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>Some </span><a rel="mw:WikiLink" href="./Fool" title="Fool" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a></p>
6955 3. Interaction of linktrail and template encapsulation
6959 {{echo|Some [[Fool]]s are '''bold and foolish'''}}
6961 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Some [[Fool]]s are '''bold and foolish'''"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>Some <a rel="mw:WikiLink" href="./Fool" title="Fool" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a> are <b>bold and foolish</b></p>
6971 Internal link with is link prefix
6975 Aðrir mótmælenda[[söfnuður|söfnuðir]] og
6977 <p>Aðrir <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðir</a> og
6988 Internal link with is link trail and link prefix
6992 [[mótmælendatrú|xxx]]ar
6994 mótmælenda[[söfnuður]]
6995 mótmælenda[[söfnuður|söfnuðir]]
6996 mótmælenda[[söfnuður|söfnuðir]]xxx
6998 <p><a href="/wiki/M%C3%B3tm%C3%A6lendatr%C3%BA" title="Mótmælendatrú">xxxar</a>
6999 <a href="/wiki/M%C3%B3tm%C3%A6lendatr%C3%BA" title="Mótmælendatrú">mótmælendatrúar</a>
7000 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuður</a>
7001 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðir</a>
7002 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðirxxx</a>
7007 Parsoid link trail escaping
7009 parsoid=html2wt,html2html
7011 <p><a rel="mw:WikiLink" href="Apple" title="Apple">apple</a>s</p>
7017 Parsoid link prefix escaping
7020 parsoid=html2wt,html2html
7022 <p>Aðrir mótmælenda<a rel="mw:WikiLink" href="Söfnuður" title="Söfnuður">söfnuður</a></p>
7024 Aðrir mótmælenda<nowiki/>[[söfnuður]]
7028 Parsoid-centric test: Whitespace in ext- and wiki-links should be preserved
7036 [http://wp.org ''foo'']
7038 <p><a href="/wiki/Foo" title="Foo"> bar</a>
7039 </p><p><a href="/wiki/Foo" title="Foo"> <i>bar</i></a>
7040 </p><p><a rel="nofollow" class="external text" href="http://wp.org">foo</a>
7041 </p><p><a rel="nofollow" class="external text" href="http://wp.org"><i>foo</i></a>
7046 Parsoid: Scoped parsing should handle mixed transclusions and plain text
7050 [[Foo|{{echo|a}} b {{echo|c}}]]
7052 <p><a rel="mw:WikiLink" href="Foo" title="Foo"><span about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a"}},"i":0}}]}'>a</span> b <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"c"}},"i":0}}]}'>c</span></a></p>
7056 Link with angle bracket after anchor
7060 <p><a href="/wiki/Foo#.3Cbar.3E" title="Foo">Foo#<bar></a>
7063 <p><a rel="mw:WikiLink" href="./Foo#%3Cbar%3E" title="Foo" data-parsoid='{"stx":"simple","a":{"href":"./Foo#%3Cbar%3E"},"sa":{"href":"Foo#<bar>"}}'>Foo#<bar></a></p>
7067 ### Interwiki links (see maintenance/interwiki.sql)
7071 Inline interwiki link
7073 parsoid=wt2html,wt2wt,html2html
7075 [[MeatBall:SoftSecurity]]
7077 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity" class="extiw" title="meatball:SoftSecurity">MeatBall:SoftSecurity</a>
7080 <p><a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity" title="meatball:SoftSecurity">MeatBall:SoftSecurity</a></p>
7084 Inline interwiki link with empty title (bug 2372)
7086 parsoid=wt2html,wt2wt,html2html
7090 <p><a href="http://www.usemod.com/cgi-bin/mb.pl" class="extiw" title="meatball:">MeatBall:</a>
7093 <p><a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?" title="meatball:">MeatBall:</a></p>
7097 Interwiki link encoding conversion (bug 1636)
7099 *[[Wikipedia:ro:Olteniţa]]
7100 *[[Wikipedia:ro:Olteniţa]]
7102 <ul><li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li>
7103 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li></ul>
7107 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li>
7108 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a></li>
7113 Interwiki link with fragment (bug 2130)
7115 [[MeatBall:SoftSecurity#foo]]
7117 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity#foo" class="extiw" title="meatball:SoftSecurity">MeatBall:SoftSecurity#foo</a>
7121 # Ideally the wikipedia: prefix here should be proto-relative too
7122 # [CSA]: this is kind of a bogus test, as the PHP parser test doesn't
7123 # define the 'en' prefix, and originally the test used 'wikipedia',
7124 # which isn't a localinterwiki prefix hence the links to the 'en:Foo'
7127 Different interwiki prefixes mapping to the same URL
7135 [[:wikipedia:Foo|Foo]]
7137 [[wikipedia:en:Foo]]
7139 [[:wikipedia:en:Foo]]
7143 <p><a rel="mw:ExtLink" href="//en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"simple","a":{"href":"//en.wikipedia.org/wiki/Foo"},"sa":{"href":":en:Foo"},"isIW":true}' title="en:Foo">en:Foo</a></p>
7145 <p><a rel="mw:ExtLink" href="//en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"piped","a":{"href":"//en.wikipedia.org/wiki/Foo"},"sa":{"href":":en:Foo"},"isIW":true}' title="en:Foo">Foo</a></p>
7147 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":"wikipedia:Foo"},"isIW":true}' title="wikipedia:Foo">wikipedia:Foo</a></p>
7149 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"piped","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":":wikipedia:Foo"},"isIW":true}' title="wikipedia:Foo">Foo</a></p>
7151 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/en:Foo" data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/en:Foo"},"sa":{"href":"wikipedia:en:Foo"},"isIW":true}' title="wikipedia:en:Foo">wikipedia:en:Foo</a></p>
7153 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/en:Foo" data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/en:Foo"},"sa":{"href":":wikipedia:en:Foo"},"isIW":true}' title="wikipedia:en:Foo">wikipedia:en:Foo</a></p>
7155 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":" wikiPEdia :Foo"},"isIW":true}' title="wikipedia:Foo"> wikiPEdia :Foo</a></p>
7159 Interwiki links that cannot be represented in wiki syntax
7162 [[meatball:ok#foo|ok with fragment]]
7163 [[meatball:ok_as_well?|ok ending with ? mark]]
7164 [http://de.wikipedia.org/wiki/Foo?action=history has query]
7165 [http://de.wikipedia.org/wiki/#foo is just fragment]
7168 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?ok" class="extiw" title="meatball:ok">meatball:ok</a>
7169 <a href="http://www.usemod.com/cgi-bin/mb.pl?ok#foo" class="extiw" title="meatball:ok">ok with fragment</a>
7170 <a href="http://www.usemod.com/cgi-bin/mb.pl?ok_as_well%3F" class="extiw" title="meatball:ok as well?">ok ending with ? mark</a>
7171 <a rel="nofollow" class="external text" href="http://de.wikipedia.org/wiki/Foo?action=history">has query</a>
7172 <a rel="nofollow" class="external text" href="http://de.wikipedia.org/wiki/#foo">is just fragment</a>
7175 <p><a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok" title="meatball:ok">meatball:ok</a>
7176 <a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok#foo" title="meatball:ok">ok with fragment</a>
7177 <a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok_as_well?" title="meatball:ok as well?">ok ending with ? mark</a>
7178 <a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/Foo?action=history">has query</a>
7179 <a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/#foo">is just fragment</a></p>
7183 Interwiki links: trail
7185 [[wikipedia:Foo|Ba]]r
7187 <p><a href="http://en.wikipedia.org/wiki/Foo" class="extiw" title="wikipedia:Foo">Bar</a>
7190 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo" data-parsoid='{"stx":"piped","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":"wikipedia:Foo"},"isIW":true,"tail":"r"}' title="wikipedia:Foo">Bar</a></p>
7194 Local interwiki link
7196 parsoid=wt2html,wt2wt,html2html
7198 [[local:Template:Foo]]
7200 <p><a href="/wiki/Template:Foo" title="Template:Foo">local:Template:Foo</a>
7203 <p><a rel="mw:WikiLink" href="./Template:Foo" title="Template:Foo">local:Template:Foo</a></p>
7206 # Parsoid does not mark self-links, by design.
7208 Local interwiki link: self-link to current page
7211 parsoid=wt2html,wt2wt,html2html
7215 <p><strong class="selflink">local:Main Page</strong>
7218 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">local:Main Page</a></p>
7222 Local interwiki link: prefix only (bug 64167)
7224 parsoid=wt2html,wt2wt,html2html
7228 <p><a href="/wiki/Main_Page" title="Main Page">local:</a>
7231 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">local:</a></p>
7235 Local interwiki link: with additional interwiki prefix (bug 61357)
7237 parsoid=wt2html,wt2wt,html2html
7239 [[local:meatball:Hello]]
7241 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?Hello" class="extiw" title="meatball:Hello">local:meatball:Hello</a>
7244 <p><a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?Hello" title="meatball:Hello">local:meatball:Hello</a></p>
7248 Multiple local interwiki link prefixes
7250 [[local:local:local:local:mi:local:Foo]]
7252 parsoid=wt2html,wt2wt,html2html
7254 <p><a href="/wiki/Foo" title="Foo">local:local:local:local:mi:local:Foo</a>
7257 <p><a rel="mw:WikiLink" href="./Foo" title="Foo">local:local:local:local:mi:local:Foo</a></p>
7261 ### Interlanguage links
7262 ### Language links (so that searching for '### language' matches..)
7268 parsoid=wt2html,wt2wt,html2html
7276 <p>Blah blah blah</p>
7277 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese"/>
7281 Interlanguage link with spacing
7283 parsoid=wt2html,wt2wt,html2html
7291 <p>Blah blah blah</p>
7292 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese"/>
7296 Double interlanguage link
7298 parsoid=wt2html,wt2wt,html2html
7307 <p>Blah blah blah</p>
7308 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Spanish"/>
7309 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese"/>
7313 Interlanguage link variations
7315 parsoid=wt2html,wt2wt,html2html
7326 <p>Blah blah blah</p>
7327 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Spanish" />
7328 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese" />
7329 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar" />
7330 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar" />
7334 Interlanguage link, with prefix links
7344 <p>Blah blah blah</p>
7345 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese"/>
7349 Double interlanguage link, with prefix links (bug 8897)
7360 <p>Blah blah blah</p>
7361 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Spanish"/>
7362 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/Chinese"/>
7366 "Extra" interlanguage links (bug 32189 / gerrit 111390)
7374 <p>Blah blah blah</p>
7375 <link rel="mw:PageProp/Language" title="Multilingual" href="http://wikisource.org/wiki/Article"/>
7379 Parsoid-specific test: Wikilinks with should RT properly
7385 <p><a href="/index.php?title=WW_II&action=edit&redlink=1" class="new" title="WW II (lonkásá ezalí tɛ̂)">WW II</a>
7390 Parsoid bug 53221: Wikilinks should be properly entity-escaped
7394 <p>He&nbsp;llo <a href="Foo" rel="mw:WikiLink">He&nbsp;llo</a></p>
7395 <p>He&nbsp;llo <a href="He&nbsp;llo" rel="mw:WikiLink">He&nbsp;llo</a></p>
7397 He&nbsp;llo [[Foo|He&nbsp;llo]]
7399 He&nbsp;llo [[He&nbsp;llo]]
7403 Parsoid: handle constructor well
7409 <p><a href="/index.php?title=Constructor&action=edit&redlink=1" class="new" title="Constructor (page does not exist)">constructor</a>
7410 </p><p><a href="/index.php?title=Constructor:foo&action=edit&redlink=1" class="new" title="Constructor:foo (page does not exist)">constructor:foo</a>
7413 <p><a rel="mw:WikiLink" href="./Constructor" title="Constructor" data-parsoid="{"stx":"simple","a":{"href":"./Constructor"},"sa":{"href":"constructor"}}">constructor</a></p>
7415 <p><a rel="mw:WikiLink" href="./Foo" title="Foo" data-parsoid="{"stx":"simple","a":{"href":"./Foo"},"sa":{"href":"constructor:foo"}}">constructor:foo</a></p>
7424 # Note that `ko` isn't a known interlanguage prefix
7426 Parsoid: recognize interlanguage links without a target page
7436 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/"/>
7438 <p><a rel="mw:WikiLink" href="./Ko:" title="Ko:">ko:</a></p>
7441 # Note that `ko` isn't a known interwiki prefix
7443 Parsoid: recognize interwiki links without a target page
7445 parsoid=wt2html,wt2wt,html2html
7451 <p><a href="http://es.wikipedia.org/wiki/" class="extiw" title="es:">es:</a>
7452 </p><p><a href="/wiki/Ko:" title="Ko:">ko:</a>
7455 <p><a rel="mw:ExtLink" href="http://es.wikipedia.org/wiki/" title="es:">es:</a></p>
7456 <p><a rel="mw:WikiLink" href="./Ko:" title="Ko:">ko:</a></p>
7460 Handle interwiki links pointing to the current wiki as plain wiki links (bug 45209)
7464 <p><a href="/wiki/Foo" title="Foo">mi:Foo</a>
7467 <p><a rel="mw:WikiLink" href="./Foo" title="Foo" data-parsoid='{"stx":"simple","a":{"href":"./Foo"},"sa":{"href":"mi:Foo"}}'>mi:Foo</a></p>
7471 Interlanguage link with preceding local interwiki link (bug 68085)
7473 parsoid=wt2html,wt2wt,html2html
7476 [[local:es:Spanish]]
7479 <a href="http://es.wikipedia.org/wiki/Spanish" class="extiw" title="es:Spanish">local:es:Spanish</a>
7483 <a rel="mw:ExtLink" href="http://es.wikipedia.org/wiki/Spanish" title="es:Spanish">local:es:Spanish</a></p>
7487 Looks like an interlanguage link, but is actually a local interwiki
7489 parsoid=wt2html,wt2wt,html2html
7495 <a href="/wiki/Template:Foo" title="Template:Foo">mi:Template:Foo</a>
7499 <a rel="mw:WikiLink" href="Template:Foo" title="Template:Foo">mi:Template:Foo</a></p>
7503 ### Redirects, Parsoid-only
7506 1. Simple redirect to page
7510 #REDIRECT [[Main Page]]
7512 <link rel="mw:PageProp/redirect" href="./Main_Page">
7515 # Only wt2html and html2html since "Main_Page" will serialize to "Main Page"
7517 2. Other redirect variants
7519 parsoid=wt2html,wt2wt
7521 #REDIRECT [[Main_Page]]
7522 #REDIRECT [[<nowiki>[[Bar]]</nowiki>]]
7524 <link rel="mw:PageProp/redirect" href="./Main_Page"><link rel="mw:PageProp/redirect" href="./%5B%5BBar%5D%5D">
7530 parsoid=wt2html,wt2wt
7535 <li>REDIRECT [[]]</li></ol>
7539 Optional colon in #REDIRECT
7541 # the colon is archaic syntax. we support it for wt2html, but we
7542 # don't care that it roundtrips back to the modern syntax.
7543 parsoid=wt2html,html2html
7545 #REDIRECT:[[Main Page]]
7547 <link rel="mw:PageProp/redirect" href="./Main_Page">
7551 Whitespace in #REDIRECT with optional colon
7553 # the colon and gratuitous whitespace is archaic syntax. we support
7554 # it for wt2html, but we don't care that it roundtrips back to the
7555 # modern syntax (without extra whitespace)
7556 parsoid=wt2html,html2html
7563 <link rel="mw:PageProp/redirect" href="./Main_Page">
7567 Piped link in #REDIRECT
7569 # content after piped link is ignored. we support this syntax,
7570 # but don't care that the piped link is lost when we roundtrip this.
7573 #REDIRECT [[Main Page|bar]]
7575 <link rel="mw:PageProp/redirect" href="./Main_Page">
7579 Redirect to category
7583 #REDIRECT [[Category:Foo]]
7585 <link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
7589 Redirect to category with URL encoding
7593 #REDIRECT [[Category%3AFoo]]
7595 <link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
7599 Redirect to category page
7601 parsoid=wt2html,html2html
7603 #REDIRECT [[:Category:Foo]]
7605 <p><a rel="mw:WikiLink" href="Category:Foo" title="Category:Foo">Category:Foo</a></p>
7609 Redirect to image page (1)
7613 #REDIRECT [[File:Wiki.png]]
7615 <link rel="mw:PageProp/redirect" href="./File:Wiki.png">
7619 Redirect to image page (2)
7623 #REDIRECT [[Image:Wiki.png]]
7625 <link rel="mw:PageProp/redirect" href="./File:Wiki.png">
7629 Redirect to language
7633 #REDIRECT [[en:File:Wiki.png]]
7635 <link rel="mw:PageProp/redirect" href="File:Wiki.png">
7639 Redirect to interwiki
7643 #REDIRECT [[meatball:File:Wiki.png]]
7645 <link rel="mw:PageProp/redirect" href="File:Wiki.png">
7649 Non-English #REDIRECT
7654 #TILVÍSUN [[Main Page]]
7656 <link rel="mw:PageProp/redirect" href="./Main_Page">
7664 <p>Foo<link rel="mw:PageProp/redirect" href="./Foo"></p>
7684 Broken br tag sanitization
7692 # TODO: Fix html2html mode (bug 51055)!
7693 # This </br> handling was added as part of bug 50831; but it
7694 # differs from how PHP+tidy handles this. We should investigate
7697 Parsoid: Broken br tag recognition
7713 Incorrecly removing closing slashes from correctly formed XHTML
7715 <br style="clear:both;" />
7717 <p><br style="clear:both;" />
7722 Failing to transform badly formed HTML into correct XHTML
7724 <br style="clear: left;">
7725 <br style="clear: right;">
7726 <br style="clear: both;">
7728 <p><br style="clear: left;" />
7729 <br style="clear: right;" />
7730 <br style="clear: both;" />
7734 ## FIXME: Is Parsoid's acceptance of self-closing html-tags
7735 ## a feature or a bug? See https://phabricator.wikimedia.org/T76962
7737 Handling html with a div self-closing tag
7746 <p><div title />
7750 <p><div title=bar />
7751 <div title=bar/>
7753 <div title="bar/"></div>
7757 <div title="" data-parsoid='{"stx":"html","selfClose":true}'></div>
7758 <div title="" data-parsoid='{"stx":"html","selfClose":true}'></div>
7759 <div title="" data-parsoid='{"stx":"html","selfClose":true,"brokenHTMLTag":true}'></div>
7760 <div title="bar" data-parsoid='{"stx":"html","selfClose":true}'></div>
7761 <div title="bar" data-parsoid='{"stx":"html","selfClose":true}'></div>
7762 <div title="bar/" data-parsoid='{"stx":"html","autoInsertedEnd":true}'></div>
7766 Handling html with a br self-closing tag
7775 <p><br title="title" />
7776 <br title="title" />
7793 Horizontal ruler (should it add that extra space?)
7808 Horizontal ruler -- 4+ dashes render hr
7817 Horizontal ruler -- eats additional dashes on the same line
7826 Horizontal ruler -- does not collapse dashes on consecutive lines
7837 Horizontal ruler -- <4 dashes render as plain text
7846 Horizontal ruler -- Supports content following dashes on same line
7858 ### Block-level elements
7867 <ul><li>Common list</li>
7869 <li>item 3</li></ul>
7880 <ol><li>Numbered list</li>
7882 <li> item 3</li></ol>
7896 ***#Number on level 4
7898 **#Number on level 3
7899 **#Number on level 3
7903 #** Level 3, but ordered
7906 <ol><li> with numbers</li></ol>
7907 <ul><li> and bullets</li></ul>
7908 <ol><li> and numbers</li></ol></li>
7910 <ul><li>bullet level 2
7911 <ul><li>bullet level 3
7912 <ol><li>Number on level 4</li></ol></li></ul></li>
7914 <ol><li>Number on level 3</li>
7915 <li>Number on level 3</li></ol></li></ul>
7916 <ol><li>number level 2</li></ol></li>
7918 <ul><li><ul><li> Level 3</li></ul></li></ul></li></ul>
7919 <ol><li><ul><li><ul><li> Level 3, but ordered</li></ul></li></ul></li></ol>
7930 <ul><li>bar</li></ul></li></ul>
7940 <ul><li><ul><li>foo</li></ul></li>
7946 Nested lists 3 (first element empty)
7952 <ul><li>bar</li></ul></li></ul>
7957 Nested lists 4 (first element empty)
7962 <ul><li><ul><li></li></ul></li>
7968 Nested lists 5 (both elements empty)
7973 <ul><li><ul><li></li></ul></li>
7979 Nested lists 6 (both elements empty)
7985 <ul><li></li></ul></li></ul>
7990 Nested lists 7 (skip initial nesting levels)
7994 <ul><li><ul><li><ul><li> foo</li></ul></li></ul></li></ul>
7999 Nested lists 8 (multiple nesting transitions)
8007 <ul><li><ul><li> bar</li></ul></li>
8008 <li> baz</li></ul></li>
8014 1. Lists with start-of-line-transparent tokens before bullets: Comments
8027 2. Lists with start-of-line-transparent tokens before bullets: Template close
8032 <ul><li>foo bar</li>
8038 List items are not parsed correctly following a <pre> block (bug 785)
8044 <ul><li> <pre>foo</pre></li>
8045 <li> <pre>bar</pre></li>
8051 List items from template
8062 * notSOL{{inner list}}
8065 <ul><li> item 1</li>
8066 <li> item 2</li></ul>
8067 <ul><li> item 0</li>
8069 <li> item 2</li></ul>
8070 <ul><li> item 0</li>
8073 <li> item 2</li></ul>
8078 List interrupted by empty line or heading
8086 <ul><li> foo</li></ul>
8087 <ul><li><ul><li> bar</li></ul></li></ul>
8088 <h2><a href="#A_heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="A_heading">A heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: A heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
8089 <ul><li> Another list item</li></ul>
8094 Multiple list tags generated by templates
8115 Single-comment whitespace lines dont break lists, and neither do multi-comment whitespace lines
8118 <!--This line will NOT split the list-->
8120 <!--This line will NOT split the list either-->
8122 <!--foo--> <!----> <!--This line NOT split the list either-->
8133 Replacing whitespace with tabs still doesn't break the list (gerrit 78327)
8136 <!--This line will NOT split the list-->
8138 <!--This line will NOT split the list either-->
8140 <!--foo--> <!----> <!--This line NOT split the list
8153 (The PHP parser relies on Tidy for the hack)
8155 parsoid=wt2html,wt2wt
8159 * {{echo|<li>templated li-hack}}
8160 * <!--foo--> <li> unsupported li-hack with preceding comments
8163 <li><li>not a li-hack
8170 <li>templated li-hack</li>
8171 <li>unsupported li-hack with preceding comments</li>
8174 <li>not a li-hack</li>
8179 Parsoid: Make sure nested lists are serialized on their own line even if HTML contains no newlines
8206 Parsoid: Test of whitespace serialization with Templated bullets
8213 <li> </li><li about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"bullet","href":"./Template:Bullet"},"params":{},"i":0}}]}'> Bar</li>
8217 # ------------------------------------------------------------------------
8218 # The next set of tests are about Parsoid's ability to handle badly nested
8219 # tags (parse, minimize scope of fixup, and roundtrip back)
8220 # ------------------------------------------------------------------------
8223 Unbalanced closing block tags break a list
8224 (php parser relies on Tidy to fix up)
8242 # Parsoid fails this test, but it might be tricky to support properly.
8245 Unbalanced closing non-block tags don't break a list
8246 (php parser relies on Tidy to fix up)
8253 <li><span>a</span></li>
8254 <li><span>b</span></li>
8268 Unclosed formatting tags that straddle lists are closed and reopened
8269 (php parser relies on Tidy to fix up)
8271 parsoid=wt2html,wt2wt,html2html
8281 <ol><li> <s> a</s></li>
8282 <li><s> b </s></li></ol>
8285 # Parsoid fails this test, but it might be tricky to support properly.
8288 List embedded in a non-block tag
8289 (Ugly Parsoid output -- worth fixing; PHP parser relies on Tidy)
8296 <li><small>foo</small></li>
8306 # This is a bug in the PHP parser + tidy combination.
8307 # (The </tr> tag gets parsed as text and html-escaped by PHP,
8308 # and then fostered out of the table by tidy.)
8309 # We believe the Parsoid output to be correct.
8311 Table with missing opening <tr> tag
8313 parsoid=wt2html,wt2wt
8338 # Note that the current date is hard-coded as
8339 # 1970-01-01T00:02:03Z (a Thursday)
8340 # when running parser tests. The timezone is also fixed to GMT, so
8341 # local date will be identical to current date.
8344 Magic Word: {{CURRENTDAY}}
8353 Magic Word: {{CURRENTDAY2}}
8362 Magic Word: {{CURRENTDAYNAME}}
8371 Magic Word: {{CURRENTDOW}}
8380 Magic Word: {{CURRENTMONTH}}
8389 Magic Word: {{CURRENTMONTH1}}
8398 Magic Word: {{CURRENTMONTHABBREV}}
8400 {{CURRENTMONTHABBREV}}
8407 Magic Word: {{CURRENTMONTHNAME}}
8409 {{CURRENTMONTHNAME}}
8416 Magic Word: {{CURRENTMONTHNAMEGEN}}
8418 {{CURRENTMONTHNAMEGEN}}
8425 Magic Word: {{CURRENTTIME}}
8434 Magic Word: {{CURRENTHOUR}}
8443 Magic Word: {{CURRENTWEEK}} (@bug 4594)
8452 Magic Word: {{CURRENTYEAR}}
8461 Magic Word: {{CURRENTTIMESTAMP}}
8463 {{CURRENTTIMESTAMP}}
8470 Magic Words LOCAL (UTC)
8474 * {{LOCALMONTHNAME}}
8475 * {{LOCALMONTHNAMEGEN}}
8476 * {{LOCALMONTHABBREV}}
8485 * {{LOCALTIMESTAMP}}
8500 <li> 19700101000203</li></ul>
8505 Magic Word: {{FULLPAGENAME}}
8507 title=[[User:Ævar Arnfjörð Bjarmason]]
8511 <p>User:Ævar Arnfjörð Bjarmason
8516 Magic Word: {{FULLPAGENAMEE}}
8518 title=[[User:Ævar Arnfjörð Bjarmason]]
8522 <p>User:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8527 Magic Word: {{TALKSPACE}}
8529 title=[[User:Ævar Arnfjörð Bjarmason]]
8538 Magic Word: {{TALKSPACE}}, same namespace
8540 title=[[User talk:Ævar Arnfjörð Bjarmason]]
8549 Magic Word: {{TALKSPACE}}, main namespace
8551 title=[[Parser Test]]
8560 Magic Word: {{TALKSPACEE}}
8562 title=[[User:Ævar Arnfjörð Bjarmason]]
8571 Magic Word: {{SUBJECTSPACE}}
8573 title=[[User talk:Ævar Arnfjörð Bjarmason]]
8582 Magic Word: {{SUBJECTSPACE}}, same namespace
8584 title=[[User:Ævar Arnfjörð Bjarmason]]
8593 Magic Word: {{SUBJECTSPACE}}, main namespace
8595 title=[[Parser Test]]
8603 Magic Word: {{SUBJECTSPACEE}}
8605 title=[[User talk:Ævar Arnfjörð Bjarmason]]
8614 Magic Word: {{NAMESPACE}}
8616 title=[[User:Ævar Arnfjörð Bjarmason]]
8625 Magic Word: {{NAMESPACEE}}
8627 title=[[User:Ævar Arnfjörð Bjarmason]]
8636 Magic Word: {{NAMESPACENUMBER}}
8638 title=[[User:Ævar Arnfjörð Bjarmason]]
8647 Magic Word: {{SUBPAGENAME}}
8649 title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
8658 Magic Word: {{SUBPAGENAMEE}}
8660 title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
8669 Magic Word: {{ROOTPAGENAME}}
8671 title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
8675 <p>Ævar Arnfjörð Bjarmason
8680 Magic Word: {{ROOTPAGENAMEE}}
8682 title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
8686 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8691 Magic Word: {{BASEPAGENAME}}
8693 title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
8697 <p>Ævar Arnfjörð Bjarmason
8702 Magic Word: {{BASEPAGENAMEE}}
8704 title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
8708 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8713 Magic Word: {{TALKPAGENAME}}
8715 title=[[User:Ævar Arnfjörð Bjarmason]]
8719 <p>User talk:Ævar Arnfjörð Bjarmason
8724 Magic Word: {{TALKPAGENAMEE}}
8726 title=[[User:Ævar Arnfjörð Bjarmason]]
8730 <p>User_talk:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8735 Magic Word: {{SUBJECTPAGENAME}}
8737 title=[[User talk:Ævar Arnfjörð Bjarmason]]
8741 <p>User:Ævar Arnfjörð Bjarmason
8746 Magic Word: {{SUBJECTPAGENAMEE}}
8748 title=[[User talk:Ævar Arnfjörð Bjarmason]]
8750 {{SUBJECTPAGENAMEE}}
8752 <p>User:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8757 Magic Word: {{NUMBEROFFILES}}
8766 Magic Word: {{PAGENAME}}
8768 title=[[User:Ævar Arnfjörð Bjarmason]]
8772 <p>Ævar Arnfjörð Bjarmason
8777 Magic Word: {{PAGENAME}} with metacharacters
8779 title=[['foo & bar = baz']]
8783 <p><i>'foo & bar = baz'</i>
8786 <p><i>'foo & bar = baz'</i></p>
8790 Magic Word: {{PAGENAME}} with metacharacters (bug 26781)
8792 title=[[*RFC 1234 http://example.com/]]
8796 <p>*RFC 1234 http://example.com/
8799 <p>*RFC 1234 http://example.com/</p>
8803 Magic Word: {{PAGENAMEE}}
8805 title=[[User:Ævar Arnfjörð Bjarmason]]
8809 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8814 Magic Word: {{PAGENAMEE}} with metacharacters (bug 26781)
8816 title=[[*RFC 1234 http://example.com/]]
8820 <p>*RFC_1234_http://example.com/
8823 <p>*RFC_1234_http://example.com/</p>
8827 Magic Word: {{REVISIONID}}
8836 Magic Word: {{SCRIPTPATH}}
8845 Magic Word: {{STYLEPATH}}
8854 Magic Word: {{SERVER}}
8858 <p><a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>
8863 Magic Word: {{SERVERNAME}}
8872 Magic Word: {{SITENAME}}
8881 Case-sensitive magic words, when cased differently, should just be template transclusions
8888 <p><a href="/index.php?title=Template:CurrentMonth&action=edit&redlink=1" class="new" title="Template:CurrentMonth (page does not exist)">Template:CurrentMonth</a>
8889 <a href="/index.php?title=Template:Currentday&action=edit&redlink=1" class="new" title="Template:Currentday (page does not exist)">Template:Currentday</a>
8890 <a href="/index.php?title=Template:CURreNTweEK&action=edit&redlink=1" class="new" title="Template:CURreNTweEK (page does not exist)">Template:CURreNTweEK</a>
8891 <a href="/index.php?title=Template:CurrentHour&action=edit&redlink=1" class="new" title="Template:CurrentHour (page does not exist)">Template:CurrentHour</a>
8896 Case-insensitive magic words should still work with weird casing.
8906 <a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>
8910 # From plwiki:PLOS_ONE
8912 Parsoid: Page property magic word with magic word contents
8914 {{DISPLAYTITLE:''{{PAGENAME}}''}}
8916 <meta property="mw:PageProp/displaytitle" content="Main Page" about="#mwt2" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"content"},{"html":"<i data-parsoid=\"{&quot;dsr&quot;:[15,31,2,2]}\"><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[]],&quot;dsr&quot;:[17,29,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;PAGENAME&quot;,&quot;function&quot;:&quot;pagename&quot;},&quot;params&quot;:{},&quot;i&quot;:0}}]}\">Main Page</span></i>"}]]}'/>
8920 Parsoid: Template-generated DISPLAYTITLE
8922 {{{{echo|DISPLAYTITLE}}:Foo}}
8924 <meta property="mw:PageProp/displaytitle" content="Foo" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"dsr":[0,29,null,null],"pi":[[]]}' data-mw='{"parts":[{"template":{"target":{"wt":"{{echo|DISPLAYTITLE}}:Foo"},"params":{},"i":0}}]}'/>
8928 Namespace 1 {{ns:1}}
8937 Namespace 1 {{ns:01}}
8946 Namespace 0 {{ns:0}} (bug 4783)
8954 Namespace 0 {{ns:00}} (bug 4783)
8962 Namespace -1 {{ns:-1}}
8971 Namespace User {{ns:User}}
8980 Namespace User talk {{ns:User_talk}}
8989 Namespace User talk {{ns:uSeR tAlK}}
8998 Namespace File {{ns:File}}
9007 Namespace File {{ns:Image}}
9016 Namespace (lang=de) Benutzer {{ns:User}}
9027 Namespace (lang=de) Benutzer Diskussion {{ns:3}}
9033 <p>Benutzer Diskussion
9041 {{urlencode:hi world?!}}
9042 {{urlencode:hi world?!|WIKI}}
9043 {{urlencode:hi world?!|PATH}}
9044 {{urlencode:hi world?!|QUERY}}
9054 Magic Word: prioritize type info over data-parsoid
9058 <meta property="mw:PageProp/forcetoc" data-parsoid='{"magicSrc":"__NOTOC__"}'/>
9064 Magic Word: serialize on separate line (parsoid)
9066 parsoid=wt2wt,html2wt
9072 foo<meta property="mw:PageProp/notoc"/>bar
9076 Magic Word: rt non-english wikis
9083 <meta property="mw:PageProp/noeditsection" data-parsoid='{"magicSrc":"__NOEDITSECTION__"}'/>
9090 Magic links: internal link to RFC (bug 479)
9094 <p><a href="/index.php?title=RFC_123&action=edit&redlink=1" class="new" title="RFC 123 (page does not exist)">RFC 123</a>
9099 Magic links: RFC (bug 479)
9103 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a>
9108 Magic links: RFC (bug 65278)
9110 This is RFC 822 but thisRFC 822 is not RFC 822linked.
9112 <p>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a> but thisRFC 822 is not RFC 822linked.
9117 Magic links: RFC (w/ non-newline whitespace, bug 28950/29025)
9119 RFC      822
9123 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a>
9130 Magic links: ISBN (bug 1937)
9134 <p><a href="/wiki/Special:BookSources/0306406152" class="internal mw-magiclink-isbn">ISBN 0-306-40615-2</a>
9139 Magic links: ISBN (bug 65278)
9141 This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.
9143 <p>This is <a href="/wiki/Special:BookSources/9780316098113" class="internal mw-magiclink-isbn">ISBN 978-0-316-09811-3</a> but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.
9146 <p>This is <a href="./Special:BookSources/9780316098113" rel="mw:ExtLink">ISBN 978-0-316-09811-3</a> but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.</p>
9150 Magic links: ISBN (w/ non-newline whitespace, bug 28950/29025)
9152 ISBN      978 0 316 09811 3
9158 <p><a href="/wiki/Special:BookSources/9780316098113" class="internal mw-magiclink-isbn">ISBN 978 0 316 09811 3</a>
9167 Magic links: PMID incorrectly converts space to underscore
9171 <p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a>
9176 Magic links: PMID (bug 65278)
9178 This is PMID 1234 but thisPMID 1234 is not PMID 1234linked.
9180 <p>This is <a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a> but thisPMID 1234 is not PMID 1234linked.
9185 Magic links: PMID (w/ non-newline whitespace, bug 28950/29025)
9187 PMID      1234
9191 <p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a>
9202 Nonexistent template
9204 {{thistemplatedoesnotexist}}
9206 <p><a href="/index.php?title=Template:Thistemplatedoesnotexist&action=edit&redlink=1" class="new" title="Template:Thistemplatedoesnotexist (page does not exist)">Template:Thistemplatedoesnotexist</a>
9211 Template with invalid target containing tags
9213 {{a<b>b</b>|{{echo|foo}}|{{echo|a}}={{echo|b}}|a = b}}
9215 <p>{{a<b>b</b>|foo|a=b|a = b}}
9220 Template with invalid target containing unclosed tag
9222 {{a<b>|{{echo|foo}}|{{echo|a}}={{echo|b}}|a = b}}
9224 <p>{{a<b>|foo|a=b|a = b}}</b>
9229 Template with invalid target containing wikilink
9233 <p>{{<a href="/wiki/Main_Page" title="Main Page">Main Page</a>}}
9236 <p><span typeof="mw:Transclusion" about="#mwt1" data-mw='{"parts":[{"template":{"target":{"wt":"[[Main Page]]"},"params":{},"i":0}}]}'>{{</span><a rel="mw:WikiLink" href="./Main_Page" about="#mwt1">Main Page</a><span about="#mwt1">}}</span></p>
9240 Template with just whitespace in it, bug #68421
9244 <p><span typeof="mw:Transclusion mw:Nowiki" about="#mwt1" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{ }}"}},"i":0}}]}'>{{ }}</span></p>
9250 This is a test template
9258 <p>This is a test template
9263 Template with explicit namespace
9267 <p>This is a test template
9275 This is a test template with parameter {{{param}}}
9281 {{paramtest|param=foo}}
9283 <p>This is a test template with parameter foo
9288 Template:paramtestnum
9294 Template unnamed parameter
9296 {{paramtestnum|Main Page|the main page}}
9298 <p><a href="/wiki/Main_Page" title="Main Page">the main page</a>
9303 Template:templatesimple
9309 Template:templateredirect
9311 #redirect [[Template:templatesimple]]
9315 Template:templateasargtestnum
9321 Template:templateasargtest
9323 {{template{{{templ}}}}}
9327 Template:templateasargtest2
9333 Template with template name as unnamed argument
9335 {{templateasargtestnum|templatesimple}}
9342 Template with template name as argument
9344 {{templateasargtest|templ=simple}}
9351 Template with template name as argument (2)
9353 {{templateasargtest2|templ=templatesimple}}
9360 Template:templateasargtestdefault
9362 {{{{{templ|templatesimple}}}}}
9372 Template with default value
9374 {{templateasargtestdefault}}
9381 Template with default value (value set)
9383 {{templateasargtestdefault|templ=templa}}
9392 {{templateredirect}}
9399 Template with argument in separate line
9401 {{ templateasargtest |
9409 Template with complex template as argument
9412 param ={{ templateasargtest |
9415 <p>This is a test template with parameter (test)
9420 Template with thumb image (with link in description)
9422 {{paramtest|param =[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]}}
9424 This is a test template with parameter <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a> <div class="thumbcaption"><a href="/index.php?title=No_link&action=edit&redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&action=edit&redlink=1" class="new" title="No link (page does not exist)">caption</a></div></div></div>
9427 <p>This is a test template with parameter</p>
9428 <div class="thumb tright">
9429 <div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&wpDestFile=Noimage.png" class="new" title="File:Noimage.png">File:Noimage.png</a>
9430 <div class="thumbcaption"><a href="/index.php?title=No_link&action=edit&redlink=1" class="new" title="No link (page does not exist)">link</a> <a href="/index.php?title=No_link&action=edit&redlink=1" class="new" title="No link (page does not exist)">caption</a></div>
9434 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"paramtest","href":"./Template:Paramtest"},"params":{"param":{"wt":"[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]"}},"i":0}}]}'>This is a test template with parameter </p><figure class="mw-default-size" typeof="mw:Error mw:Image/Thumb" about="#mwt1" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}]}'><a href="./File:Noimage.png" ><img resource="./File:Noimage.png" src="./Special:FilePath/Noimage.png" height="220" width="220"/></a><figcaption><a rel="mw:WikiLink" href="./No_link" title="No link">link</a> <a rel="mw:WikiLink" href="./No_link" title="No link">caption</a></figcaption></figure>
9438 Template:complextemplate
9440 {{{1}}} {{paramtest|
9441 param ={{{param}}}}}
9445 Template with complex arguments
9448 param ={{ templateasargtest |
9449 templ = simple }}|[[Template:complextemplate|link]]}}
9451 <p><a href="/wiki/Template:Complextemplate" title="Template:Complextemplate">link</a> This is a test template with parameter (test)
9456 BUG 553: link with two variables in a piped link
9459 |[[{{{1}}}|{{{2}}}]]
9464 <td>[[{{{1}}}|{{{2}}}]]
9470 Magic variable as template parameter
9472 {{paramtest|param={{SITENAME}}}}
9474 <p>This is a test template with parameter MediaWiki
9481 [[{{{param}}}|link]]
9485 Template parameter as link source
9487 {{linktest|param=Main Page}}
9489 <p><a href="/wiki/Main_Page" title="Main Page">link</a>
9496 including another template, {{paramtest|param={{{arg}}}}}
9500 Template passing argument to another template
9502 {{paramtest2|arg='hmm'}}
9504 <p>including another template, This is a test template with parameter 'hmm'
9515 Template as link source
9519 [[{{linktest2}}|Main Page]]
9521 [[{{linktest2}}]]Page
9523 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
9524 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
9525 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>Page
9543 Template infinite loop
9547 <p><span class="error">Template loop detected: <a href="/wiki/Template:Loop1" title="Template:Loop1">Template:Loop1</a></span>
9552 Template from main namespace
9571 BUG 529: Template with table, not included at beginning of line
9590 BUG 523: Template shouldn't eat newline (or add an extra one before table)
9610 BUG 41: Template parameters shown as broken links
9619 Template with targets containing wikilinks
9623 {{[[{{echo|foo}}]]}}
9625 {{{{echo|[[foo}}]]}}
9627 <p>{{<a href="/wiki/Foo" title="Foo">foo</a>}}
9628 </p><p>{{<a href="/wiki/Foo" title="Foo">foo</a>}}
9636 ''None'' of '''this''' should be
9638 but rather passed unmodified
9645 # hmm, fix this or just deprecate msgnw and document its behavior?
9649 {{msgnw:MSGNW test}}
9651 <p>''None'' of '''this''' should be
9653  but rather passed unmodified
9654 {{test}}
9664 {{int:youhavenewmessages|lots of money|not!}}
9666 <p>You have lots of money (not!).
9673 Foo<noinclude>zar</noinclude><includeonly>bar</includeonly>
9677 <includeonly> and <noinclude> being included
9688 <onlyinclude>Foo</onlyinclude>bar
9692 <onlyinclude> being included
9704 <onlyinclude>Foo</onlyinclude>bar<includeonly>zar</includeonly>
9708 <onlyinclude> and <includeonly> being included
9717 <includeonly> and <noinclude> on a page
9719 Foo<noinclude>zar</noinclude><includeonly>bar</includeonly>
9726 Un-closed <noinclude>
9733 <onlyinclude> on a page
9735 <onlyinclude>Foo</onlyinclude>bar
9742 Un-closed <onlyinclude>
9749 Self-closed noinclude, includeonly, onlyinclude tags
9760 Unbalanced includeonly and noinclude tags
9764 |b</noinclude></noinclude>
9765 |c</noinclude></includeonly>
9766 |d</includeonly></includeonly>
9775 <td>c</includeonly>
9777 <td>d</includeonly></includeonly>
9783 Template:Includeonly section
9786 ==Includeonly section==
9792 Bug 6563: Edit link generation for section shown by <includeonly>
9794 {{includeonly section}}
9796 <h2><a href="#Includeonly_section" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Includeonly_section">Includeonly section</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&action=edit&section=T-1" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
9797 <h2><a href="#Section_T-1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_T-1">Section T-1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&action=edit&section=T-2" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
9801 # Uses same input as the contents of [[Template:Includeonly section]]
9803 Bug 6563: Section extraction for section shown by <includeonly>
9808 ==Includeonly section==
9816 Bug 6563: Edit link generation for section suppressed by <includeonly>
9819 ==Includeonly section==
9823 <h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
9828 Bug 6563: Section extraction for section suppressed by <includeonly>
9833 ==Includeonly section==
9841 Un-closed <includeonly>
9848 Includes and comments at SOL
9850 <!-- comment --><noinclude><!-- comment --></noinclude><!-- comment -->== hu ==
9857 <includeonly>can have stuff</includeonly>=== here ===
9860 <h2><a href="#hu" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="hu">hu</span></h2>
9865 <h3><a href="#here" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="here">here</span></h3>
9868 <!-- comment --><meta typeof="mw:Includes/NoInclude" data-parsoid='{"src":"<noinclude>"}'/><!-- comment --><meta typeof="mw:Includes/NoInclude/End" data-parsoid='{"src":"</noinclude>"}'/><!-- comment --><h2> hu </h2>
9870 <meta typeof="mw:Includes/NoInclude" data-parsoid='{"src":"<noinclude>"}'/>
9872 <meta typeof="mw:Includes/NoInclude/End" data-parsoid='{"src":"</noinclude>"}'/><ul><li> stuff</li>
9875 <meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"<includeonly>can have stuff</includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":""}'/><h3> here </h3>
9879 # TODO: test with DOM fragment reuse!
9881 Parsoid: DOM fragment reuse
9883 parsoid=wt2wt,wt2html
9885 a{{echo|b<table></table>c}}d
9897 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b<table></table>c"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>ab</p><table about="#mwt1" data-parsoid='{"stx":"html"}'></table><p about="#mwt1">cd</p>
9899 <p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["a",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b\n<table></table>\nc"}},"i":0}},"d"]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>ab</p><span about="#mwt2">
9900 </span><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><span about="#mwt2">
9901 </span><p about="#mwt2">cd</p>
9903 <p about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n\n<table></table>\n\nb"}},"i":0}}]}' data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]}]]}'>a</p><span about="#mwt3">
9905 </span><table about="#mwt3" data-parsoid='{"stx":"html"}'></table><span about="#mwt3">
9907 </span><p about="#mwt3">b</p>
9911 Parsoid: Merge double tds (bug 50603)
9920 <tr><td about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{!}} foo"}},"i":0}}]}'> foo</td></tr>
9925 Parsoid: Merge double tds in nested transclusion content (bug 50603)
9935 <div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<div>"}},"i":0}},"\n{|\n|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"{{!}} foo"}},"i":1}},"\n|}\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"</div>"}},"i":2}}]}'>
9937 <tr><td data-mw='{"parts":["|"]}'> foo</td></tr>
9943 ### <includeonly> and <noinclude> in attributes
9946 0. includeonly around the entire attribute
9948 <span <includeonly>id="v1"</includeonly><noinclude>id="v2"</noinclude>>bar</span>
9950 <p><span id="v2">bar</span>
9955 1. includeonly in html attr key
9957 <span <noinclude>id</noinclude><includeonly>about</includeonly>="foo">bar</span>
9959 <p><span id="foo">bar</span>
9964 2. includeonly in html attr value
9966 <span id="<noinclude>v1</noinclude><includeonly>v2</includeonly>">bar</span>
9967 <span id=<noinclude>"v1"</noinclude><includeonly>"v2"</includeonly>>bar</span>
9969 <p><span id="v1">bar</span>
9970 <span id="v1">bar</span>
9975 3. includeonly in part of an attr value
9977 <span style="color:<noinclude>red</noinclude><includeonly>blue</includeonly>;">bar</span>
9979 <p><span style="color:red;">bar</span>
9984 4. includeonly in table attributes
10008 ### Token Stream Patcher tests
10010 ### These tests won't always pass wt2wt and other modes because
10011 ### on serialization, the table will be output on a new line.
10012 ### For now, we are blacklisting them, and using this to test selser.
10016 1. Table tag in SOL posn. should get reparsed correctly with valid TSR
10018 parsoid=wt2html,wt2wt
10020 {{echo|}}{| width = '100%'
10024 <span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":""}},"i":0}}]}'></span><table width="100%">
10025 <tbody><tr><td>foo</td></tr>
10030 2. Table tag in SOL posn. should get reparsed correctly with valid TSR
10032 parsoid=wt2html,wt2wt
10034 <includeonly>a</includeonly>{| {{{b}}}
10038 <meta typeof="mw:Includes/IncludeOnly"/><meta typeof="mw:Includes/IncludeOnly/End"/><table about="#mwt2" typeof="mw:ExpandedAttrs" data-mw='{"attribs":[[{"txt":"{{{b}}}","html":"<span about=\"#mwt1\" typeof=\"mw:Param\" data-parsoid=\"{&quot;dsr&quot;:[31,38,null,null],&quot;src&quot;:&quot;{{{b}}}&quot;}\">{{{b}}}</span>"},{"html":""}]]}' data-parsoid='{"a":{"{{{b}}}":null},"sa":{"{{{b}}}":""}}'>
10039 <tbody><tr><td>c</td></tr>
10045 ### Testing parsing of templates where a template arg
10046 ### has the same name as the template itself.
10052 {{{quote|{{{1}}}}}}
10056 Templates: Template Name/Arg clash: 1. Use of positional param
10065 Templates: Template Name/Arg clash: 2. Use of named param
10067 {{quote|quote=foo}}
10074 Templates: Template Name/Arg clash: 3. Use of named param with empty input
10083 ### Parsoid-centric tests to stress Parsoid's ability to RT them unchanged
10087 Templates: 1. Simple use
10096 Templates: 2. Inside a block tag
10098 <div>{{echo|Foo}}</div>
10099 <blockquote>{{echo|Foo}}</blockquote>
10102 <blockquote>Foo</blockquote>
10112 Templates: P-wrapping: 1a. Templates on consecutive lines
10123 Templates: P-wrapping: 1b. Templates on consecutive lines
10137 Templates: P-wrapping: 1c. Templates on consecutive lines
10140 {{echo|bar}} <div>baz</div>
10153 Templates: P-wrapping: 1d. Template preceded by comment-only line
10162 <p about="#mwt223" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Bar"}},"i":0}}]}'>Bar</p>
10166 Templates: Inline Text: 1. Multiple template uses
10168 {{echo|Foo}}bar{{echo|baz}}
10175 Templates: Inline Text: 2. Back-to-back template uses
10177 {{echo|Foo}}{{echo|bar}}
10184 Templates: Block Tags: 1. Multiple template uses
10186 {{echo|<div>Foo</div>}}<div>bar</div>{{echo|<div>baz</div>}}
10188 <div>Foo</div><div>bar</div><div>baz</div>
10193 Templates: Block Tags: 2. Back-to-back template uses
10195 {{echo|<div>Foo</div>}}{{echo|<div>bar</div>}}
10197 <div>Foo</div><div>bar</div>
10201 # This is an edge case relating to paragraph wrapping.
10203 Templates: Correctly encapsulate templates producing </p> tag without a corresponding <p> tag
10208 <p about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\nb</p>"}},"i":0}}]}'>a
10213 Templates: Links: 1. Simple example
10215 {{echo|[[Foo|bar]]}}
10217 <p><a href="/wiki/Foo" title="Foo">bar</a>
10222 Templates: Links: 2. Generation of link href
10224 [[{{echo|Foo}}|bar]]
10226 <p><a href="/wiki/Foo" title="Foo">bar</a>
10231 Templates: Links: 3. Generation of part of a link href
10233 [[Fo{{echo|o}}|bar]]
10235 [[Foo{{echo|bar}}]]
10237 [[Foo{{echo|bar}}baz]]
10239 [[Foo{{echo|bar}}|bar]]
10241 [[:Foo{{echo|bar}}]]
10243 [[:Foo{{echo|bar}}|bar]]
10245 <p><a href="/wiki/Foo" title="Foo">bar</a>
10246 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
10247 </p><p><a href="/index.php?title=Foobarbaz&action=edit&redlink=1" class="new" title="Foobarbaz (page does not exist)">Foobarbaz</a>
10248 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">bar</a>
10249 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
10250 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">bar</a>
10255 Templates: Links: 4. Multiple templates generating link href
10257 [[{{echo|F}}{{echo|o}}ob{{echo|ar}}]]
10259 <p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
10264 Templates: Links: 5. Generation of link text
10266 [[Foo|{{echo|bar}}]]
10268 <p><a href="/wiki/Foo" title="Foo">bar</a>
10273 Templates: Links: 5. Nested templates (only outermost template should be marked)
10275 {{echo|[[{{echo|Foo}}|bar]]}}
10277 <p><a href="/wiki/Foo" title="Foo">bar</a>
10282 Templates: HTML Tag: 1. Generation of HTML attr. key
10284 <div {{echo|style}}="color:red;">foo</div>
10286 <div style="color:red;">foo</div>
10291 Templates: HTML Tag: 2. Generation of HTML attr. value
10293 <div style={{echo|'color:red;'}}>foo</div>
10295 <div style="color:red;">foo</div>
10300 Templates: HTML Tag: 3. Generation of HTML attr key and value
10302 <div {{echo|style}}={{echo|'color:red;'}}>foo</div>
10304 <div style="color:red;">foo</div>
10309 Templates: HTML Tag: 4. Generation of starting piece of HTML attr value
10311 <div title="{{echo|This is a long title}} with just one piece templated">foo</div>
10313 <div title="This is a long title with just one piece templated">foo</div>
10318 Templates: HTML Tag: 5. Generation of middle piece of HTML attr value
10320 <div title="This is a long title with just {{echo|one piece}} templated">foo</div>
10322 <div title="This is a long title with just one piece templated">foo</div>
10327 Templates: HTML Tag: 6. Generation of end piece of HTML attr value
10329 <div title="This is a long title with just one piece {{echo|templated}}">foo</div>
10331 <div title="This is a long title with just one piece templated">foo</div>
10335 # SSS FIXME: While it is great we added support for all this,
10336 # do we want to make this part of the spec? Maybe we want to
10337 # deprecate this kind of usage in the future?
10339 Templates: HTML Tag: 7. Generation of partial attribute key string
10341 <div st{{echo|yle}}="color:red;">foo</div>
10343 <div style="color:red;">foo</div>
10348 Templates: HTML Tag: 8. Template-generated attribute (k=v)
10350 <div {{echo|1=id="v1"}}>bar</div>
10352 <div id="v1">bar</div>
10357 Templates: HTML Tag: 9. Multiple template-generated attributes
10359 <div {{echo|1=id="v1" title="foo"}}>bar</div>
10361 <div id="v1" title="foo">bar</div>
10366 Templates: Support for templates generating attributes and content
10368 {| {{mixed_attr_content_template}}
10373 <table style="color:red;" title="T48811">
10383 <table style="color:red;" title="T48811" about="#mwt1" typeof="mw:Transclusion mw:ExpandedAttrs" data-mw='{"parts":["{| ",{"template":{"target":{"wt":"mixed_attr_content_template","href":"./Template:Mixed_attr_content_template"},"params":{},"i":0}},"\n|-\n|bar\n|}"]}'>
10392 Templates: HTML Tables: 1. Generating start of a HTML table
10394 {{echo|<table><tr><td>foo</td>}}</tr></table>
10396 <table><tr><td>foo</td></tr></table>
10401 Templates: HTML Tables: 2a. Generating middle of a HTML table
10403 <table><tr>{{echo|<td>foo</td>}}</tr></table>
10405 <table><tr><td>foo</td></tr></table>
10410 Templates: HTML Tables: 2b. Generating middle of a HTML table
10412 <table>{{echo|<tr><td>foo</td></tr>}}</table>
10414 <table><tr><td>foo</td></tr></table>
10419 Templates: HTML Tables: 3. Generating end of a HTML table
10421 <table><tr>{{echo|<td>foo</td></tr></table>}}
10423 <table><tr><td>foo</td></tr></table>
10428 Templates: HTML Tables: 4a. Generating a single tag of a HTML table
10430 {{echo|<table>}}<tr><td>foo</td></tr></table>
10432 <table><tr><td>foo</td></tr></table>
10437 Templates: HTML Tables: 4b. Generating a single tag of a HTML table
10439 <table>{{echo|<tr>}}<td>foo</td></tr></table>
10441 <table><tr><td>foo</td></tr></table>
10446 Templates: HTML Tables: 4c. Generating a single tag of a HTML table
10448 <table><tr>{{echo|<td>}}foo</td></tr></table>
10450 <table><tr><td>foo</td></tr></table>
10455 Templates: HTML Tables: 4d. Generating a single tag of a HTML table
10457 <table><tr><td>foo{{echo|</td>}}</tr></table>
10459 <table><tr><td>foo</td></tr></table>
10464 Templates: HTML Tables: 4e. Generating a single tag of a HTML table
10466 <table><tr><td>foo</td>{{echo|</tr>}}</table>
10468 <table><tr><td>foo</td></tr></table>
10473 Templates: HTML Tables: 4f. Generating a single tag of a HTML table
10475 <table><tr><td>foo</td></tr>{{echo|</table>}}
10477 <table><tr><td>foo</td></tr></table>
10482 Templates: HTML Tables: 5. Proper fostering of categories from inside
10484 parsoid=wt2html,wt2wt
10486 <table>[[Category:foo1]]<tr><td>foo</td></tr></table>
10487 <!--Two categories (Bug 50330)-->
10488 <table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>
10490 <link rel="mw:PageProp/Category" href="./Category:Foo1"><table><tbody><tr><td>foo</td></tr></tbody></table>
10491 <!--Two categories (Bug 50330)-->
10492 <link rel="mw:PageProp/Category" href="./Category:Bar1"><link rel="mw:PageProp/Category" href="./Category:Bar2"><table><tbody><tr><td>foo</td></tr></tbody></table>
10496 Templates: Wiki Tables: 1a. Fostering of entire template content
10504 <tr><td></td></tr></table>
10516 Templates: Wiki Tables: 1b. Fostering of entire template content
10529 <tr><td></td></tr></table>
10543 Templates: Wiki Tables: 2. Fostering of partial template content
10553 <tr><td></td></tr></table>
10566 Templates: Wiki Tables: 3. td-content via multiple templates
10569 {{echo|{{pipe}}a}}{{echo|b}}
10580 Templates: Wiki Tables: 4. Templated tags, no content
10586 <tr><td></td></tr></table>
10591 Templates: Wiki Tables: 5. Templated tags, regular td-tags
10605 Templates: Wiki Tables: 6. Templated tags, templated td-tags
10619 Templates: Lists: Multi-line list-items via templates
10621 *{{echo|a {{nonexistent|
10623 *{{echo|b {{nonexistent|
10626 <ul><li>a <a href="/index.php?title=Template:Nonexistent&action=edit&redlink=1" class="new" title="Template:Nonexistent (page does not exist)">Template:Nonexistent</a></li>
10627 <li>b <a href="/index.php?title=Template:Nonexistent&action=edit&redlink=1" class="new" title="Template:Nonexistent (page does not exist)">Template:Nonexistent</a></li></ul>
10632 Templates: Ugly nesting: 1. Quotes opened/closed across templates (echo)
10634 {{echo|''a}}{{echo|b''c''d}}{{echo|''e}}
10636 <p><i>ab</i>c<i>d</i>e
10641 Templates: Ugly nesting: 2. Quotes opened/closed across templates (echo_with_span)
10642 (PHP parser generates misnested html)
10644 {{echo_with_span|''a}}{{echo_with_span|b''c''d}}{{echo_with_span|''e}}
10646 <p><span about="#mwt1" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo_with_span","href":"./Template:Echo_with_span"},"params":{"1":{"wt":"''a"}},"i":0}}]}"><i>a</i></span><i about="#mwt2" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo_with_span","href":"./Template:Echo_with_span"},"params":{"1":{"wt":"b''c''d"}},"i":0}},{"template":{"target":{"wt":"echo_with_span","href":"./Template:Echo_with_span"},"params":{"1":{"wt":"''e"}},"i":1}}]}"><span>b</span></i><span about="#mwt2">c</span><i about="#mwt2">d<span></span></i><span about="#mwt2">e</span></p>
10650 Templates: Ugly nesting: 3. Quotes opened/closed across templates (echo_with_div)
10651 (PHP parser generates misnested html; Parsoid html2wt mode adds newlines between {{echo}}s)
10653 parsoid=wt2html,wt2wt
10655 {{echo_with_div|''a}}{{echo_with_div|b''c''d}}{{echo_with_div|''e}}
10657 <div about="#mwt1" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo_with_div","href":"./Template:Echo_with_div"},"params":{"1":{"wt":"''a"}},"i":0}}]}"><i>a</i></div>
10658 <div about="#mwt2" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo_with_div","href":"./Template:Echo_with_div"},"params":{"1":{"wt":"b''c''d"}},"i":0}}]}"><i>b</i>c<i>d</i></div>
10659 <div about="#mwt3" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo_with_div","href":"./Template:Echo_with_div"},"params":{"1":{"wt":"''e"}},"i":0}}]}">e</div>
10663 Templates: Ugly nesting: 4. Divs opened/closed across templates
10665 a<div>b{{echo|c</div>d}}e
10676 Templates: Ugly templates: 1. Navbox template parses badly leading to table misnesting
10682 |{{echo|foo</table>}}
10686 <table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["{|\n|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</table>"}},"i":0}},"\n|bar\n|}"]}'>
10690 <td>foo</td></tr></tbody></table><span about="#mwt1">
10691 </span><span about="#mwt1">|bar</span><span about="#mwt1">
10696 Templates: Ugly templates: 2. Navbox template parses badly leading to table misnesting
10706 <td>1. {{echo|foo </table>}}</td>
10708 <td>2. {{echo|baz </table>}}</td>
10721 <table about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["<table>\n <tr>\n <td>\n <table>\n <tr>\n <td>1. ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo </table>"}},"i":0}},"</td>\n <td> bar </td>\n <td>2. ",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"baz </table>"}},"i":1}},"</td>\n </tr>\n <tr>\n <td>abc</td>\n </tr>\n </table>\n </td>\n </tr>\n <tr>\n <td>xyz</td>\n </tr>\n</table>"]}'>
10726 <td>1. foo </td></tr></tbody></table></td>
10728 <td>2. baz </td></tr></tbody></table><span about="#mwt2">
10729 </span><span about="#mwt2">
10730 </span><span about="#mwt2">
10731 </span><span about="#mwt2">abc</span><span about="#mwt2">
10732 </span><span about="#mwt2">
10733 </span><span about="#mwt2">
10734 </span><span about="#mwt2">
10735 </span><span about="#mwt2">
10736 </span><span about="#mwt2">
10737 </span><span about="#mwt2">xyz</span><span about="#mwt2">
10738 </span><span about="#mwt2">
10743 Templates: Ugly templates: 3. newline-only template parameter
10752 # This looks like a bug: a single newline triggers p/br for some reason.
10754 Templates: Ugly templates: 4. newline-only template parameter inconsistency
10763 # Bug 64017 -- ugly wikitext with fostered content generates two template ranges that
10764 # have a true overlap (T1-start - T2-start - T1-end - T2-end).
10766 Templates: Ugly templates: 5. Template encapsulation test: Non-trivial overlap of template ranges is properly handled
10772 <div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<div>foo"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"</table>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}]]}'>foo
10773 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
10777 # Bug 64017 -- ugly wikitext with fostered content generates two template ranges
10778 # that are "identical" and generate nesting cycles in the algorithm
10780 Templates: Ugly templates: 6. Template encapsulation test: Cyclical nesting of template ranges is properly handled
10782 {{echo|<table><tr><td><table>}}
10786 <table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<table><tr><td><table>"}},"i":0}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<div>"}},"i":1}},"\n",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"</div>"}},"i":2}}]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}],[{"k":"1","spc":["","","",""]}]]}'><tbody><tr data-parsoid='{"stx":"html"}'><td data-parsoid='{"stx":"html"}'><div data-parsoid='{"stx":"html"}'>
10787 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
10788 </table></td></tr></tbody></table>
10792 Parser Functions: 1. Simple example
10801 Parser Functions: 2. Nested use (only outermost should be marked up)
10810 ### Pre-save transform tests
10813 pre-save transform: subst:
10819 This is a test template
10823 pre-save transform: normal template
10833 pre-save transform: nonexistent template
10837 {{thistemplatedoesnotexist}}
10839 {{thistemplatedoesnotexist}}
10844 pre-save transform: subst magic variables
10853 # This is bug 89, which I fixed. -- wtm
10855 pre-save transform: subst: templates with parameters
10859 {{subst:paramtest|param="something else"}}
10861 This is a test template with parameter "something else"
10865 Template:nowikitest
10867 <nowiki>'''not wiki'''</nowiki>
10871 pre-save transform: nowiki in subst (bug 1188)
10875 {{subst:nowikitest}}
10877 <nowiki>'''not wiki'''</nowiki>
10882 Template:commenttest
10884 This template has <!-- a comment --> in it.
10888 pre-save transform: comment in subst (bug 1936)
10892 {{subst:commenttest}}
10894 This template has <!-- a comment --> in it.
10898 pre-save transform: unclosed tag
10902 <nowiki>'''not wiki'''
10904 <nowiki>'''not wiki'''
10908 pre-save transform: mixed tag case
10912 <NOwiki>'''not wiki'''</noWIKI>
10914 <NOwiki>'''not wiki'''</noWIKI>
10918 pre-save transform: unclosed comment in <nowiki>
10922 wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
10924 wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
10927 # Leading @ in this template definition works around a limitation
10928 # in parsoid's parserTests which otherwise strips the <span> from the
10929 # result (confusing it for a template wrapper)
10933 @<span onmouseover="alert('crap')">Oh no</span>
10937 (confirming safety of fix for subst bug 1936)
10939 {{Template:dangerous}}
10941 <p>@<span>Oh no</span>
10946 pre-save transform: comment containing gallery (bug 5024)
10950 <!-- <gallery>data</gallery> -->
10952 <!-- <gallery>data</gallery> -->
10956 pre-save transform: comment containing extension
10960 <!-- <tag>data</tag> -->
10962 <!-- <tag>data</tag> -->
10966 pre-save transform: comment containing nowiki
10970 <!-- <nowiki>data</nowiki> -->
10972 <!-- <nowiki>data</nowiki> -->
10976 pre-save transform: <noinclude> in subst (bug 3298)
10986 pre-save transform: <onlyinclude> in subst (bug 3298)
10990 {{subst:Includes2}}
10998 {{<includeonly>subst:</includeonly>Includes}}
11002 Template:SafeSubstTest
11004 {{<includeonly>safesubst:</includeonly>Includes}}
11008 bug 22297: safesubst: works during PST
11012 {{subst:SafeSubstTest}}{{safesubst:SubstTest}}
11018 bug 22297: safesubst: works during normal parse
11027 subst: does not work during normal parse
11031 <p>{{subst:Includes}}
11036 pre-save transform: context links ("pipe trick")
11040 [[Article (context)|]]
11043 [[Bar:Article (context)|]]
11044 [[:Bar:Article (context)|]]
11046 [[|Article (context)]]
11050 [[Article (context)|Article]]
11051 [[Bar:Article|Article]]
11052 [[:Bar:Article|Article]]
11053 [[Bar:Article (context)|Article]]
11054 [[:Bar:Article (context)|Article]]
11056 [[Article (context)]]
11057 [[Bar:X (Y) Z|X (Y) Z]]
11058 [[:Bar:X (Y) Z|X (Y) Z]]
11062 pre-save transform: context links ("pipe trick") with interwiki prefix
11066 [[interwiki:Article|]]
11067 [[:interwiki:Article|]]
11068 [[interwiki:Bar:Article|]]
11069 [[:interwiki:Bar:Article|]]
11071 [[interwiki:Article|Article]]
11072 [[:interwiki:Article|Article]]
11073 [[interwiki:Bar:Article|Bar:Article]]
11074 [[:interwiki:Bar:Article|Bar:Article]]
11078 pre-save transform: context links ("pipe trick") with parens in title
11080 pst title=[[Somearticle (context)]]
11084 [[Article (context)|Article]]
11088 pre-save transform: context links ("pipe trick") with comma in title
11090 pst title=[[Someplace, Somewhere]]
11093 [[Otherplace, Elsewhere|]]
11094 [[Otherplace, Elsewhere, Anywhere|]]
11096 [[Otherplace, Somewhere|Otherplace]]
11097 [[Otherplace, Elsewhere|Otherplace]]
11098 [[Otherplace, Elsewhere, Anywhere|Otherplace]]
11102 pre-save transform: context links ("pipe trick") with parens and comma
11104 pst title=[[Someplace (IGNORED), Somewhere]]
11107 [[Otherplace (place), Elsewhere|]]
11109 [[Otherplace, Somewhere|Otherplace]]
11110 [[Otherplace (place), Elsewhere|Otherplace]]
11114 pre-save transform: context links ("pipe trick") with comma and parens
11116 pst title=[[Who, me? (context)]]
11119 [[Me, Myself, and I (1937 song)|]]
11121 [[Yes, you. (context)|Yes, you.]]
11122 [[Me, Myself, and I (1937 song)|Me, Myself, and I]]
11126 pre-save transform: context links ("pipe trick") with namespace
11128 pst title=[[Ns:Somearticle]]
11132 [[Ns:Article|Article]]
11136 pre-save transform: context links ("pipe trick") with namespace and parens
11138 pst title=[[Ns:Somearticle (context)]]
11142 [[Ns:Article (context)|Article]]
11146 pre-save transform: context links ("pipe trick") with namespace and comma
11148 pst title=[[Ns:Somearticle, Context, Whatever]]
11152 [[Ns:Article, Context, Whatever|Article]]
11156 pre-save transform: context links ("pipe trick") with namespace, comma and parens
11158 pst title=[[Ns:Somearticle, Context (context)]]
11162 [[Ns:Article (context)|Article]]
11166 pre-save transform: context links ("pipe trick") with namespace, parens and comma
11168 pst title=[[Ns:Somearticle (IGNORED), Context]]
11172 [[Ns:Article, Context|Article]]
11176 pre-save transform: context links ("pipe trick") with full-width parens and no space (Japanese and Chinese style, bug 30149)
11180 [[Article(context)|]]
11181 [[Bar:Article(context)|]]
11182 [[:Bar:Article(context)|]]
11183 [[|Article(context)]]
11187 [[Article(context)|Article]]
11188 [[Bar:Article(context)|Article]]
11189 [[:Bar:Article(context)|Article]]
11190 [[Article(context)]]
11191 [[Bar:X(Y)Z|X(Y)Z]]
11192 [[:Bar:X(Y)Z|X(Y)Z]]
11196 pre-save transform: context links ("pipe trick") with full-width parens and space (Japanese and Chinese style, bug 30149)
11200 [[Article (context)|]]
11201 [[Bar:Article (context)|]]
11202 [[:Bar:Article (context)|]]
11203 [[|Article (context)]]
11207 [[Article (context)|Article]]
11208 [[Bar:Article (context)|Article]]
11209 [[:Bar:Article (context)|Article]]
11210 [[Article (context)]]
11211 [[Bar:X (Y) Z|X (Y) Z]]
11212 [[:Bar:X (Y) Z|X (Y) Z]]
11216 pre-save transform: context links ("pipe trick") with parens and no space (Korean style, bug 30149)
11220 [[Article(context)|]]
11221 [[Bar:Article(context)|]]
11222 [[:Bar:Article(context)|]]
11223 [[|Article(context)]]
11227 [[Article(context)|Article]]
11228 [[Bar:Article(context)|Article]]
11229 [[:Bar:Article(context)|Article]]
11230 [[Article(context)]]
11231 [[Bar:X(Y)Z|X(Y)Z]]
11232 [[:Bar:X(Y)Z|X(Y)Z]]
11236 pre-save transform: context links ("pipe trick") with commas (bug 21660)
11240 [[Article (context), context|]]
11241 [[Article (context),context|]]
11242 [[Bar:Article (context), context|]]
11243 [[Bar:Article (context),context|]]
11244 [[:Bar:Article (context), context|]]
11245 [[:Bar:Article (context),context|]]
11247 [[Article (context), context|Article]]
11248 [[Article (context),context|Article]]
11249 [[Bar:Article (context), context|Article]]
11250 [[Bar:Article (context),context|Article]]
11251 [[:Bar:Article (context), context|Article]]
11252 [[:Bar:Article (context),context|Article]]
11256 pre-save transform: trim trailing empty lines
11260 Empty lines are trimmed
11266 Empty lines are trimmed
11270 pre-save transform: Signature expansion
11275 * <noinclude>~~~</noinclude>
11276 * <includeonly>~~~</includeonly>
11277 * <onlyinclude>~~~</onlyinclude>
11279 * [[Special:Contributions/127.0.0.1|127.0.0.1]]
11280 * <noinclude>[[Special:Contributions/127.0.0.1|127.0.0.1]]</noinclude>
11281 * <includeonly>[[Special:Contributions/127.0.0.1|127.0.0.1]]</includeonly>
11282 * <onlyinclude>[[Special:Contributions/127.0.0.1|127.0.0.1]]</onlyinclude>
11287 pre-save transform: Signature expansion in nowiki tags (bug 93)
11293 <nowiki>~~~~</nowiki>
11295 <includeonly><nowiki>~~~~</nowiki></includeonly>
11297 <noinclude><nowiki>~~~~</nowiki></noinclude>
11299 <onlyinclude><nowiki>~~~~</nowiki></onlyinclude>
11301 {{subst:Foo}} shall be converted to FOO
11303 As well as inside noinclude/onlyinclude
11304 <noinclude>{{subst:Foo}}</noinclude>
11305 <onlyinclude>{{subst:Foo}}</onlyinclude>
11307 But not inside includeonly
11308 <includeonly>{{subst:Foo}}</includeonly>
11312 <nowiki>~~~~</nowiki>
11314 <includeonly><nowiki>~~~~</nowiki></includeonly>
11316 <noinclude><nowiki>~~~~</nowiki></noinclude>
11318 <onlyinclude><nowiki>~~~~</nowiki></onlyinclude>
11320 FOO shall be converted to FOO
11322 As well as inside noinclude/onlyinclude
11323 <noinclude>FOO</noinclude>
11324 <onlyinclude>FOO</onlyinclude>
11326 But not inside includeonly
11327 <includeonly>{{subst:Foo}}</includeonly>
11331 Parsoid: Recognize nowiki with trailing space in tags
11335 <nowiki ><div>[[foo]]</nowiki >
11343 <p><span typeof="mw:Nowiki"><div>[[foo]]</span></p>
11350 Parsoid: Recognize nowiki with odd capitalization
11354 <noWikI ><div>[[foo]]</Nowiki >
11356 <p><span typeof="mw:Nowiki"><div>[[foo]]</span></p>
11361 Parsoid: Escape nowiki with trailing space in tags
11365 <p><nowiki > foo </nowiki ></p>
11366 <p>a<nowiki />b</p>
11367 <p>c<nowiki/ >d</p>
11369 <nowiki > foo </nowiki >
11377 Parsoid: Escape weird noWikI capitalizations
11381 <p><noWikI > foo </NoWikI ></p>
11383 <noWikI > foo </NoWikI >
11387 ### Message transform tests
11390 message transform: magic variables
11400 message transform: should not transform wiki markup
11410 message transform: <noinclude> in transcluded template (bug 4926)
11420 message transform: <onlyinclude> in transcluded template (bug 4926)
11430 {{#special:}} page name, known
11434 {{#special:Recentchanges}}
11436 Special:RecentChanges
11440 {{#special:}} page name with subpage, known
11444 {{#special:Recentchanges/param}}
11446 Special:RecentChanges/param
11450 {{#special:}} page name, unknown
11454 {{#special:foobar nonexistent}}
11456 Special:Foobar nonexistent
11460 {{#speciale:}} page name, known
11464 {{#speciale:Recentchanges}}
11466 Special:RecentChanges
11470 {{#speciale:}} page name with subpage, known
11474 {{#speciale:Recentchanges/param}}
11476 Special:RecentChanges/param
11480 {{#speciale:}} page name, unknown
11484 {{#speciale:foobar nonexistent}}
11486 Special:Foobar_nonexistent
11492 ### For Parsoid-specific tests, see
11493 #### https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
11498 parsoid=wt2html,wt2wt,html2html
11500 [[Image:foobar.jpg]]
11502 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11505 <p><span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11509 Simple image (using File: namespace, now canonical)
11511 [[File:Foobar.jpg]]
11513 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11516 <p><span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11520 Right-aligned image
11522 [[File:Foobar.jpg|right]]
11524 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11527 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></figure>
11533 [[File:Foobar.jpg|right|Caption text]]
11535 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11538 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
11542 Image with caption, bug 53312 #1
11544 [[File:Foobar.jpg|right|Caption page stuff]]
11546 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption page stuff"><img alt="Caption page stuff" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11549 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption page stuff</figcaption></figure>
11553 Image with caption, bug 53312 #2
11555 [[File:Foobar.jpg|right|Caption page=]]
11557 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption page="><img alt="Caption page=" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11560 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption page=</figcaption></figure>
11564 Image with caption, bug 53312 #3
11566 [[File:Foobar.jpg|right|Caption page=stuff]]
11568 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption page=stuff"><img alt="Caption page=stuff" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11571 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption page=stuff</figcaption></figure>
11575 Allow empty links in image captions (Bug 60753)
11579 [[File:Foobar.jpg|thumb|Caption [[Link1]]
11584 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Caption <a href="/index.php?title=Link1&action=edit&redlink=1" class="new" title="Link1 (page does not exist)">Link1</a> [[]] <a href="/index.php?title=Link2&action=edit&redlink=1" class="new" title="Link2 (page does not exist)">Link2</a></div></div></div>
11587 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"Caption [[Link1]]\n[[]]\n[[Link2]]\n"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>Caption <a rel="mw:WikiLink" href="./Link1" title="Link1" data-parsoid='{"stx":"simple","a":{"href":"./Link1"},"sa":{"href":"Link1"}}'>Link1</a>
11589 <a rel="mw:WikiLink" href="./Link2" title="Link2" data-parsoid='{"stx":"simple","a":{"href":"./Link2"},"sa":{"href":"Link2"}}'>Link2</a>
11590 </figcaption></figure>
11594 Titles in unlinked images (T23454)
11596 [[File:Foobar.jpg|link=|stuff]]
11598 <p><img alt="stuff" src="http://example.com/images/3/3a/Foobar.jpg" title="stuff" width="1941" height="220" />
11603 Link with empty target
11612 Image with link trail
11614 Linktrails should not work for images: [[File:Foobar.jpg]]s
11616 <p>Linktrails should not work for images: <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>s
11619 <p>Linktrails should not work for images: <span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span>s</p>
11623 Image with empty attribute
11625 parsoid=wt2html,wt2wt,html2html
11627 [[File:Foobar.jpg|right||Caption text]]
11629 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11632 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
11636 1. Block image with individual attributes from templates
11638 [[File:Foobar.jpg|thumb|{{echo|137px}}|This is a caption]]
11640 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
11643 <figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[24,38,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;137px&quot;}},&quot;i&quot;:0}}]}\">137px</span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
11647 2. Block Image with individual attributes from templates
11649 [[File:Foobar.jpg|{{echo|thumb}}|{{echo|137px}}|This is a caption]]
11651 <div class="thumb tright"><div class="thumbinner" style="width:139px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" width="137" height="16" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption</div></div></div>
11654 <figure typeof="mw:Image/Thumb mw:ExpandedAttrs" about="#mwt3" data-mw='{"attribs":[["thumbnail",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[18,32,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;thumb&quot;}},&quot;i&quot;:0}}]}\">thumb</span>"}],["width",{"html":"<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[33,47,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;137px&quot;}},&quot;i&quot;:0}}]}\">137px</span>"}]]}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
11658 3. Inline image with individual attributes from templates
11660 [[File:Foobar.jpg|{{echo|50px}}]]
11662 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>
11665 <p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}' data-mw='{"attribs":[["width",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[18,31,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;50px&quot;}},&quot;i&quot;:0}}]}\">50px</span>"}]]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50"/></a></span></p>
11668 ## Parsoid does not provide editing support for images where templates produce multiple image attributes.
11669 ## To signal this, we add a 'mw:Placeholder' type to such images. This could change in the future.
11671 Image with multiple attributes from the same template
11673 [[File:Foobar.jpg|{{image_attribs}}]]
11675 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption text"><img alt="Caption text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11678 <figure class="mw-default-size mw-halign-right" typeof="mw:Image mw:Placeholder"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption text</figcaption></figure>
11682 Image with link tails
11686 123[[File:Foobar.jpg]]456
11687 123[[File:Foobar.jpg|right]]456
11688 123[[File:Foobar.jpg|thumb]]456
11690 <p>123<a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>456
11692 123<div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>456
11693 123<div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div>456
11696 <p>123<a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>456</p>
11698 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11700 <div class="thumb tright">
11701 <div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
11702 <div class="thumbcaption">
11703 <div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>
11709 <p>123<span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span>456</p>
11710 <p>123</p><figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></figure><p>456</p>
11711 <p>123</p><figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="25" width="220"></a></figure><p>456</p>
11715 Image with multiple captions -- only last one is accepted
11717 [[File:Foobar.jpg|right|Caption1 - ignored|[[Caption2]] - ignored|Caption3 - accepted]]
11719 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption3 - accepted"><img alt="Caption3 - accepted" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
11722 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Caption3 - accepted</figcaption></figure>
11726 Image with multiple widths -- use last
11728 [[File:Foobar.jpg|200px|300px|caption]]
11730 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" width="300" height="34" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/450px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/600px-Foobar.jpg 2x" /></a>
11733 <p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="34" width="300"/></a></span></p>
11737 Image with multiple alignments -- use first (bug 48664)
11741 [[File:Foobar.jpg|thumb|left|right|center|caption]]
11743 [[File:Foobar.jpg|middle|text-top|caption]]
11745 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
11746 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" style="vertical-align: middle" /></a>
11749 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
11750 <p><span class="mw-default-size mw-valign-middle" typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
11754 Image with width attribute at different positions
11756 [[File:Foobar.jpg|200px|right|Caption]]
11757 [[File:Foobar.jpg|right|200px|Caption]]
11758 [[File:Foobar.jpg|right|Caption|200px]]
11760 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
11761 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
11762 <div class="floatright"><a href="/wiki/File:Foobar.jpg" class="image" title="Caption"><img alt="Caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a></div>
11765 <figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
11766 <figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
11767 <figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>Caption</figcaption></figure>
11770 # a sad bit of backward-compatibility
11772 Image with size specified with pxpx (bug 13500, 51628)
11774 parsoid=wt2html,wt2wt,html2html
11776 [[File:Foobar.jpg|20pxpx]]
11777 [[File:Foobar.jpg|200x20pxpx]]
11779 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" width="20" height="2" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/30px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/40px-Foobar.jpg 2x" /></a>
11780 <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/177px-Foobar.jpg" width="177" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/265px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/353px-Foobar.jpg 2x" /></a>
11783 <p><span typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="2" width="20"/></a></span> <span typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="20" width="177"/></a></span></p>
11787 Image with link parameter, wiki target
11789 [[File:Foobar.jpg|link=Main Page]]
11791 <p><a href="/wiki/Main_Page" title="Main Page"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11794 <p><span class="mw-default-size" typeof="mw:Image"><a href="Main_Page"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11797 # parsoid bug 49293 (part 1)
11799 Image with link parameter, URL target
11801 [[File:Foobar.jpg|link=http://example.com/]]
11803 <p><a href="http://example.com/" rel="nofollow"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11806 <p><span class="mw-default-size" typeof="mw:Image"><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11809 # parsoid bug 49293 (part 2)
11811 Image with link parameter, protocol-less URL target
11813 [[File:Foobar.jpg|link=//example.com/]]
11815 <p><a href="//example.com/" rel="nofollow"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11818 <p><span class="mw-default-size" typeof="mw:Image"><a href="//example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11822 Image with link parameter, wgExternalLinkTarget
11824 [[Image:foobar.jpg|link=http://example.com/]]
11826 wgExternalLinkTarget='foobar'
11828 <p><a href="http://example.com/" target="foobar" rel="nofollow"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11833 Image with link parameter, wgNoFollowLinks set to false
11835 [[Image:foobar.jpg|link=http://example.com/]]
11837 wgNoFollowLinks=false
11839 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11844 Image with link parameter, wgNoFollowDomainExceptions
11846 [[Image:foobar.jpg|link=http://example.com/]]
11848 wgNoFollowDomainExceptions='example.com'
11850 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11855 Image with link parameter, wgExternalLinkTarget, unnamed parameter
11857 [[Image:foobar.jpg|link=http://example.com/|Title]]
11859 wgExternalLinkTarget='foobar'
11861 <p><a href="http://example.com/" title="Title" target="foobar" rel="nofollow"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11866 Image with empty link parameter
11868 [[File:Foobar.jpg|link=]]
11870 <p><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" />
11873 <p><span class="mw-default-size" typeof="mw:Image"><span><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></span></span></p>
11877 Image with link parameter (wiki target) and unnamed parameter
11879 [[File:Foobar.jpg|link=Main_Page|Title]]
11881 <p><a href="/wiki/Main_Page" title="Title"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11884 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"Title"}'><a href="Main_Page"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11888 Image with link parameter (URL target) and unnamed parameter
11890 [[File:Foobar.jpg|link=http://example.com/|Title]]
11892 <p><a href="http://example.com/" title="Title" rel="nofollow"><img alt="Title" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
11895 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"Title"}'><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
11899 Thumbnail image with link parameter
11902 parsoid=wt2html,wt2wt,html2html
11904 [[File:Foobar.jpg|thumb|link=http://example.com/|Title]]
11906 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="http://example.com/"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11909 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="http://example.com/"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>Title</figcaption></figure>
11913 Manually-specified thumbnail image
11917 [[File:Foobar.jpg|thumb=Thumb.png|Title]]
11919 <div class="thumb tright"><div class="thumbinner" style="width:137px;"><a href="/wiki/File:Foobar.jpg"><img alt="" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11922 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-mw='{"thumb":"Thumb.png"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a><figcaption>Title</figcaption></figure>
11926 Manually-specified thumbnail image with explicit link to wiki page
11929 parsoid=wt2html,wt2wt,html2html
11931 [[File:Foobar.jpg|thumb=Thumb.png|link=Main_Page|Title]]
11933 <div class="thumb tright"><div class="thumbinner" style="width:137px;"><a href="/wiki/Main_Page" title="Main Page"><img alt="" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11936 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-mw='{"thumb":"Thumb.png"}'><a href="Main_Page"><img resource="./File:Foobar.jpg" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a><figcaption>Title</figcaption></figure>
11940 Manually-specified thumbnail image with explicit link to url
11943 parsoid=wt2html,wt2wt,html2html
11945 [[File:Foobar.jpg|thumb=Thumb.png|link=http://example.com|Title]]
11947 <div class="thumb tright"><div class="thumbinner" style="width:137px;"><a href="http://example.com"><img alt="" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11950 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-mw='{"thumb":"Thumb.png"}'><a href="http://example.com"><img resource="./File:Foobar.jpg" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a><figcaption>Title</figcaption></figure>
11954 Manually-specified thumbnail image with explicit no link
11957 parsoid=wt2html,wt2wt,html2html
11959 [[File:Foobar.jpg|thumb=Thumb.png|link=|Title]]
11961 <div class="thumb tright"><div class="thumbinner" style="width:137px;"><img alt="" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11964 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-mw='{"thumb":"Thumb.png"}'><span><img resource="./File:Foobar.jpg" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></span><figcaption>Title</figcaption></figure>
11968 Manually-specified thumbnail image with explicit link and alt text
11971 parsoid=wt2html,wt2wt,html2html
11973 [[File:Foobar.jpg|thumb=Thumb.png|link=Main_Page|alt=alttext|Title]]
11975 <div class="thumb tright"><div class="thumbinner" style="width:137px;"><a href="/wiki/Main_Page" title="Main Page"><img alt="alttext" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Title</div></div></div>
11978 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-mw='{"thumb":"Thumb.png"}'><a href="Main_Page"><img alt="alttext" resource="./File:Foobar.jpg" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a><figcaption>Title</figcaption></figure>
11982 Image with frame and link
11984 parsoid=wt2html,wt2wt,html2html
11986 [[File:Foobar.jpg|frame|left|This is a test image [[Main Page]]]]
11988 <div class="thumb tleft"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption">This is a test image <a href="/wiki/Main_Page" title="Main Page">Main Page</a></div></div></div>
11991 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>This is a test image <a rel="mw:WikiLink" href="Main_Page" title="Main Page">Main Page</a></figcaption></figure>
11995 Image with frame and link and explicit alt
11997 parsoid=wt2html,wt2wt,html2html
11999 [[Image:Foobar.jpg|frame|left|This is a test image [[Main Page]]|alt=Altitude]]
12001 <div class="thumb tleft"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Altitude" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption">This is a test image <a href="/wiki/Main_Page" title="Main Page">Main Page</a></div></div></div>
12004 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img alt="Altitude" resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>This is a test image <a rel="mw:WikiLink" href="Main_Page" title="Main Page">Main Page</a></figcaption></figure>
12008 Image with wiki markup in implicit alt
12010 parsoid=wt2html,wt2wt,html2html
12012 [[Image:Foobar.jpg|testing '''bold''' in alt]]
12014 [[Image:Foobar.jpg|alt=testing '''bold''' in alt]]
12016 <p><a href="/wiki/File:Foobar.jpg" class="image" title="testing bold in alt"><img alt="testing bold in alt" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12017 </p><p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="testing bold in alt" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12020 <p><span class="mw-default-size" typeof="mw:Image" data-mw="{"caption":"testing '''bold''' in alt"}"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12021 <p><span class="mw-default-size" typeof="mw:Image"><a href="File:Foobar.jpg"><img alt="testing bold in alt" resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12024 ###################
12025 # Conflicting image format options.
12026 # First option specified should 'win'.
12027 # All three cases in each test should be identical.
12030 Image with 'frameless' first.
12032 parsoid=wt2html,wt2wt,html2html
12034 [[File:Foobar.jpg|frameless|caption]]
12036 [[File:Foobar.jpg|frameless|frame|caption]]
12038 [[File:Foobar.jpg|frameless|thumb|caption]]
12040 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
12041 </p><p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
12042 </p><p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>
12045 <p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a></span></p>
12046 <p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a></span></p>
12047 <p><span class="mw-default-size" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a></span></p>
12051 Image with 'frame' first.
12053 parsoid=wt2html,wt2wt,html2html
12055 [[File:Foobar.jpg|frame|caption]]
12056 [[File:Foobar.jpg|frame|frameless|caption]]
12057 [[File:Foobar.jpg|frame|thumb|caption]]
12059 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption">caption</div></div></div>
12060 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption">caption</div></div></div>
12061 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption">caption</div></div></div>
12064 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>caption</figcaption></figure>
12065 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>caption</figcaption></figure>
12066 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>caption</figcaption></figure>
12070 Image with 'thumb' first.
12072 parsoid=wt2html,wt2wt,html2html
12074 [[File:Foobar.jpg|thumb|caption]]
12075 [[File:Foobar.jpg|thumb|frameless|caption]]
12076 [[File:Foobar.jpg|thumb|frame|caption]]
12078 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12079 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12080 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12083 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12084 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12085 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12088 ###################
12090 # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
12091 # and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
12092 # Foobar has actual size of 1941x220
12093 # 1. Thumbs & frameless always reduce, can't be enlarged unless it's
12094 # a scalable format.
12095 # 2. Framed images always ignore size options; always render at default size.
12096 # 3. "Unspecified format" and border are the only types which can be
12100 Image: "unspecified format" and border enlarge
12102 parsoid=wt2html,wt2wt,html2html
12104 [[File:Foobar.jpg|2000px]]
12106 [[File:Foobar.jpg|border|2000px]]
12108 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="2000" height="227" /></a>
12109 </p><p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="2000" height="227" class="thumbborder" /></a>
12112 <p><span typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="227" width="2000"/></a></span></p>
12113 <p><span class="mw-image-border" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="227" width="2000"/></a></span></p>
12117 Image: "unspecified format" and border reduce
12119 parsoid=wt2html,wt2wt,html2html
12121 [[File:Foobar.jpg|1000px]]
12123 [[File:Foobar.jpg|border|1000px]]
12125 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg" width="1000" height="113" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg 1.5x, http://example.com/images/3/3a/Foobar.jpg 2x" /></a>
12126 </p><p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg" width="1000" height="113" class="thumbborder" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg 1.5x, http://example.com/images/3/3a/Foobar.jpg 2x" /></a>
12129 <p><span typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="113" width="1000"/></a></span></p>
12130 <p><span class="mw-image-border" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="113" width="1000"/></a></span></p>
12134 Image: thumbs reduce
12136 parsoid=wt2html,wt2wt,html2html
12138 [[File:Foobar.jpg|thumb|50px]]
12140 <div class="thumb tright"><div class="thumbinner" style="width:52px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div>
12143 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="6" width="50"/></a></figure>
12147 Image: bitmap thumbs can't be enlarged past original size, but vector can.
12149 parsoid=wt2html,wt2wt,html2html
12151 [[File:Foobar.jpg|thumb|2000px]]
12153 [[File:Foobar.svg|thumb|2000px]]
12155 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div></div></div></div>
12156 <div class="thumb tright"><div class="thumbinner" style="width:2002px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div></div></div></div>
12159 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
12160 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></figure>
12164 Image: frameless can reduce in size
12166 parsoid=wt2html,wt2wt,html2html
12168 [[File:Foobar.jpg|frameless|50px]]
12170 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" width="50" height="6" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg 2x" /></a>
12173 <p><span typeof="mw:Image/Frameless"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="6" width="50"/></a></span></p>
12177 Image: bitmap frameless can't be enlarged past original size, but vector can
12179 parsoid=wt2html,wt2wt,html2html
12181 [[File:Foobar.jpg|frameless|2000px]]
12183 [[File:Foobar.svg|frameless|2000px]]
12185 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12186 </p><p><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>
12189 <p><span typeof="mw:Image/Frameless"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12190 <p><span typeof="mw:Image/Frameless"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></span></p>
12194 Image: framed images are always unscaled.
12196 parsoid=wt2html,wt2wt,html2html
12198 [[File:Foobar.jpg|frame]]
12200 [[File:Foobar.jpg|frame|50px]]
12202 [[File:Foobar.jpg|frame|50x50px]]
12204 [[File:Foobar.jpg|frame|2000px]]
12206 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"></div></div></div>
12207 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"></div></div></div>
12208 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"></div></div></div>
12209 <div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"></div></div></div>
12212 <figure class="mw-default-size" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
12213 <figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
12214 <figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
12215 <figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
12218 ###################
12221 Link to image page- image page normally doesn't exists, hence edit link
12222 Add test with existing image page
12223 #<p><a href="/wiki/File:Test" title="Image:Test">Image:test</a>
12227 <p><a href="/index.php?title=File:Test&action=edit&redlink=1" class="new" title="File:Test (page does not exist)">Image:test</a>
12232 bug 18784 Link to non-existent image page with caption should use caption as link text
12234 [[:Image:test|caption]]
12236 <p><a href="/index.php?title=File:Test&action=edit&redlink=1" class="new" title="File:Test (page does not exist)">caption</a>
12241 Frameless image caption with a free URL
12243 [[File:Foobar.jpg|http://example.com]]
12245 <p><a href="/wiki/File:Foobar.jpg" class="image" title="http://example.com"><img alt="http://example.com" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12248 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"http://example.com"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12252 Thumbnail image caption with a free URL
12256 [[File:Foobar.jpg|thumb|http://example.com]]
12258 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
12261 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
12265 Thumbnail image caption with a free URL and explicit alt
12268 parsoid=wt2html,wt2wt,html2html
12270 [[File:Foobar.jpg|thumb|http://example.com|alt=Alteration]]
12272 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Alteration" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
12275 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img alt="Alteration" resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></figcaption></figure>
12279 SVG thumbnails with no language set
12282 [[File:Foobar.svg|thumb|caption]]
12284 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12287 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
12291 SVG thumbnails with language de
12293 parsoid=wt2html,wt2wt,html2html
12295 [[File:Foobar.svg|thumb|caption|lang=de]]
12297 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=File:Foobar.svg&lang=de" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12300 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" lang="de" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
12304 SVG thumbnails with invalid language code
12306 parsoid=wt2html,wt2wt,html2html
12308 [[File:Foobar.svg|thumb|caption|lang=invalid.language.code]]
12310 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"></a></div>lang=invalid.language.code</div></div></div>
12313 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>lang=invalid.language.code</figcaption></figure>
12317 BUG 1887: A ISBN with a thumbnail
12319 [[File:Foobar.jpg|thumb|ISBN 1235467890]]
12321 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div><a href="/wiki/Special:BookSources/1235467890" class="internal mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
12324 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><a href="Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 1235467890</a></figcaption></figure>
12328 BUG 1887: A RFC with a thumbnail
12330 [[File:Foobar.jpg|thumb|This is RFC 12354]]
12332 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
12335 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is <a href="//tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
12339 BUG 1887: A mailto link with a thumbnail
12341 [[File:Foobar.jpg|thumb|Please mailto:nobody@example.com]]
12343 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
12346 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
12349 # Pending resolution to bug 368
12351 BUG 648: Frameless image caption with a link
12353 [[File:Foobar.jpg|text with a [[link]] in it]]
12355 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12358 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12362 BUG 648: Frameless image caption with a link (suffix)
12364 [[File:Foobar.jpg|text with a [[link]]foo in it]]
12366 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a linkfoo in it"><img alt="text with a linkfoo in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12369 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]]foo in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12373 BUG 648: Frameless image caption with an interwiki link
12375 [[File:Foobar.jpg|text with a [[MeatBall:Link]] in it]]
12377 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a MeatBall:Link in it"><img alt="text with a MeatBall:Link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12380 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12384 BUG 648: Frameless image caption with a piped interwiki link
12386 [[File:Foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
12388 <p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12391 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link|link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12395 Escape HTML special chars in image alt text
12397 [[File:Foobar.jpg|& < > "]]
12399 <p><a href="/wiki/File:Foobar.jpg" class="image" title="& < > ""><img alt="& < > "" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12402 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"& < > \""}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12406 BUG 499: Alt text should have Ӓ, not &1234;
12408 [[File:Foobar.jpg|♀]]
12410 <p><a href="/wiki/File:Foobar.jpg" class="image" title="♀"><img alt="♀" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12413 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"&#9792;"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12417 Broken image caption with link
12419 parsoid=wt2html,wt2wt,html2html
12421 [[Image:Foobar.jpg|thumb|This is a broken caption. But [[Main Page|this]] is just an ordinary link.
12423 <p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a href="/wiki/Main_Page" title="Main Page">this</a> is just an ordinary link.
12426 <p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a rel="mw:WikiLink" href="Main_Page" title="Main Page">this</a> is just an ordinary link.</p>
12430 Image caption containing another image
12432 [[File:Foobar.jpg|thumb|This is a caption with another [[File:Thumb.png|image]] inside it!]]
12434 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is a caption with another <a href="/wiki/File:Thumb.png" class="image" title="image"><img alt="image" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" /></a> inside it!</div></div></div>
12437 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is a caption with another <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"image"}'><a href="File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a></span> inside it!</figcaption></figure>
12441 Image: caption containing a newline
12443 [[File:Foobar.jpg|This
12446 <p><a href="/wiki/File:Foobar.jpg" class="image" title="This *is some text"><img alt="This *is some text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
12449 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"This\n*is some text"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12453 Image: caption containing leading space
12454 (The leading space should not trigger nowiki escaping in wt2wt mode)
12456 [[File:Foobar.jpg|thumb| bar]]
12458 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>bar</div></div></div>
12461 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption> bar</figcaption></figure>
12465 Image: caption containing a table
12467 parsoid=wt2html,wt2wt,html2html
12469 [[Image:Foobar.jpg|thumb|200px|This is an example image thumbnail caption with a table
12475 and some more text.]]
12477 <div class="thumb tright"><div class="thumbinner" style="width:202px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This is an example image thumbnail caption with a table <table> <tr> <th> Foo </th> <th> Bar </th></tr> <tr> <td> Foo1 </td> <td> Bar1 </td></tr></table> and some more text.</div></div></div>
12480 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="23" width="200"/></a><figcaption>This is an example image thumbnail caption with a table
12483 <tr><th>Foo </th><th>Bar</th></tr>
12486 <td>Bar1</td></tr></tbody></table>and some more text.</figcaption></figure>
12490 Bug 3090: External links other than http: in image captions
12492 [[File:Foobar.jpg|thumb|200x200px|This caption has [irc://example.net irc] and [https://example.com Secure] ext links in it.]]
12494 <div class="thumb tright"><div class="thumbinner" style="width:202px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" width="200" height="23" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>This caption has <a rel="nofollow" class="external text" href="irc://example.net">irc</a> and <a rel="nofollow" class="external text" href="https://example.com">Secure</a> ext links in it.</div></div></div>
12497 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="23" width="200"/></a><figcaption>This caption has <a rel="mw:ExtLink" href="irc://example.net">irc</a> and <a rel="mw:ExtLink" href="https://example.com">Secure</a> ext links in it.</figcaption></figure>
12503 parsoid=wt2html,wt2wt,html2html
12505 [[Image:foobar.jpg|a|class=b]]
12507 <p><a href="/wiki/File:Foobar.jpg" class="image" title="a"><img alt="a" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="b" /></a>
12510 <p><span class="mw-default-size b" typeof="mw:Image" data-mw='{"caption":"a"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
12514 Localized image handling (1).
12516 parsoid=wt2html,wt2wt,html2html
12519 [[Archivo:Foobar.jpg|izquierda|enlace=foo|caption]]
12521 <div class="floatleft"><a href="/wiki/Foo" title="caption"><img alt="caption" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
12524 <figure class="mw-default-size mw-halign-left" typeof="mw:Image"><a href="./Foo"><img resource="./Archivo:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a><figcaption>caption</figcaption></figure>
12528 Localized image handling (2).
12531 parsoid=wt2html,wt2wt,html2html
12534 [[Archivo:Foobar.jpg|miniatura|izquierda|enlace=foo|caption]]
12536 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/Foo" title="Foo"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/Archivo:Foobar.jpg" class="internal" title="Aumentar"></a></div>caption</div></div></div>
12539 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="./Foo"><img resource="./Archivo:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12543 "border", "frameless" and "class" attributes on an image.
12546 parsoid=wt2html,wt2wt,html2html
12548 [[File:Foobar.jpg|frameless|border|class=extra|caption]]
12550 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="extra thumbborder" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a>
12553 <p><span class="mw-default-size mw-image-border extra" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}'><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a></span></p>
12556 # Note that 'right' is the default alignment, despite the misspelled 'righ' below
12558 Invalid image attributes (bug 62500)
12561 parsoid=wt2html,wt2wt,html2html
12563 [[File:Foobar.jpg|thumb|float|left|caption]]
12565 [[File:Foobar.jpg|thumb|righ|caption]]
12567 [[File:Foobar.jpg|bogus1|thumb|bogus2|left|bogus3|caption]]
12569 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12570 <div class="thumb tright"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12571 <div class="thumb tleft"><div class="thumbinner" style="width:222px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" width="220" height="25" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>caption</div></div></div>
12574 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12575 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12576 <figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
12582 #REDIRECT [[File:Barfoo.jpg]]
12585 # FIXME: Parsoid should run this test -- but we'd need to teach the
12586 # mockAPI about the redirected Barfoo.jpg image.
12590 [[Image:Barfoo.jpg]]
12592 <p><a href="/wiki/File:Barfoo.jpg" title="File:Barfoo.jpg">File:Barfoo.jpg</a>
12597 Missing image with uploads disabled
12601 [[File:Foobaz.jpg]]
12603 <p><a href="/wiki/File:Foobaz.jpg" title="File:Foobaz.jpg">File:Foobaz.jpg</a>
12606 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}]}'><a href="File:Foobaz.jpg"><img resource="./File:Foobaz.jpg" src="./Special:FilePath/Foobaz.jpg" height="220" width="220"/></a></span></p>
12609 # Parsoid-specific testing for images
12610 # https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
12611 # Currently imperfect due to a flaw in the Parsoid testrunner
12613 # THESE TESTS SHOULD BE MOVED UP and merged with the php-specific
12617 Parsoid-specific image handling - simple image with size and middle alignment
12619 [[File:Foobar.jpg|middle|50px]]
12621 <p><span class="mw-valign-middle" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50"></a></span></p>
12625 Parsoid-specific image handling - simple image with size, middle alignment,
12626 non-standard namespace alias
12628 parsoid=wt2wt,wt2html,html2html
12630 [[Image:Foobar.jpg|middle|50px]]
12632 <p><span class="mw-valign-middle" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50"></a></span></p>
12636 Parsoid-specific image handling - simple image with size and middle alignment
12639 [[File:Foobar.jpg|50px|middle]]
12641 <p><span class="mw-valign-middle" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"50px"},{"ck":"middle","ak":"middle"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
12645 Parsoid-specific image handling - simple image with size and middle alignment
12646 and non-standard namespace name
12648 parsoid=wt2html,wt2wt,html2html
12650 [[Image:Foobar.jpg|50px|middle]]
12652 <p><span class="mw-valign-middle" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50"></a></span></p>
12656 Parsoid-specific image handling - simple image with both sizes, a baseline alignment, and a caption
12658 [[File:Foobar.jpg|500x10px|baseline|caption]]
12660 <p><span class="mw-valign-baseline" typeof="mw:Image" data-mw='{"caption":"caption"}' data-parsoid='{"optList":[{"ck":"width","ak":"500x10px"},{"ck":"baseline","ak":"baseline"},{"ck":"caption","ak":"caption"}],"size":"500x10"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/89px-Foobar.jpg" height="10" width="89" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"10","width":"89"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
12664 Parsoid-specific image handling - simple image with border and size spec
12666 [[File:Foobar.jpg|50px|border|caption]]
12668 <p><span class="mw-image-border" typeof="mw:Image" data-mw='{"caption":"caption"}' data-parsoid='{"optList":[{"ck":"width","ak":"50px"},{"ck":"border","ak":"border"},{"ck":"caption","ak":"caption"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
12672 Parsoid-specific image handling - thumbnail with halign, valign, and caption
12674 [[File:Foobar.jpg|left|baseline|thumb|caption content]]
12676 <figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="25" width="220" /></a><figcaption>caption content</figcaption></figure>
12680 Parsoid-specific image handling - thumbnail with halign, valign, and caption
12683 [[File:Foobar.jpg|thumb|left|baseline|caption content]]
12685 <figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"left","ak":"left"},{"ck":"baseline","ak":"baseline"},{"ck":"caption","ak":"caption content"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="25" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>caption content</figcaption></figure>
12689 Parsoid-specific image handling - thumbnail with specific size, halign, valign, and caption
12691 [[Image:Foobar.jpg|right|middle|thumb|50x50px|caption]]
12693 <figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" /></a><figcaption>caption</figcaption></figure>
12697 Parsoid-specific image handling - thumbnail with specific size, halign,
12698 valign, and caption (existing content)
12700 [[File:Foobar.jpg|thumb|50x50px|right|middle|caption]]
12702 <figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"width","ak":"50x50px"},{"ck":"right","ak":"right"},{"ck":"middle","ak":"middle"},{"ck":"caption","ak":"caption"}],"size":"50x50"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"6","width":"50"},"sa":{"resource":"File:Foobar.jpg"}}'/></a><figcaption>caption</figcaption></figure>
12706 Parsoid-specific image handling - framed image with specific size and caption
12709 parsoid=wt2html,wt2wt,html2html
12711 [[File:Foobar.jpg|frame|500x50px|caption]]
12713 <figure typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941" /></a><figcaption>caption</figcaption></figure>
12717 Parsoid-specific image handling - framed image with specific size, halign, valign, and caption
12720 parsoid=wt2html,wt2wt,html2html
12722 [[File:Foobar.jpg|left|baseline|frame|500x50px|caption]]
12724 <figure class="mw-halign-left mw-valign-baseline" typeof="mw:Image/Frame"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941" /></a><figcaption>caption</figcaption></figure>
12728 Parsoid-specific image handling - frameless image with specific size, border, and caption
12730 [[File:Foobar.jpg|frameless|442x50px|border|caption]]
12732 <p><span class="mw-image-border" typeof="mw:Image/Frameless" data-mw='{"caption":"caption"}' data-parsoid='{"optList":[{"ck":"frameless","ak":"frameless"},{"ck":"width","ak":"442x50px"},{"ck":"border","ak":"border"},{"ck":"caption","ak":"caption"}],"size":"442x50"}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"50","width":"442"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
12736 Parsoid-specific image handling - simple image with a formatted caption
12738 [[File:Foobar.jpg|<table><tr><td>a</td><td>b</td></tr><tr><td>c</td></tr></table>]]
12740 <p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"<table><tr><td>a</td><td>b</td></tr><tr><td>c</td></tr></table>"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a></span></p>
12744 Parsoid-specific image handling - caption with a template in it
12746 [[File:Foobar.jpg|thumb|200x23px|This caption has a {{echo|transclusion}} in it.]]
12748 <figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg" height="23" width="200"></a><figcaption>This caption has a <span about="#mwt1" typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}">transclusion</span> in it.</figcaption></figure>
12752 Parsoid-specific image handling - caption with unbalanced tags in it
12754 parsoid=wt2html,wt2wt,html2html
12757 [[File:Foobar.jpg|thumb|200x200px|This caption has a <center>unbalanced tag in it.]]
12761 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="23" width="200"></a><figcaption>This caption has a <center>unbalanced tag in it.</center></figcaption></figure>
12766 Parsoid-specific image handling - empty caption (1)
12768 parsoid=wt2html,wt2wt
12770 [[File:Foobar.jpg|thumb|]]
12772 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption></figcaption></figure>
12775 # empty captions don't get serialized unless we're in the "round trip" case
12777 Parsoid-specific image handling - empty caption (2)
12781 <figure class="mw-default-size" typeof="mw:Image/Thumb">
12782 <a href="File:Foobar.jpg">
12783 <img resource="./File:Foobar.jpg"
12784 src="//example.com/images/3/3a/Foobar.jpg"
12785 height="25" width="220"/>
12787 <figcaption></figcaption>
12790 [[File:Foobar.jpg|thumb]]
12794 Parsoid-specific image handling - whitespace caption
12796 [[File:Foobar.jpg|thumb| ]]
12798 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption> </figcaption></figure>
12802 Parsoid-specific image handling - lang option
12805 [[File:Foobar.svg|lang=de|caption]]
12809 <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="./File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" lang="de" height="180" width="240"/></a></span>
12818 Subpage test/subpage
12826 subpage title=[[Subpage test]]
12830 <p><a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">/subpage</a>
12835 Subpage noslash link
12837 subpage title=[[Subpage test]]
12841 <p><a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">subpage</a>
12846 Subpage test/1/2/subpage
12852 Relative subpage noslash link
12854 parsoid=wt2wt,wt2html,html2html
12855 subpage title=[[Subpage test/1/2/3/4]]
12861 <p><a href="/wiki/Subpage_test/1/2/subpage" title="Subpage test/1/2/subpage">subpage</a>
12862 </p><p><a href="/wiki/Subpage_test/1/2/subpage" title="Subpage test/1/2/subpage">Subpage test/1/2/subpage</a>
12865 <p><a rel="mw:WikiLink" href="Subpage_test/1/2/subpage" title="Subpage test/1/2/subpage">subpage</a></p>
12866 <p><a rel="mw:WikiLink" href="Subpage_test/1/2/subpage" title="Subpage test/1/2/subpage">Subpage_test/1/2/subpage</a></p>
12870 Parsoid: dot-slash prefixed wikilinks
12880 </p><p>[[././baz/]]
12885 </p><p>[[././baz/]]
12890 Render invalid page names as plain text (bug 51090)
12903 [[{{echo|./../foo}}|bar]]
12904 [[{{echo|foo/.}}|bar]]
12905 [[{{echo|foo/..}}|bar]]
12906 [[{{echo|foo~~~~bar}}]]
12907 [[{{echo|foo>bar}}]]
12908 [[{{echo|foo././bar}}]]
12909 [[{{echo|foo{bar}}]]
12910 [[{{echo|foo}bar}}]]
12911 [[{{echo|foo[bar}}]]
12912 [[{{echo|foo]bar}}]]
12913 [[{{echo|foo<bar}}]]
12915 <p>[[./../foo|bar]]
12925 </p><p>[[./../foo|bar]]
12938 <p>[[./../foo|bar]]
12949 <p>[[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"./../foo"}},"i":0}}]}'>./../foo</span>|bar]]
12950 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo/."}},"i":0}}]}'>foo/.</span>|bar]]
12951 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo/.."}},"i":0}}]}'>foo/..</span>|bar]]
12952 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo~~~~bar"}},"i":0}}]}'>foo~~~~bar</span>]]
12953 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo>bar"}},"i":0}}]}'>foo>bar</span>]]
12954 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo././bar"}},"i":0}}]}'>foo././bar</span>]]
12955 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo{bar"}},"i":0}}]}'>foo{bar</span>]]
12956 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo}bar"}},"i":0}}]}'>foo}bar</span>]]
12957 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo[bar"}},"i":0}}]}'>foo[bar</span>]]
12958 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo]bar"}},"i":0}}]}'>foo]bar</span>]]
12959 [[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo<bar"}},"i":0}}]}'>foo<bar</span>]]</p>
12967 <p><a href="/index.php?title=/subpage&action=edit&redlink=1" class="new" title="/subpage (page does not exist)">/subpage</a>
12972 BUG 561: {{/Subpage}}
12974 subpage title=[[Page]]
12978 <p><a href="/index.php?title=Page/Subpage&action=edit&redlink=1" class="new" title="Page/Subpage (page does not exist)">Page/Subpage</a>
12986 Category:MediaWiki User's Guide
12994 [[:Category:MediaWiki User's Guide]]
12996 <p><a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">Category:MediaWiki User's Guide</a>
13005 [[Category:MediaWiki User's Guide]]
13007 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
13011 PAGESINCATEGORY invalid title fatal (r33546 fix)
13013 {{PAGESINCATEGORY:<bogus>}}
13020 Category with different sort key
13024 [[Category:MediaWiki User's Guide|Foo]]
13026 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
13030 Category with identical sort key
13034 [[Category:MediaWiki User's Guide|MediaWiki User's Guide]]
13036 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
13040 Category with empty sort key
13045 [[Category:MediaWiki User's Guide|]]
13047 [[Category:MediaWiki User's Guide|MediaWiki User's Guide]]
13051 Category with empty sort key and parentheses
13056 [[Category:Foo (bar)|]]
13058 [[Category:Foo (bar)|Foo]]
13062 Category with link tail
13067 123[[Category:Foo]]456
13069 123[[Category:Foo]]456
13073 Category with template
13078 [[Category:{{echo|Foo}}]]
13080 [[Category:{{echo|Foo}}]]
13084 Category with template in sort key
13089 [[Category:Foo|{{echo|Bar}}]]
13091 [[Category:Foo|{{echo|Bar}}]]
13095 Category with template in sort key and title
13100 [[Category:{{echo|Foo}}|{{echo|Bar}}]]
13102 [[Category:{{echo|Foo}}|{{echo|Bar}}]]
13106 Category / paragraph interactions
13108 Foo [[Category:Baz]] Bar
13110 Foo [[Category:Baz]]
13118 [[Category:Baz]] Bar
13131 {{echo|[[Category:Baz]]}}
13146 Parsoid: Serialize link to category page with colon escape
13152 [[:Category:Foo|Bar]]
13155 <a rel="mw:WikiLink" href="Category:Foo" title="Category:Foo">Category:Foo</a>
13156 <a rel="mw:WikiLink" href="Category:Foo" title="Category:Foo">Bar</a>
13161 Parsoid: Link prefix/suffixes aren't applied to category links
13163 parsoid=wt2html,wt2wt,html2html
13168 <p>x<link rel="mw:PageProp/Category" href="Category:Foo">y</p>
13172 Parsoid: Serialize link to file page with colon escape
13178 [[:File:Foo.png|Bar]]
13181 <a rel="mw:WikiLink" href="File:Foo.png" title="File:Foo.png">File:Foo.png</a>
13182 <a rel="mw:WikiLink" href="File:Foo.png" title="File:Foo.png">Bar</a>
13187 Parsoid: Serialize a genuine category link without colon escape
13192 [[Category:Foo|Bar]]
13194 <link rel="mw:PageProp/Category" href="Category:Foo">
13195 <link rel="mw:PageProp/Category" href="Category:Foo#Bar">
13199 Normalize hrefs properly before testing for invalid link targets (bug 70894)
13203 <link rel="mw:PageProp/Category" href="./Category:Toxine_bactérienne"/>
13205 [[Category:Toxine bactérienne]]
13209 Parsoid: Defaultsort
13211 {{DEFAULTSORT:Foo}}
13213 <meta property="mw:PageProp/categorydefaultsort" content="Foo"/>
13217 Parsoid: Defaultsort (template-generated)
13219 {{{{echo|DEFAULTSORT}}:Foo}}
13221 <meta property="mw:PageProp/categorydefaultsort" content="Foo" about="#mwt1" typeof="mw:Transclusion" data-parsoid='{"dsr":[0,28,null,null],"pi":[[]]}' data-mw='{"parts":[{"template":{"target":{"wt":"{{echo|DEFAULTSORT}}:Foo"},"params":{},"i":0}}]}'/>
13225 ### Inter-language links
13228 Interlanguage links
13236 es:Alimento fr:Nourriture zh:食品
13238 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Alimento"/>
13239 <link rel="mw:PageProp/Language" href="http://fr.wikipedia.org/wiki/Nourriture"/>
13240 <link rel="mw:PageProp/Language" href="http://zh.wikipedia.org/wiki/食品"/>
13244 Duplicate interlanguage links (bug 24502)
13255 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/1"/>
13256 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/2"/>
13257 <link rel="mw:PageProp/Language" href="http://fr.wikipedia.org/wiki/1"/>
13258 <link rel="mw:PageProp/Language" href="http://fr.wikipedia.org/wiki/2"/>
13265 Basic section headings
13272 ===Smaller headline===
13275 <h2><a href="#Headline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13278 <h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13281 <h3><a href="#Smaller_headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Smaller_headline">Smaller headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Smaller headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13287 Section headings with TOC
13290 === Subheadline 1 ===
13291 ===== Skipping a level =====
13292 ====== Skipping a level ======
13296 ===Another headline===
13298 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13300 <li class="toclevel-1 tocsection-1"><a href="#Headline_1"><span class="tocnumber">1</span> <span class="toctext">Headline 1</span></a>
13302 <li class="toclevel-2 tocsection-2"><a href="#Subheadline_1"><span class="tocnumber">1.1</span> <span class="toctext">Subheadline 1</span></a>
13304 <li class="toclevel-3 tocsection-3"><a href="#Skipping_a_level"><span class="tocnumber">1.1.1</span> <span class="toctext">Skipping a level</span></a>
13306 <li class="toclevel-4 tocsection-4"><a href="#Skipping_a_level_2"><span class="tocnumber">1.1.1.1</span> <span class="toctext">Skipping a level</span></a></li>
13313 <li class="toclevel-1 tocsection-5"><a href="#Headline_2"><span class="tocnumber">2</span> <span class="toctext">Headline 2</span></a>
13315 <li class="toclevel-2 tocsection-6"><a href="#Another_headline"><span class="tocnumber">2.1</span> <span class="toctext">Another headline</span></a></li>
13321 <h2><a href="#Headline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13322 <h3><a href="#Subheadline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Subheadline_1">Subheadline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Subheadline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13323 <h5><a href="#Skipping_a_level" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
13324 <h6><a href="#Skipping_a_level_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level_2">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13325 <h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13328 <h3><a href="#Another_headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Another_headline">Another headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: Another headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13333 TOC anchors don't collide
13341 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13343 <li class="toclevel-1 tocsection-1"><a href="#Headline_2"><span class="tocnumber">1</span> <span class="toctext">Headline 2</span></a></li>
13344 <li class="toclevel-1 tocsection-2"><a href="#Headline"><span class="tocnumber">2</span> <span class="toctext">Headline</span></a></li>
13345 <li class="toclevel-1 tocsection-3"><a href="#Headline_2_2"><span class="tocnumber">3</span> <span class="toctext">Headline 2</span></a></li>
13346 <li class="toclevel-1 tocsection-4"><a href="#Headline_3"><span class="tocnumber">4</span> <span class="toctext">Headline</span></a></li>
13350 <h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13351 <h2><a href="#Headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13352 <h2><a href="#Headline_2_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13353 <h2><a href="#Headline_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_3">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13357 # perl -e 'print "="x$_," Level $_ heading","="x$_,"\n" for 1..10'
13359 Handling of sections up to level 6 and beyond
13362 == Level 2 Heading==
13363 === Level 3 Heading===
13364 ==== Level 4 Heading====
13365 ===== Level 5 Heading=====
13366 ====== Level 6 Heading======
13367 ======= Level 7 Heading=======
13368 ======== Level 8 Heading========
13369 ========= Level 9 Heading=========
13370 ========== Level 10 Heading==========
13372 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13374 <li class="toclevel-1 tocsection-1"><a href="#Level_1_Heading"><span class="tocnumber">1</span> <span class="toctext">Level 1 Heading</span></a>
13376 <li class="toclevel-2 tocsection-2"><a href="#Level_2_Heading"><span class="tocnumber">1.1</span> <span class="toctext">Level 2 Heading</span></a>
13378 <li class="toclevel-3 tocsection-3"><a href="#Level_3_Heading"><span class="tocnumber">1.1.1</span> <span class="toctext">Level 3 Heading</span></a>
13380 <li class="toclevel-4 tocsection-4"><a href="#Level_4_Heading"><span class="tocnumber">1.1.1.1</span> <span class="toctext">Level 4 Heading</span></a>
13382 <li class="toclevel-5 tocsection-5"><a href="#Level_5_Heading"><span class="tocnumber">1.1.1.1.1</span> <span class="toctext">Level 5 Heading</span></a>
13384 <li class="toclevel-6 tocsection-6"><a href="#Level_6_Heading"><span class="tocnumber">1.1.1.1.1.1</span> <span class="toctext">Level 6 Heading</span></a></li>
13385 <li class="toclevel-6 tocsection-7"><a href="#.3D_Level_7_Heading.3D"><span class="tocnumber">1.1.1.1.1.2</span> <span class="toctext">= Level 7 Heading=</span></a></li>
13386 <li class="toclevel-6 tocsection-8"><a href="#.3D.3D_Level_8_Heading.3D.3D"><span class="tocnumber">1.1.1.1.1.3</span> <span class="toctext">== Level 8 Heading==</span></a></li>
13387 <li class="toclevel-6 tocsection-9"><a href="#.3D.3D.3D_Level_9_Heading.3D.3D.3D"><span class="tocnumber">1.1.1.1.1.4</span> <span class="toctext">=== Level 9 Heading===</span></a></li>
13388 <li class="toclevel-6 tocsection-10"><a href="#.3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D"><span class="tocnumber">1.1.1.1.1.5</span> <span class="toctext">==== Level 10 Heading====</span></a></li>
13402 <h1><a href="#Level_1_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_1_Heading">Level 1 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Level 1 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13403 <h2><a href="#Level_2_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_2_Heading">Level 2 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Level 2 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13404 <h3><a href="#Level_3_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_3_Heading">Level 3 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Level 3 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13405 <h4><a href="#Level_4_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_4_Heading">Level 4 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Level 4 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
13406 <h5><a href="#Level_5_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_5_Heading">Level 5 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Level 5 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
13407 <h6><a href="#Level_6_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_6_Heading">Level 6 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: Level 6 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13408 <h6><a href="#.3D_Level_7_Heading.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D_Level_7_Heading.3D">= Level 7 Heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=7" title="Edit section: = Level 7 Heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13409 <h6><a href="#.3D.3D_Level_8_Heading.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D_Level_8_Heading.3D.3D">== Level 8 Heading==</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=8" title="Edit section: == Level 8 Heading==">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13410 <h6><a href="#.3D.3D.3D_Level_9_Heading.3D.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D_Level_9_Heading.3D.3D.3D">=== Level 9 Heading===</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=9" title="Edit section: === Level 9 Heading===">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13411 <h6><a href="#.3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D">==== Level 10 Heading====</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=10" title="Edit section: ==== Level 10 Heading====">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
13416 TOC regression (bug 9764)
13420 ==== title 1.1.1 ====
13425 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13427 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
13429 <li class="toclevel-2 tocsection-2"><a href="#title_1.1"><span class="tocnumber">1.1</span> <span class="toctext">title 1.1</span></a>
13431 <li class="toclevel-3 tocsection-3"><a href="#title_1.1.1"><span class="tocnumber">1.1.1</span> <span class="toctext">title 1.1.1</span></a></li>
13434 <li class="toclevel-2 tocsection-4"><a href="#title_1.2"><span class="tocnumber">1.2</span> <span class="toctext">title 1.2</span></a></li>
13437 <li class="toclevel-1 tocsection-5"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a>
13439 <li class="toclevel-2 tocsection-6"><a href="#title_2.1"><span class="tocnumber">2.1</span> <span class="toctext">title 2.1</span></a></li>
13445 <h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13446 <h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13447 <h4><a href="#title_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
13448 <h3><a href="#title_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13449 <h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13450 <h3><a href="#title_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13455 TOC with wgMaxTocLevel=3 (bug 6204)
13461 ==== title 1.1.1 ====
13466 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13468 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
13470 <li class="toclevel-2 tocsection-2"><a href="#title_1.1"><span class="tocnumber">1.1</span> <span class="toctext">title 1.1</span></a></li>
13471 <li class="toclevel-2 tocsection-4"><a href="#title_1.2"><span class="tocnumber">1.2</span> <span class="toctext">title 1.2</span></a></li>
13474 <li class="toclevel-1 tocsection-5"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a>
13476 <li class="toclevel-2 tocsection-6"><a href="#title_2.1"><span class="tocnumber">2.1</span> <span class="toctext">title 2.1</span></a></li>
13482 <h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13483 <h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13484 <h4><a href="#title_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
13485 <h3><a href="#title_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13486 <h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13487 <h3><a href="#title_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13492 TOC with wgMaxTocLevel=3 and two level four headings (bug 6204)
13498 ====Section 1.1.1====
13499 ====Section 1.1.1.1====
13502 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13504 <li class="toclevel-1 tocsection-1"><a href="#Section_1"><span class="tocnumber">1</span> <span class="toctext">Section 1</span></a>
13506 <li class="toclevel-2 tocsection-2"><a href="#Section_1.1"><span class="tocnumber">1.1</span> <span class="toctext">Section 1.1</span></a></li>
13509 <li class="toclevel-1 tocsection-5"><a href="#Section_2"><span class="tocnumber">2</span> <span class="toctext">Section 2</span></a></li>
13513 <h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13514 <h3><a href="#Section_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1">Section 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Section 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13515 <h4><a href="#Section_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1">Section 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Section 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
13516 <h4><a href="#Section_1.1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1.1">Section 1.1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Section 1.1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
13517 <h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13523 Resolving duplicate section names
13528 <h2><a href="#Foo_bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13529 <h2><a href="#Foo_bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar_2">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13534 Resolving duplicate section names with differing case (bug 10721)
13539 <h2><a href="#Foo_bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13540 <h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2">Foo Bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13552 Template with sections, __NOTOC__
13559 <h2><a href="#Section_0" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_0">Section 0</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Section 0">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13560 <h3><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&action=edit&section=T-1" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13561 <h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&action=edit&section=T-2" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13562 <h2><a href="#Section_4" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13567 __NOEDITSECTION__ keyword
13573 <h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span></h2>
13574 <h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span></h2>
13579 Link inside a section heading
13581 ==Section with a [[Main Page|link]] in it==
13583 <h2><a href="#Section_with_a_link_in_it" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_with_a_link_in_it">Section with a <a href="/wiki/Main_Page" title="Main Page">link</a> in it</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Section with a link in it">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13588 TOC regression (bug 12077)
13595 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13597 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
13599 <li class="toclevel-2 tocsection-2"><a href="#title_1.1"><span class="tocnumber">1.1</span> <span class="toctext">title 1.1</span></a></li>
13602 <li class="toclevel-1 tocsection-3"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a></li>
13606 <h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13607 <h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
13608 <h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13613 BUG 1219 URL next to image (good)
13615 http://example.com [[File:Foobar.jpg]]
13617 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a> <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
13620 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a> <span class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
13624 Short headings with trailing space should match behavior of Parser::doHeadings (bug 19910)
13627 The line above must have a trailing space!
13630 But just in case it doesn't...
13632 <h1><a href="#.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13633 <p>The line above must have a trailing space!
13635 <h1><a href="#.3D_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D_2">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13636 <p>But just in case it doesn't...
13641 Header with special characters (bug 25462)
13643 The tooltips shall not show entities to the user (ie. be double escaped)
13660 <p>The tooltips shall not show entities to the user (ie. be double escaped)
13662 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13664 <li class="toclevel-1 tocsection-1"><a href="#text_.3E_text"><span class="tocnumber">1</span> <span class="toctext">text > text</span></a></li>
13665 <li class="toclevel-1 tocsection-2"><a href="#text_.3C_text"><span class="tocnumber">2</span> <span class="toctext">text < text</span></a></li>
13666 <li class="toclevel-1 tocsection-3"><a href="#text_.26_text"><span class="tocnumber">3</span> <span class="toctext">text & text</span></a></li>
13667 <li class="toclevel-1 tocsection-4"><a href="#text_.27_text"><span class="tocnumber">4</span> <span class="toctext">text ' text</span></a></li>
13668 <li class="toclevel-1 tocsection-5"><a href="#text_.22_text"><span class="tocnumber">5</span> <span class="toctext">text " text</span></a></li>
13672 <h2><a href="#text_.3E_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.3E_text">text > text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: text > text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13675 <h2><a href="#text_.3C_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.3C_text">text < text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: text < text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13678 <h2><a href="#text_.26_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.26_text">text & text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: text & text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13681 <h2><a href="#text_.27_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.27_text">text ' text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: text ' text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13684 <h2><a href="#text_.22_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.22_text">text " text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: text " text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13690 Header with space, plus and underscore as entity
13692 Id should not contain + for spaces
13694 == Space between Text ==
13697 == Space-Entity between Text ==
13700 == Plus+between+Text ==
13703 == Plus-Entity+between+Text ==
13706 == Underscore_between_Text ==
13709 == Underscore-Entity_between_Text ==
13712 [[#Space between Text]]
13713 [[#Space-Entity between Text]]
13714 [[#Plus+between+Text]]
13715 [[#Plus-Entity+between+Text]]
13716 [[#Underscore_between_Text]]
13717 [[#Underscore-Entity_between_Text]]
13719 <p>Id should not contain + for spaces
13721 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13723 <li class="toclevel-1 tocsection-1"><a href="#Space_between_Text"><span class="tocnumber">1</span> <span class="toctext">Space between Text</span></a></li>
13724 <li class="toclevel-1 tocsection-2"><a href="#Space-Entity_between_Text"><span class="tocnumber">2</span> <span class="toctext">Space-Entity between Text</span></a></li>
13725 <li class="toclevel-1 tocsection-3"><a href="#Plus.2Bbetween.2BText"><span class="tocnumber">3</span> <span class="toctext">Plus+between+Text</span></a></li>
13726 <li class="toclevel-1 tocsection-4"><a href="#Plus-Entity.2Bbetween.2BText"><span class="tocnumber">4</span> <span class="toctext">Plus-Entity+between+Text</span></a></li>
13727 <li class="toclevel-1 tocsection-5"><a href="#Underscore_between_Text"><span class="tocnumber">5</span> <span class="toctext">Underscore_between_Text</span></a></li>
13728 <li class="toclevel-1 tocsection-6"><a href="#Underscore-Entity_between_Text"><span class="tocnumber">6</span> <span class="toctext">Underscore-Entity_between_Text</span></a></li>
13732 <h2><a href="#Space_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Space_between_Text">Space between Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Space between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13735 <h2><a href="#Space-Entity_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Space-Entity_between_Text">Space-Entity between Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Space-Entity between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13738 <h2><a href="#Plus.2Bbetween.2BText" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Plus.2Bbetween.2BText">Plus+between+Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Plus+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13741 <h2><a href="#Plus-Entity.2Bbetween.2BText" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Plus-Entity.2Bbetween.2BText">Plus-Entity+between+Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Plus-Entity+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13744 <h2><a href="#Underscore_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Underscore_between_Text">Underscore_between_Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Underscore between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13747 <h2><a href="#Underscore-Entity_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Underscore-Entity_between_Text">Underscore-Entity_between_Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: Underscore-Entity_between_Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
13749 </p><p><a href="#Space_between_Text">#Space between Text</a>
13750 <a href="#Space-Entity_between_Text">#Space-Entity between Text</a>
13751 <a href="#Plus.2Bbetween.2BText">#Plus+between+Text</a>
13752 <a href="#Plus-Entity.2Bbetween.2BText">#Plus-Entity+between+Text</a>
13753 <a href="#Underscore_between_Text">#Underscore_between_Text</a>
13754 <a href="#Underscore-Entity_between_Text">#Underscore-Entity_between_Text</a>
13759 Headers with excess '=' characters
13760 (Are similar tests necessary beyond the 1st level?)
13764 =''italic'' heading==
13765 ==''italic'' heading=
13767 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13769 <li class="toclevel-1 tocsection-1"><a href="#foo.3D"><span class="tocnumber">1</span> <span class="toctext">foo=</span></a></li>
13770 <li class="toclevel-1 tocsection-2"><a href="#.3Dfoo"><span class="tocnumber">2</span> <span class="toctext">=foo</span></a></li>
13771 <li class="toclevel-1 tocsection-3"><a href="#italic_heading.3D"><span class="tocnumber">3</span> <span class="toctext"><i>italic</i> heading=</span></a></li>
13772 <li class="toclevel-1 tocsection-4"><a href="#.3Ditalic_heading"><span class="tocnumber">4</span> <span class="toctext">=<i>italic</i> heading</span></a></li>
13776 <h1><a href="#foo.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="foo.3D">foo=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: foo=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13777 <h1><a href="#.3Dfoo" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3Dfoo">=foo</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: =foo">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13778 <h1><a href="#italic_heading.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="italic_heading.3D"><i>italic</i> heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: italic heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13779 <h1><a href="#.3Ditalic_heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3Ditalic_heading">=<i>italic</i> heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: =italic heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
13784 HTML headers vs TOC (bug 23393)
13785 (__NOEDITSECTION__ for clearer output, doesn't matter here)
13797 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
13799 <li class="toclevel-1"><a href="#Header_1"><span class="tocnumber">1</span> <span class="toctext">Header 1</span></a>
13801 <li class="toclevel-2 tocsection-1"><a href="#Header_1.1"><span class="tocnumber">1.1</span> <span class="toctext">Header 1.1</span></a></li>
13802 <li class="toclevel-2 tocsection-2"><a href="#Header_1.2"><span class="tocnumber">1.2</span> <span class="toctext">Header 1.2</span></a></li>
13805 <li class="toclevel-1"><a href="#Header_2"><span class="tocnumber">2</span> <span class="toctext">Header 2</span></a>
13807 <li class="toclevel-2 tocsection-3"><a href="#Header_2.1"><span class="tocnumber">2.1</span> <span class="toctext">Header 2.1</span></a></li>
13808 <li class="toclevel-2 tocsection-4"><a href="#Header_2.2"><span class="tocnumber">2.2</span> <span class="toctext">Header 2.2</span></a></li>
13814 <h1><a href="#Header_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1">Header 1</span></h1>
13815 <h2><a href="#Header_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1.1">Header 1.1</span></h2>
13816 <h2><a href="#Header_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1.2">Header 1.2</span></h2>
13817 <h1><a href="#Header_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2">Header 2</span></h1>
13818 <h2><a href="#Header_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2.1">Header 2.1</span></h2>
13819 <h2><a href="#Header_2.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2.2">Header 2.2</span></h2>
13824 Single-line or multiline-comments can follow headings
13826 parsoid=wt2html,wt2wt
13834 <h2><a href="#foo" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="foo">foo</span></h2>
13835 <h2><a href="#bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="bar">bar</span></h2>
13836 <h2><a href="#baz" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="baz">baz</span></h2>
13841 BUG 1219 URL next to image (broken)
13843 http://example.com[[File:Foobar.jpg]]
13845 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
13848 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a><span class="mw-default-size" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
13852 Bug 1186 news: in the middle of text
13854 http://en.wikinews.org/wiki/Wikinews:Workplace
13856 <p><a rel="nofollow" class="external free" href="http://en.wikinews.org/wiki/Wikinews:Workplace">http://en.wikinews.org/wiki/Wikinews:Workplace</a>
13862 Namespaced link must have a title
13871 Namespaced link must have a title (bad fragment version)
13873 [[Project:#fragment]]
13875 <p>[[Project:#fragment]]
13881 ### HTML tags and HTML attributes
13885 div with no attributes
13887 <div>HTML rocks</div>
13889 <div>HTML rocks</div>
13894 div with double-quoted attribute
13896 <div id="rock">HTML rocks</div>
13898 <div id="rock">HTML rocks</div>
13903 div with single-quoted attribute
13905 <div id='rock'>HTML rocks</div>
13907 <div id="rock">HTML rocks</div>
13912 div with unquoted attribute
13914 <div id=rock>HTML rocks</div>
13916 <div id="rock">HTML rocks</div>
13921 div with illegal double attributes
13923 <div id="a" id="b">HTML rocks</div>
13925 <div id="b">HTML rocks</div>
13929 # FIXME: produce empty string instead of "class" in the PHP parser, following
13932 div with empty attribute value, space before equals
13936 <div class =>HTML rocks</div>
13938 <div class="">HTML rocks</div>
13943 div with multiple empty attribute values
13947 <div id= title=>HTML rocks</div>
13949 <div id="" title="">HTML rocks</div>
13954 table with multiple empty attribute values
13962 <table title="" id="">
13963 <tbody><tr><td> hi</td></tr>
13968 div with braces in attribute value
13970 <div title="{}">Foo</div>
13972 <div title="{}">Foo</div>
13975 <div title="{}">Foo</div>
13978 # This it very inconsistent in the PHP parser: it returns
13979 # class="class" if there is a space between the name and the equal sign (see
13980 # 'div with empty attribute value, space before equals'), but strips the
13981 # attribute completely if the space is missing. We hope that not much content
13982 # depends on this, so are implementing the behavior below in Parsoid for
13983 # consistencies' sake.
13984 # FIXME: fix this behavior in the PHP parser?
13986 div with empty attribute value, no space before equals
13988 parsoid=wt2html,html2html
13990 <div class=>HTML rocks</div>
13992 <div>HTML rocks</div>
13995 <div class="">HTML rocks</div>
13999 HTML multiple attributes correction
14001 <p class="error" class="awesome">Awesome!</p>
14003 <p class="awesome">Awesome!</p>
14008 Table multiple attributes correction
14011 !+ class="error" class="awesome"| status
14016 <th class="awesome"> status
14024 <DIV ID="x">HTML ROCKS</DIV>
14026 <div id="x">HTML ROCKS</div>
14031 Non-ASCII pseudo-tags are rendered as text
14040 Pseudo-tag with URL 'name' renders as url link
14042 <http://example.com/>
14044 <p><<a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a>>
14049 text with amp in the middle of nowhere
14053 <p>Remember AT&T?
14058 text with character entity: eacute
14060 I always thought é was a cute letter.
14062 <p>I always thought é was a cute letter.
14065 <p>I always thought é was a cute letter.</p>
14069 text with entity-escaped character entity-like string: eacute
14071 I always thought &eacute; was a cute letter.
14073 <p>I always thought &eacute; was a cute letter.
14078 text with undefined character entity: xacute
14080 I always thought &xacute; was a cute letter.
14082 <p>I always thought &xacute; was a cute letter.
14086 # TODO: generalize to PHP parser?
14092 <data value="5">five</data>
14093 <time datetime="2000-01-01T00:00Z">The new millenium started</time>
14094 <mark>This highlighted text</mark>
14096 <p><data value="5">five</data>
14097 <time datetime="2000-01-01T00:00Z">The new millenium started</time>
14098 <mark>This highlighted text</mark></p>
14102 HTML tag with leading space is parsed as text
14106 <p>< div>foo< /div>
14111 ### Nesting tests (see bug 41545, 50604, 51081)
14114 # This test case is fixed in Parsoid by domino 1.0.12. (bug 50604)
14115 # Note that html2wt is considerably more difficult if we use <b> in
14116 # the test case, instead of <big>
14118 Ensure that HTML adoption agency algorithm is properly implemented.
14120 <big>X<big>Y</big>Z</big>
14122 <p><big>X<big>Y</big>Z</big>
14126 # This was bug 41545 in the PHP parser.
14127 # Note that tidy doesn't handle this correctly.
14131 <kbd>X<kbd>Y</kbd>Z</kbd>
14133 <p><kbd>X<kbd>Y</kbd>Z</kbd>
14137 # The following cases were bug 51081 in the PHP parser.
14138 # Note that there are some other nestable tags (b, i, etc) which are
14139 # not covered; see bug 51081 for discussion.
14141 # Note that tidy doesn't handle this correctly.
14145 <em>X<em>Y</em>Z</em>
14147 <p><em>X<em>Y</em>Z</em>
14151 # Note that tidy doesn't handle this correctly.
14153 Nesting of <strong>
14155 <strong>X<strong>Y</strong>Z</strong>
14157 <p><strong>X<strong>Y</strong>Z</strong>
14166 <p><q>X<q>Y</q>Z</q></p>
14169 # Note that tidy doesn't handle this correctly.
14173 <ruby>X<ruby>Y</ruby>Z</ruby>
14175 <p><ruby>X<ruby>Y</ruby>Z</ruby>
14179 # Note that tidy doesn't handle this correctly.
14183 <bdo>X<bdo>Y</bdo>Z</bdo>
14185 <p><bdo>X<bdo>Y</bdo>Z</bdo>
14197 [[Media:Foobar.jpg]]
14199 <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">Media:Foobar.jpg</a>
14204 Media link with text
14206 [[Media:Foobar.jpg|A neat file to look at]]
14208 <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">A neat file to look at</a>
14212 # FIXME: this is still bad HTML tag nesting
14214 Media link with nasty text
14215 fixme: doBlockLevels won't wrap this in a paragraph because it contains a div
14217 [[Media:Foobar.jpg|Safe Link<div style=display:none>" onmouseover="alert(document.cookie)" onfoo="</div>]]
14219 <a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">Safe Link<div style="display:none">" onmouseover="alert(document.cookie)" onfoo="</div></a>
14222 <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">Safe Link<div style="display:none">" onmouseover="alert(document.cookie)" onfoo="</div></a></p>
14226 Media link to nonexistent file (bug 1702)
14228 [[Media:No such.jpg]]
14230 <p><a href="/index.php?title=Special:Upload&wpDestFile=No_such.jpg" class="new" title="No such.jpg">Media:No such.jpg</a>
14235 Image link to nonexistent file (bug 1850 - good)
14237 [[File:No_such.jpg]]
14239 <p><a href="/index.php?title=Special:Upload&wpDestFile=No_such.jpg" class="new" title="File:No such.jpg">File:No such.jpg</a>
14242 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}]}'><a href="File:No_such.jpg"><img resource="./File:No_such.jpg" src="./Special:FilePath/No_such.jpg" height="220" width="220"/></a></span></p>
14246 :Image link to nonexistent file (bug 1850 - bad)
14248 [[:Image:No such.jpg]]
14250 <p><a href="/index.php?title=File:No_such.jpg&action=edit&redlink=1" class="new" title="File:No such.jpg (page does not exist)">Image:No such.jpg</a>
14253 <p><a rel="mw:WikiLink" href="./File:No_such.jpg" title="File:No such.jpg">Image:No such.jpg</a></p>
14259 Character reference normalization in link text (bug 1938)
14261 [[Main Page|this&that]]
14263 <p><a href="/wiki/Main_Page" title="Main Page">this&that</a>
14270 Test for unicode normalization
14272 The page's name is U+05d0 U+05b7, with non-canonical form U+FB2E
14276 (bug 19451) Links should refer to the normalized form.
14284 <p><a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
14285 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
14286 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
14287 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
14288 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
14293 Empty attribute crash test (bug 2067)
14295 <font color="">foo</font>
14297 <p><font color="">foo</font>
14302 Empty attribute crash test single-quotes (bug 2067)
14304 <font color=''>foo</font>
14306 <p><font color="">foo</font>
14311 Attribute test: equals, then nothing
14313 <font color=>foo</font>
14315 <p><font>foo</font>
14320 Attribute test: unquoted value
14322 <font color=x>foo</font>
14324 <p><font color="x">foo</font>
14329 Attribute test: unquoted but illegal value (hash)
14331 <font color=#x>foo</font>
14333 <p><font color="#x">foo</font>
14338 Attribute test: no value
14340 <font color>foo</font>
14342 <p><font color="color">foo</font>
14347 Bug 2095: link with three closing brackets
14351 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>]
14354 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">Main Page</a>]</p>
14358 Bug 2095: link with pipe and three closing brackets
14360 [[Main Page|link]]]
14362 <p><a href="/wiki/Main_Page" title="Main Page">link</a>]
14365 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">link</a>]</p>
14369 Bug 2095: link with pipe and three closing brackets, version 2
14371 [[Main Page|[http://example.com/]]]
14373 <p><a href="/wiki/Main_Page" title="Main Page">[http://example.com/]</a>
14376 <p><a rel="mw:WikiLink" href="./Main_Page" title="Main Page">[http://example.com/]</a></p>
14385 Template:Dangerous attribute
14387 " onmouseover="alert(document.cookie)
14391 Template:Dangerous style attribute
14393 border-size: expression(alert(document.cookie))
14399 <div style="float: right; {{{1}}}">Magic div</div>
14403 Bug 2304: HTML attribute safety (safe template; regression bug 2309)
14405 <div title="{{test}}"></div>
14407 <div title="This is a test template"></div>
14411 # Parsoid has enough context to handle this case
14413 Bug 2304: HTML attribute safety (dangerous template; 2309)
14415 <div title="{{dangerous attribute}}"></div>
14417 <div title=""></div>
14420 <div title='" onmouseover="alert(document.cookie)' about="#mwt2" typeof="mw:ExpandedAttrs" data-parsoid='{"stx":"html","a":{"title":"\" onmouseover=\"alert(document.cookie)"},"sa":{"title":"{{dangerous attribute}}"}}' data-mw='{"attribs":[[{"txt":"title"},{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid=\"{&quot;pi&quot;:[[]],&quot;dsr&quot;:[12,35,null,null]}\" data-mw=\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;dangerous attribute&quot;,&quot;href&quot;:&quot;./Template:Dangerous_attribute&quot;},&quot;params&quot;:{},&quot;i&quot;:0}}]}\">\" onmouseover=\"alert(document.cookie)</span>"}]]}'></div>
14424 Bug 2304: HTML attribute safety (dangerous style template; 2309)
14426 <div style="{{dangerous style attribute}}"></div>
14428 <div style="/* insecure input */"></div>
14433 Bug 2304: HTML attribute safety (safe parameter; 2309)
14435 {{div style|width: 200px}}
14437 <div style="float: right; width: 200px">Magic div</div>
14442 Bug 2304: HTML attribute safety (unsafe parameter; 2309)
14444 {{div style|width: expression(alert(document.cookie))}}
14446 <div style="/* insecure input */">Magic div</div>
14451 Bug 2304: HTML attribute safety (unsafe breakout parameter; 2309)
14453 {{div style|"><script>alert(document.cookie)</script>}}
14455 <div style="float: right;"><script>alert(document.cookie)</script>">Magic div</div>
14460 Bug 2304: HTML attribute safety (unsafe breakout parameter 2; 2309)
14462 {{div style|" ><script>alert(document.cookie)</script>}}
14464 <div style="float: right;"><script>alert(document.cookie)</script>">Magic div</div>
14469 Bug 2304: HTML attribute safety (link)
14471 <div title="[[Main Page]]"></div>
14473 <div title="[[Main Page]]"></div>
14478 Bug 2304: HTML attribute safety (italics)
14480 <div title="''foobar''"></div>
14482 <div title="''foobar''"></div>
14487 Bug 2304: HTML attribute safety (bold)
14489 <div title="'''foobar'''"></div>
14491 <div title="'''foobar'''"></div>
14497 Bug 2304: HTML attribute safety (ISBN)
14499 <div title="ISBN 1234567890"></div>
14501 <div title="ISBN 1234567890"></div>
14506 Bug 2304: HTML attribute safety (RFC)
14508 <div title="RFC 1234"></div>
14510 <div title="RFC 1234"></div>
14515 Bug 2304: HTML attribute safety (PMID)
14517 <div title="PMID 1234567890"></div>
14519 <div title="PMID 1234567890"></div>
14524 Bug 2304: HTML attribute safety (web link)
14526 <div title="http://example.com/"></div>
14528 <div title="http://example.com/"></div>
14533 Bug 2304: HTML attribute safety (named web link)
14535 <div title="[http://example.com/ link]"></div>
14537 <div title="[http://example.com/ link]"></div>
14542 Bug 3244: HTML attribute safety (extension; safe)
14544 <div style="<nowiki>background:blue</nowiki>"></div>
14546 <div style="background:blue"></div>
14551 Bug 3244: HTML attribute safety (extension; unsafe)
14553 <div style="<nowiki>border-left:expression(alert(document.cookie))</nowiki>"></div>
14555 <div style="/* insecure input */"></div>
14559 # More MSIE fun discovered by Tom Gilder
14562 MSIE CSS safety test: spurious slash
14564 <div style="background-image:u\rl(javascript:alert('boo'))">evil</div>
14566 <div style="/* insecure input */">evil</div>
14571 MSIE CSS safety test: hex code
14573 <div style="background-image:u\72l(javascript:alert('boo'))">evil</div>
14575 <div style="/* insecure input */">evil</div>
14580 MSIE CSS safety test: comment in url
14582 <div style="background-image:u/**/rl(javascript:alert('boo'))">evil</div>
14584 <div style="background-image:u rl(javascript:alert('boo'))">evil</div>
14589 MSIE CSS safety test: comment in expression
14591 <div style="background-image:expres/**/sion(alert('boo4'))">evil4</div>
14593 <div style="background-image:expres sion(alert('boo4'))">evil4</div>
14598 CSS safety test (all browsers): vertical tab (bug 55332 / CVE-2013-4567)
14600 <p style="font-size: 100px; background-image:url\b(https://www.google.com/images/srpr/logo6w.png)">A</p>
14602 <p style="/* invalid control char */">A</p>
14607 MSIE 6 CSS safety test: Fullwidth (bug 55332)
14609 <p style="font-size: 100px; color: expression((title='XSSed'),'red')">A</p>
14610 <div style="top:EXPRESSION(alert())">B</div>
14612 <p style="/* insecure input */">A</p>
14613 <div style="/* insecure input */">B</div>
14618 MSIE 6 CSS safety test: IPA extensions (bug 55332)
14620 <div style="background-image:uʀʟ(javascript:alert())">A</div>
14621 <p style="font-size: 100px; color: expʀessɪoɴ((title='XSSed'),'red')">B</p>
14623 <div style="/* insecure input */">A</div>
14624 <p style="/* insecure input */">B</p>
14629 MSIE 6 CSS safety test: sup/sub script (bug 55332)
14631 <div style="background-image:url⁽javascript:alert())">A</div>
14632 <div style="background-image:url₍javascript:alert())">B</div>
14633 <p style="font-size: 100px; color: expressioⁿ((title='XSSed'),'red')">C</p>
14635 <div style="/* insecure input */">A</div>
14636 <div style="/* insecure input */">B</div>
14637 <p style="/* insecure input */">C</p>
14645 title="data:text/html,<img src=1 onerror=alert(1)>"
14646 style="-o-link:attr(title);-o-link-source:current">X</div>
14648 <div title="data:text/html,<img src=1 onerror=alert(1)>" style="/* insecure input */">X</div>
14653 MSIE 6 CSS safety test: Repetition markers (bug 55332)
14655 <p style="font-size: 100px; color: expres〱ion((title='XSSed'),'red')">A</p>
14656 <p style="font-size: 100px; color: expresゝion((title='XSSed'),'red')">B</p>
14657 <p style="font-size: 100px; color: expresーion((title='XSSed'),'red')">C</p>
14658 <p style="font-size: 100px; color: expresヽion((title='XSSed'),'red')">D</p>
14659 <p style="font-size: 100px; color: expresﹽion((title='XSSed'),'red')">E</p>
14660 <p style="font-size: 100px; color: expresﹼion((title='XSSed'),'red')">F</p>
14661 <p style="font-size: 100px; color: expresーion((title='XSSed'),'red')">G</p>
14663 <p style="/* insecure input */">A</p>
14664 <p style="/* insecure input */">B</p>
14665 <p style="/* insecure input */">C</p>
14666 <p style="/* insecure input */">D</p>
14667 <p style="/* insecure input */">E</p>
14668 <p style="/* insecure input */">F</p>
14669 <p style="/* insecure input */">G</p>
14674 Table attribute legitimate extension
14677 !+ style="<nowiki>color:blue</nowiki>"| status
14682 <th style="color:blue"> status
14688 Table attribute safety
14691 !+ style="<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>"| status
14696 <th style="/* insecure input */"> status
14702 CSS line continuation 1
14704 <div style="background-image: u\ rl(test.jpg);"></div>
14706 <div style="/* insecure input */"></div>
14711 CSS line continuation 2
14713 <div style="background-image: u\ rl(test.jpg); "></div>
14715 <div style="/* insecure input */"></div>
14726 Expansion of multi-line templates in attribute values (bug 6255)
14728 <div style="background: {{identity|#00FF00}}">-</div>
14730 <div style="background: #00FF00">-</div>
14736 Expansion of multi-line templates in attribute values (bug 6255 sanity check)
14738 <div style="background:
14741 <div style="background: #00FF00">-</div>
14744 <div style="background:
14749 Expansion of multi-line templates in attribute values (bug 6255 sanity check 2)
14751 <div style="background: #00FF00">-</div>
14753 <div style="background: #00FF00">-</div>
14758 evil <math>-wiki-tags without Extension:Math enabled
14760 <math><img src="some evil external link"><script>some_evil_javascript();</script></math>
14762 <p><math><img src="some evil external link"><script>some_evil_javascript();</script></math></p>
14766 ### Parser hooks (see tests/parser/parserTestsParserHook.php for the <tag> extension)
14769 Parser hook: empty input
14782 Parser hook: empty input using terminated empty elements
14795 Parser hook: empty input using terminated empty elements (space before)
14808 Parser hook: basic input
14822 Parser hook: case insensitive
14836 Parser hook: case insensitive, redux
14849 Parser hook: nested tags
14853 <tag><tag></tag></tag>
14864 Parser hook: basic arguments
14866 <tag width=200 height = "100" depth = '50' square></tag>
14874 'square' => 'square',
14881 Parser hook: argument containing a forward slash (bug 5344)
14883 <tag filename='/tmp/bla'></tag>
14888 'filename' => '/tmp/bla',
14895 Parser hook: empty input using terminated empty elements (bug 2374)
14908 # </tag> should be output literally since there is no matching tag that begins it
14910 Parser hook: basic arguments using terminated empty elements (bug 2374)
14912 <tag width=200 height = "100" depth = '50' square/>
14922 'square' => 'square',
14931 ### (see tests/parser/parserTestsParserHook.php for the <statictag> extension)
14935 Parser hook: static parser hook not inside a comment
14937 <statictag>hello, world</statictag>
14938 <statictag action=flush/>
14946 Parser hook: static parser hook inside a comment
14948 <!-- <statictag>hello, world</statictag> -->
14949 <statictag action=flush/>
14955 # Nested template calls; this case was broken by Parser.php rev 1.506,
14959 Template:One-parameter
14961 (My parameter is: {{{1}}})
14965 Template:Map-one-parameter
14967 {{{{{1}}}|{{{2}}}}}
14971 Nested template calls
14973 {{Map-one-parameter|One-parameter|param}}
14975 <p>(My parameter is: param)
14984 # HTML+Tidy effectively strips out the empty tags completely
14985 # But since Parsoid doesn't it wraps the <s></s> tags in p-tags
14986 # which Tidy would have done for the PHP parser had there been content inside it.
14988 Sanitizer: Closing of open tags
14990 <s></s><table></table>
14992 <s></s><table></table>
14995 <p><s></s></p><table></table>
14999 Sanitizer: Closing of open but not closed tags
15008 Sanitizer: Closing of closed but not open tags
15017 Sanitizer: Closing of closed but not open table tags
15019 Table not started</td></tr></table>
15021 <p>Table not started</td></tr></table>
15026 Sanitizer: Escaping of spaces, multibyte characters, colons & other stuff in id=""
15028 <span id="æ: v">byte</span>[[#æ: v|backlink]]
15030 <p><span id=".C3.A6:_v">byte</span><a href="#.C3.A6:_v">backlink</a>
15034 # In HTML5, the restrictions are that id must contain at least one character,
15035 # and must not contain any space characters.
15037 Sanitizer: Validating the contents of the id attribute (bug 4515)
15041 <br id="" /><br id="a space" />
15046 # In HTML5, id must be unique amongst all the ids in the element's home subtree.
15048 Sanitizer: Validating id attribute uniqueness (bug 4515, bug 6301)
15052 <br id="foo" /><br id="foo" />
15054 Something need to be done. foo-2 ?
15058 Sanitizer: Validating that <meta> and <link> work, but only for Microdata
15061 <meta itemprop="hello" content="world">
15062 <meta http-equiv="refresh" content="5">
15063 <meta itemprop="hello" http-equiv="refresh" content="5">
15064 <link itemprop="hello" href="{{SERVER}}">
15065 <link rel="stylesheet" href="{{SERVER}}">
15066 <link rel="stylesheet" itemprop="hello" href="{{SERVER}}">
15069 <div itemscope="itemscope">
15070 <p> <meta itemprop="hello" content="world" />
15071 <meta http-equiv="refresh" content="5">
15072 <meta itemprop="hello" content="5" />
15074 <link itemprop="hello" href="http://example.org" />
15075 <link rel="stylesheet" href="<a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>">
15076 <link itemprop="hello" href="http://example.org" />
15082 Language converter: output gets cut off unexpectedly (bug 5757)
15086 this bit is safe: }-
15088 but if we add a conversion instance: -{zh-cn:xxx;zh-tw:yyy}-
15090 then we get cut off here: }-
15092 all additional text is vanished
15094 <p>this bit is safe: }-
15095 </p><p>but if we add a conversion instance: xxx
15096 </p><p>then we get cut off here: }-
15097 </p><p>all additional text is vanished
15102 Self closed html pairs (bug 5487)
15105 <center><font id="bug" />Centered text</center>
15106 <div><font id="bug2" />In div text</div>
15108 <center><font id="bug" />Centered text</center>
15109 <div><font id="bug2" />In div text</div>
15118 Punctuation: nbsp before exclamation
15122 <p>C'est grave !
15127 Punctuation: CSS !important (bug 11874)
15129 <div style="width:50% !important">important</div>
15131 <div style="width:50% !important">important</div>
15136 Punctuation: CSS ! important (bug 11874; with space after)
15138 <div style="width:50% ! important">important</div>
15140 <div style="width:50% ! important">important</div>
15145 HTML bullet list, closed tags (bug 5497)
15158 <ul data-parsoid='{"stx":"html"}'>
15159 <li data-parsoid='{"stx":"html"}'>One</li>
15160 <li data-parsoid='{"stx":"html"}'>Two</li>
15166 HTML bullet list, unclosed tags (bug 5497)
15178 <ul data-parsoid='{"stx":"html"}'>
15179 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>One</li>
15180 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>Two</li>
15186 HTML ordered list, closed tags (bug 5497)
15199 <ol data-parsoid='{"stx":"html"}'>
15200 <li data-parsoid='{"stx":"html"}'>One</li>
15201 <li data-parsoid='{"stx":"html"}'>Two</li>
15207 HTML ordered list, unclosed tags (bug 5497)
15220 <ol data-parsoid='{"stx":"html"}'>
15221 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>One</li>
15222 <li data-parsoid='{"stx":"html","autoInsertedEnd":true}'>Two</li>
15228 HTML nested bullet list, closed tags (bug 5497)
15253 HTML nested bullet list, open tags (bug 5497)
15290 HTML nested ordered list, closed tags (bug 5497)
15315 HTML nested ordered list, open tags (bug 5497)
15352 HTML ordered list item with parameters oddity
15354 <ol><li id="fragment">One</li>
15357 <ol><li id="fragment">One</li>
15362 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
15364 bug 5918: autonumbering
15366 [http://first/] [http://second] [ftp://ftp]
15370 [mailto:enclosed@mail.tld With target]
15372 [mailto:enclosed@mail.tld]
15374 mailto:inline@mail.tld
15376 <p><a rel="nofollow" class="external autonumber" href="http://first/">[1]</a> <a rel="nofollow" class="external autonumber" href="http://second">[2]</a> <a rel="nofollow" class="external autonumber" href="ftp://ftp">[3]</a>
15377 </p><p><a rel="nofollow" class="external free" href="ftp://inlineftp">ftp://inlineftp</a>
15378 </p><p><a rel="nofollow" class="external text" href="mailto:enclosed@mail.tld">With target</a>
15379 </p><p><a rel="nofollow" class="external autonumber" href="mailto:enclosed@mail.tld">[4]</a>
15380 </p><p><a rel="nofollow" class="external free" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a>
15383 <p><a rel="mw:ExtLink" href="http://first/"></a> <a rel="mw:ExtLink" href="http://second"></a> <a rel="mw:ExtLink" href="ftp://ftp"></a></p>
15384 <p><a rel="mw:ExtLink" href="ftp://inlineftp">ftp://inlineftp</a></p>
15385 <p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld">With target</a></p>
15386 <p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld"></a></p>
15387 <p><a rel="mw:ExtLink" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a></p>
15392 # Security and HTML correctness
15393 # From Nick Jenkins' fuzz testing
15397 Fuzz testing: Parser13
15412 Fuzz testing: Parser14
15417 <h2><a href="#onmouseover.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
15418 http://<div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
15420 <li class="toclevel-1 tocsection-1"><a href="#onmouseover.3D"><span class="tocnumber">1</span> <span class="toctext">onmouseover=</span></a></li>
15426 <h2><a href="#onmouseover.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
15428 <div id="toc" class="toc">
15429 <div id="toctitle">
15433 <li class="toclevel-1 tocsection-1"><a href="#onmouseover.3D"><span class="tocnumber">1</span> <span class="toctext">onmouseover=</span></a></li>
15439 Fuzz testing: Parser14-table
15444 <h2><a href="#a" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
15445 <table style="__TOC__">
15450 <h2><a href="#a" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
15451 <table style="__TOC__">
15458 # Known to produce bogus xml (extra </td>)
15460 Fuzz testing: Parser16
15489 Fuzz testing: Parser21
15492 ! irc://{{ftp://a" onmouseover="alert('hello world');"
15497 <th> <a rel="nofollow" class="external free" href="irc://{{ftp://a">irc://{{ftp://a</a>" onmouseover="alert('hello world');"
15507 Fuzz testing: Parser22
15509 http://===r:::https://b
15513 <p><a rel="nofollow" class="external free" href="http://===r:::https://b">http://===r:::https://b</a>
15521 # Known to produce bad XML for now
15523 Fuzz testing: Parser24
15530 | {{{{SSSll!!!!!!!VVVV)]]][[Special:*xxxxxxx--><noinclude>}}}} >
15531 <br style="onmouseover='alert(document.cookie);' " />
15533 MOVE YOUR MOUSE CURSOR OVER THIS TEXT
15538 <u class="|">}}}} >
15539 <br style="onmouseover='alert(document.cookie);'" />
15541 MOVE YOUR MOUSE CURSOR OVER THIS TEXT
15550 # Note: the current result listed for this is not what the original one was,
15551 # but the original bug was JavaScript injection, which is fixed in any case.
15552 # It's not clear that the original result listed was any more correct than the
15553 # current one. Original result:
15556 # <li class="||">
15557 # }}}blah" onmouseover="alert('hello world');" align="left"<b>MOVE MOUSE CURSOR OVER HERE</b>
15559 Fuzz testing: Parser25 (bug 6055)
15565 }}}blah" onmouseover="alert('hello world');" align="left"'''MOVE MOUSE CURSOR OVER HERE
15567 <p><LI CLASS=blah" onmouseover="alert('hello world');" align="left"<b>MOVE MOUSE CURSOR OVER HERE</b>
15572 Fuzz testing: URL adjacent extension (with space, clean)
15574 http://example.com <nowiki>junk</nowiki>
15576 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a> junk
15579 <p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a> <span typeof="mw:Nowiki">junk</span></p>
15583 Fuzz testing: URL adjacent extension (no space, dirty; nowiki)
15585 http://example.com<nowiki>junk</nowiki>
15587 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>junk
15590 <p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a><span typeof="mw:Nowiki">junk</span></p>
15594 Fuzz testing: URL adjacent extension (no space, dirty; pre)
15596 http://example.com<pre>junk</pre>
15598 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a><pre>junk</pre>
15601 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></p>
15606 <p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a></p><pre data-parsoid='{"stx":"html"}'>junk</pre>
15610 Fuzz testing: image with bogus manual thumbnail
15612 [[Image:foobar.jpg|thumbnail= ]]
15614 <div class="thumb tright"><div class="thumbinner" style="width:182px;">Error creating thumbnail: <div class="thumbcaption"></div></div></div>
15617 <figure class="mw-default-size" typeof="mw:Error mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"manualthumb","ak":"thumbnail= "}],"dsr":[0,32,2,2]}' data-mw='{"errors":[{"key":"missing-thumbnail","message":"This thumbnail does not exist.","params":{"name":""}}],"thumb":""}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"sa":{},"dsr":[2,30,null,null]}'><img resource="./File:Foobar.jpg" src="./Special:FilePath/" height="220" width="220" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"220","width":"220"},"sa":{"resource":"Image:foobar.jpg"}}'/></a></figure>
15621 Fuzz testing: encoded newline in generated HTML replacements (bug 6577)
15623 <pre dir=" "></pre>
15625 <pre dir=" "></pre>
15630 Parsing optional HTML elements (Bug 6171)
15635 <td> Some tabular data</td>
15636 <td> More tabular data ...
15637 <td> And yet som tabular data</td>
15643 <td> Some tabular data</td>
15644 <td> More tabular data ...
15645 </td><td> And yet som tabular data</td>
15652 Correct handling of <td>, <tr> (Bug 6171)
15657 <td> Some tabular data</td>
15658 <td> More tabular data ...</td>
15659 <td> And yet som tabular data</td>
15665 <td> Some tabular data</td>
15666 <td> More tabular data ...</td>
15667 <td> And yet som tabular data</td>
15675 Parsing crashing regression (fr:JavaScript)
15679 <p></body></x>
15684 Inline wiki vs wiki block nesting
15690 <p><b>Bold paragraph</b>
15691 </p><p>New wiki paragraph
15695 # FIXME: The current php output is documented
15696 # and desired output is the parsoid target.
15698 Inline HTML vs wiki block nesting
15704 <p><b>Bold paragraph
15705 </p><p>New wiki paragraph</b>
15708 <p><b>Bold paragraph</b>
15709 </p><p>New wiki paragraph
15713 # Original result was this:
15714 # <p><b>bold</b><b>bold<i>bolditalics</i></b>
15716 # While that might be marginally more intuitive, maybe, the six-apostrophe
15717 # construct is clearly pathological and the result stated here (which is what
15718 # the parser actually does) is about as reasonable as anything.
15720 Mixing markup for italics and bold
15723 '''bold''''''bold''bolditalics'''''
15725 <p>'<i>bold'</i><b>bold<i>bolditalics</i></b>
15733 Article for special page transclusion test
15737 Special page transclusion
15740 {{Special:Prefixindex/Xyzzyx}}
15742 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
15747 Special page transclusion twice (bug 5021)
15750 {{Special:Prefixindex/Xyzzyx}}
15751 {{Special:Prefixindex/Xyzzyx}}
15753 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
15754 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
15759 Transclusion of default MediaWiki message
15761 {{MediaWiki:Mainpage}}
15768 Transclusion of nonexistent MediaWiki message
15770 {{MediaWiki:Mainpagexxx}}
15772 <p><a href="/index.php?title=MediaWiki:Mainpagexxx&action=edit&redlink=1" class="new" title="MediaWiki:Mainpagexxx (page does not exist)">MediaWiki:Mainpagexxx</a>
15777 Transclusion of MediaWiki message with underscore
15779 {{MediaWiki:history_short}}
15786 Transclusion of MediaWiki message with space
15788 {{MediaWiki:history short}}
15795 Invalid header with following text
15805 Section extraction test (section 0)
15825 Section extraction test (section 1)
15847 Section extraction test (section 2)
15868 Section extraction test (section 3)
15888 Section extraction test (section 4)
15912 Section extraction test (section 5)
15932 Section extraction test (section 6)
15953 Section extraction test (section 7)
15973 Section extraction test (section 8)
15993 Section extraction test (section 9)
16014 Section extraction test (section 10)
16034 Section extraction test (nonexistent section 11)
16053 Section extraction test with bogus heading (section 1)
16058 ==bogus== not a legal section
16062 ==bogus== not a legal section
16066 Section extraction test with bogus heading (section 2)
16071 ==bogus== not a legal section
16078 Section extraction test with comment after heading (section 1)
16090 Section extraction test with comment after heading (section 2)
16102 Section extraction test with bogus <nowiki> heading (section 1)
16107 ==bogus== <nowiki>not a legal section</nowiki>
16111 ==bogus== <nowiki>not a legal section</nowiki>
16115 Section extraction test with bogus <nowiki> heading (section 2)
16120 ==bogus== <nowiki>not a legal section</nowiki>
16127 # Formerly testing for bug 2587, now resolved by the use of unmarked sections
16128 # instead of respecting commented sections
16130 Section extraction prefixed by comment (section 1)
16141 Section extraction prefixed by comment (section 2)
16152 # Formerly testing for bug 2607, now resolved by the use of unmarked sections
16153 # instead of respecting HTML-style headings
16155 Section extraction, mixed wiki and html (section 1)
16171 Section extraction, mixed wiki and html (section 2)
16187 # Formerly testing for bug 3342
16189 Section extraction, heading surrounded by <noinclude>
16193 <noinclude>==unmarked==</noinclude>
16199 # Test behavior of bug 19910
16201 Sectiion with all-equals
16206 The line above must have a trailing space
16209 But just in case it doesn't...
16213 But just in case it doesn't...
16217 Section replacement test (section 0)
16248 Section replacement test (section 1)
16277 Section replacement test (section 2)
16307 Section replacement test (section 3)
16338 Section replacement test (section 4)
16365 Section replacement test (section 5)
16396 Section replacement test (section 6)
16426 Section replacement test (section 7)
16457 Section replacement test (section 8)
16488 Section replacement test (section 9)
16517 Section replacement test (section 10)
16547 Section replacement test with initial whitespace (bug 13728)
16551 Preformatted initial line
16555 Preformatted initial line
16562 Section extraction, heading followed by pre with 20 spaces (bug 6398)
16574 Section extraction, heading followed by pre with 19 spaces (bug 6398 sanity check)
16587 Section extraction, <pre> around bogus header (bug 10309)
16604 Section replacement, <pre> around bogus header (bug 10309)
16606 noxml replace=2,"xxx"
16627 Handling of 
 in URLs
16631 <ul><li><ul><li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
16634 <ul><li><ul><li> <a rel="mw:ExtLink" href="irc://
16636 a</a></li></ul></li></ul>
16640 Handling of %0A in URLs
16644 <ul><li><ul><li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
16647 <ul><li><ul><li> <a rel="mw:ExtLink" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
16651 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
16653 5 quotes, code coverage +1 line
16660 <p><b><i></i></b></p>
16663 # same html as previous, but wikitext adjusted to match parsoid html2wt
16664 # note that wt2html and html2html will put the <i> before the <b>
16666 5 quotes, code coverage +1 line w/ nowiki (1)
16668 parsoid=wt2wt,html2wt
16670 '''''<nowiki/>'''''
16675 <p><b><i></i></b></p>
16678 # same as previous, just swapping the <i> and <b>
16680 5 quotes, code coverage +1 line w/ nowiki (2)
16682 '''''<nowiki/>'''''
16687 <p><i><b></b></i></p>
16691 Special:Search page linking.
16695 <p><a href="/wiki/Special:Search" title="Special:Search">Special:Search</a>
16700 {{!}} is a magic word
16702 {{!}} is a magic word there and {{!}} is still a magic word here
16704 <p>| is a magic word there and | is still a magic word here
16707 <p><span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"!","href":"./Template:!"},"params":{},"i":0}}]}' data-parsoid='{"pi":[[]]}'>|</span> is a magic word there and <span about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"!","href":"./Template:!"},"params":{},"i":0}}]}' data-parsoid='{"pi":[[]]}'>|</span> is still a magic word here</p>
16713 title=[[Parser test]]
16718 * {{FULLPAGENAMEE}}
16720 * {{BASEPAGENAMEE}}
16724 * {{ROOTPAGENAMEE}}
16726 * {{TALKPAGENAMEE}}
16727 * {{SUBJECTPAGENAME}}
16728 * {{SUBJECTPAGENAMEE}}
16731 * {{NAMESPACENUMBER}}
16735 * {{SUBJECTSPACEE}}
16736 * {{Dynamic|{{NUMBEROFUSERS}}|{{NUMBEROFPAGES}}|{{CURRENTVERSION}}|{{CONTENTLANGUAGE}}|{{DIRECTIONMARK}}|{{CURRENTTIMESTAMP}}|{{NUMBEROFARTICLES}}}}
16738 <ul><li> Parser test</li>
16739 <li> Parser_test</li>
16740 <li> Parser test</li>
16741 <li> Parser_test</li>
16742 <li> Parser test</li>
16743 <li> Parser_test</li>
16744 <li> Parser test</li>
16745 <li> Parser_test</li>
16746 <li> Parser test</li>
16747 <li> Parser_test</li>
16748 <li> Talk:Parser test</li>
16749 <li> Talk:Parser_test</li>
16750 <li> Parser test</li>
16751 <li> Parser_test</li>
16759 <li> <a href="/index.php?title=Template:Dynamic&action=edit&redlink=1" class="new" title="Template:Dynamic (page does not exist)">Template:Dynamic</a></li></ul>
16762 ### Note: Above tests excludes the "{{NUMBEROFADMINS}}" magic word because it generates a MySQL error when included.
16772 image4 |300px| centre
16773 image5.svg| http://///////
16778 <ul class="gallery mw-gallery-traditional">
16779 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16780 <div class="thumb" style="height: 150px;">Image1.png</div>
16781 <div class="gallerytext">
16784 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16785 <div class="thumb" style="height: 150px;">Image2.gif</div>
16786 <div class="gallerytext">
16791 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16792 <div class="thumb" style="height: 150px;">Image3</div>
16793 <div class="gallerytext">
16796 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16797 <div class="thumb" style="height: 150px;">Image4</div>
16798 <div class="gallerytext">
16803 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16804 <div class="thumb" style="height: 150px;">Image5.svg</div>
16805 <div class="gallerytext">
16806 <p><a rel="nofollow" class="external free" href="http://///////">http://///////</a>
16810 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16811 <div class="thumb" style="height: 150px;">* image6</div>
16812 <div class="gallerytext">
16820 Gallery (with options)
16822 <gallery widths='70px' heights='40px' perrow='2' caption='Foo [[Main Page]]' >
16823 File:Nonexistent.jpg|caption
16824 File:Nonexistent.jpg
16825 image:foobar.jpg|some '''caption''' [[Main Page]]
16827 image:foobar.jpg|Blabla|alt=This is a foo-bar.|blabla.
16830 <ul class="gallery mw-gallery-traditional" style="max-width: 226px;_width: 226px;">
16831 <li class='gallerycaption'>Foo <a href="/wiki/Main_Page" title="Main Page">Main Page</a></li>
16832 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
16833 <div class="thumb" style="height: 70px;">Nonexistent.jpg</div>
16834 <div class="gallerytext">
16839 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
16840 <div class="thumb" style="height: 70px;">Nonexistent.jpg</div>
16841 <div class="gallerytext">
16844 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
16845 <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
16846 <div class="gallerytext">
16847 <p>some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
16851 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
16852 <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
16853 <div class="gallerytext">
16856 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
16857 <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="This is a foo-bar." src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
16858 <div class="gallerytext">
16868 Gallery with link that has fragment
16871 image:foobar.jpg|link=Main_Page
16872 image:foobar.jpg|link=Main_Page#section
16873 image:foobar.jpg|link=Main Page#section|caption
16876 <ul class="gallery mw-gallery-traditional">
16877 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16878 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16879 <div class="gallerytext">
16882 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16883 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16884 <div class="gallerytext">
16887 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16888 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16889 <div class="gallerytext">
16899 Gallery with wikitext inside caption
16902 File:foobar.jpg|[[File:foobar.jpg|20px|desc|alt=inneralt]]|alt=galleryalt
16903 File:foobar.jpg|{{Test|unamedParam|alt=param}}|alt=galleryalt
16906 <ul class="gallery mw-gallery-traditional">
16907 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16908 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16909 <div class="gallerytext">
16910 <p><a href="/wiki/File:Foobar.jpg" class="image" title="desc"><img alt="inneralt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" width="20" height="2" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/30px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/40px-Foobar.jpg 2x" /></a>
16914 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16915 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16916 <div class="gallerytext">
16917 <p>This is a test template
16926 gallery (with showfilename option)
16928 <gallery showfilename>
16929 File:Nonexistent.jpg|caption
16930 File:Nonexistent.jpg
16931 image:foobar.jpg|some '''caption''' [[Main Page]]
16935 <ul class="gallery mw-gallery-traditional">
16936 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16937 <div class="thumb" style="height: 150px;">Nonexistent.jpg</div>
16938 <div class="gallerytext">
16939 <p><a href="/wiki/File:Nonexistent.jpg" title="File:Nonexistent.jpg">Nonexistent.jpg</a><br />
16944 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16945 <div class="thumb" style="height: 150px;">Nonexistent.jpg</div>
16946 <div class="gallerytext">
16947 <p><a href="/wiki/File:Nonexistent.jpg" title="File:Nonexistent.jpg">Nonexistent.jpg</a><br />
16951 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16952 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16953 <div class="gallerytext">
16954 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
16955 some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
16959 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16960 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16961 <div class="gallerytext">
16962 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
16971 Gallery (with namespace-less filenames)
16974 File:Nonexistent.jpg
16980 <ul class="gallery mw-gallery-traditional">
16981 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16982 <div class="thumb" style="height: 150px;">Nonexistent.jpg</div>
16983 <div class="gallerytext">
16986 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16987 <div class="thumb" style="height: 150px;">Nonexistent.jpg</div>
16988 <div class="gallerytext">
16991 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16992 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16993 <div class="gallerytext">
16996 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
16997 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
16998 <div class="gallerytext">
17006 HTML Hex character encoding (spells the word "JavaScript")
17008 parsoid=wt2html,wt2wt,html2html
17010 JavaScript
17012 <p>JavaScript
17017 <p><span typeof="mw:Entity">J</span><span typeof="mw:Entity">a</span><span typeof="mw:Entity">v</span><span typeof="mw:Entity">a</span><span typeof="mw:Entity">S</span><span typeof="mw:Entity">c</span><span typeof="mw:Entity">r</span><span typeof="mw:Entity">i</span><span typeof="mw:Entity">p</span><span typeof="mw:Entity">t</span></p>
17021 HTML Hex character encoding bogus encoding (bug 26437 regression check)
17025 <p>&#xsee;&#XSEE;
17028 <p>&#xsee;&#XSEE;</p>
17032 HTML Hex character encoding mixed case
17034 parsoid=wt2html,wt2wt,html2html
17043 <p><span typeof="mw:Entity">î</span><span typeof="mw:Entity">î</span></p>
17047 __FORCETOC__ override
17059 ISBN 978-0-1234-56 789
17061 <p><a href="/wiki/Special:BookSources/9780123456" class="internal mw-magiclink-isbn">ISBN 978-0-1234-56</a> 789
17064 <p><a href="/wiki/Special:BookSources/9780123456" class="internal mw-magiclink-isbn">ISBN 978-0-1234-56</a> 789</p>
17066 <p><a href="./Special:BookSources/9780123456" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 978-0-1234-56</a><span typeof="mw:Entity" data-parsoid='{"src":"&#x20;","srcContent":" "}'> </span>789</p>
17070 ISBN followed by 5 spaces
17081 ISBN ISBN 1234567890
17083 <p>ISBN <a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>
17086 <p>ISBN <a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a></p>
17096 <p><a href="/wiki/Special:BookSources/346204561X" class="internal mw-magiclink-isbn">ISBN 3-462-04561-X</a>
17097 <a href="/wiki/Special:BookSources/080442957X" class="internal mw-magiclink-isbn">ISBN 080442957X</a>
17098 <a href="/wiki/Special:BookSources/978080442957X" class="internal mw-magiclink-isbn">ISBN 978080442957X</a>
17101 <p><a href="./Special:BookSources/346204561X" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 3-462-04561-X</a>
17102 <a href="./Special:BookSources/080442957X" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 080442957X</a>
17103 <a href="./Special:BookSources/978080442957X" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 978080442957X</a></p>
17107 ISBN with empty prefix (parsoid test)
17111 <p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>
17114 <p><a href="Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 1234567890</a></p>
17118 Bug 22905: <abbr> followed by ISBN followed by </a>
17120 <abbr>(fr)</abbr> ISBN 2753300917 [http://www.example.com example.com]
17122 <p><abbr>(fr)</abbr> <a href="/wiki/Special:BookSources/2753300917" class="internal mw-magiclink-isbn">ISBN 2753300917</a> <a rel="nofollow" class="external text" href="http://www.example.com">example.com</a>
17125 <p><abbr data-parsoid='{"stx":"html"}'>(fr)</abbr> <a href="./Special:BookSources/2753300917" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 2753300917</a> <a rel="mw:ExtLink" href="http://www.example.com">example.com</a></p>
17133 <p>RFC <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc1234">RFC 1234</a>
17138 Double RFC with a wiki link
17142 <p>RFC <a href="/index.php?title=RFC_1234&action=edit&redlink=1" class="new" title="RFC 1234 (page does not exist)">RFC 1234</a>
17151 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc983">RFC 983</a> 987
17154 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc983">RFC 983</a> 987</p>
17158 Centre-aligned image
17160 [[Image:foobar.jpg|centre]]
17162 <div class="center"><div class="floatnone"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div></div>
17169 [[Image:foobar.jpg|none]]
17171 <div class="floatnone"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></div>
17176 Width + Height sized image (using px) (height is ignored)
17178 [[Image:foobar.jpg|640x480px]]
17180 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
17185 Width-sized image (using px, no following whitespace)
17187 [[Image:foobar.jpg|640px]]
17189 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
17194 Width-sized image (using px, with following whitespace - test regression from r39467)
17196 [[Image:foobar.jpg|640px ]]
17198 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
17203 Width-sized image (using px, with preceding whitespace - test regression from r39467)
17205 [[Image:foobar.jpg| 640px]]
17207 <p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg" width="640" height="73" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg 2x" /></a>
17212 Image with page parameter
17216 [[File:LoremIpsum.djvu|page=2]]
17218 <p><a href="/index.php?title=File:LoremIpsum.djvu&page=2" class="image"><img alt="LoremIpsum.djvu" src="http://example.com/images/thumb/5/5f/LoremIpsum.djvu/page2-2480px-LoremIpsum.djvu.jpg" width="2480" height="3508" srcset="http://example.com/images/thumb/5/5f/LoremIpsum.djvu/page2-3720px-LoremIpsum.djvu.jpg 1.5x, http://example.com/images/thumb/5/5f/LoremIpsum.djvu/page2-4960px-LoremIpsum.djvu.jpg 2x" /></a>
17221 <p><span class="mw-default-size" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"page","ak":"page=2"}]}'><a href="./File:LoremIpsum.djvu" data-parsoid='{"a":{"href":"./File:LoremIpsum.djvu"},"sa":{}}'><img resource="./File:LoremIpsum.djvu" src="//example.com/images/5/5f/LoremIpsum.djvu" height="3508" width="2480" data-parsoid='{"a":{"resource":"./File:LoremIpsum.djvu","height":"3508","width":"2480"},"sa":{"resource":"File:LoremIpsum.djvu"}}'/></a></span></p>
17225 Another italics / bold test
17233 # FIXME: The php output seems broken. It's interleaving some open/close tags.
17239 <dl><dd><dl><dt><dl><dt><dl><dt><dl><dd><dl><dd></dt></dl></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl>
17242 <dl><dd><dl><dt><dl><dt><dl><dt><dl><dd><dl><dd></dd></dl></dd></dl></dt></dl></dt></dl></dt></dl></dd></dl>
17247 # Images with the "|" character in external URLs in comment tags; Eats half the comment, leaves unmatched "</a>" tag.
17249 Images with the "|" character in the comment
17251 [[File:Foobar.jpg|thumb|An [http://test/?param1=|left|¶m2=|x external] URL]]
17253 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>An <a rel="nofollow" class="external text" href="http://test/?param1=%7Cleft%7C&param2=%7Cx">external</a> URL</div></div></div>
17256 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>An <a rel="mw:ExtLink" href="http://test/?param1=|left|&param2=|x">external</a> URL</figcaption></figure>
17260 [Before] HTML without raw HTML enabled ($wgRawHtml==false)
17262 <html><script>alert(1);</script></html>
17264 <p><html><script>alert(1);</script></html>
17269 HTML with raw HTML ($wgRawHtml==true)
17273 <html><script>alert(1);</script></html>
17275 <p><script>alert(1);</script>
17280 Parents of subpages, one level up
17282 subpage title=[[Subpage test/L1/L2/L3]]
17286 <p><a href="/index.php?title=Subpage_test/L1/L2&action=edit&redlink=1" class="new" title="Subpage test/L1/L2 (page does not exist)">L2</a>
17292 Parents of subpages, one level up, not named
17294 subpage title=[[Subpage test/L1/L2/L3]]
17298 <p><a href="/index.php?title=Subpage_test/L1/L2&action=edit&redlink=1" class="new" title="Subpage test/L1/L2 (page does not exist)">Subpage test/L1/L2</a>
17305 Parents of subpages, two levels up
17307 subpage title=[[Subpage test/L1/L2/L3]]
17313 <p><a href="/index.php?title=Subpage_test/L1&action=edit&redlink=1" class="new" title="Subpage test/L1 (page does not exist)">L1</a>2
17314 </p><p><a href="/index.php?title=Subpage_test/L1&action=edit&redlink=1" class="new" title="Subpage test/L1 (page does not exist)">L1l</a>
17319 Parents of subpages, two levels up, without trailing slash or name.
17321 subpage title=[[Subpage test/L1/L2/L3]]
17330 Parents of subpages, two levels up, with lots of extra trailing slashes.
17332 subpage title=[[Subpage test/L1/L2/L3]]
17336 <p><a href="/index.php?title=Subpage_test/L1&action=edit&redlink=1" class="new" title="Subpage test/L1 (page does not exist)">Subpage test/L1</a>
17341 Subpage test/L1/L2/L3Sibling
17347 Transclusion of a sibling page (one level up)
17349 subpage title=[[Subpage test/L1/L2/L3]]
17358 Transclusion of a child page
17360 subpage title=[[Subpage test/L1/L2]]
17369 Non-transclusion because of too many up levels
17371 subpage title=[[Subpage test/L1/L2/L3]]
17373 {{../../../../More than parent}}
17375 <p>{{../../../../More than parent}}
17380 Definition list code coverage
17386 <dl><dt> title  </dt>
17388 <dt> title </dt>
17394 <dl><dt> title <span typeof="mw:Placeholder"> </span></dt><dd> def</dd>
17395 <dt> title<span typeof="mw:Placeholder"> </span></dt><dd> def</dd>
17396 <dt>title</dt><dd> def</dd></dl>
17400 Don't fall for the self-closing div
17402 <div>hello world</div/>
17404 <div>hello world</div>
17413 <p>[[:Template:Msg]]
17422 <p><a href="/index.php?title=Template:QUERTY&action=edit&redlink=1" class="new" title="Template:QUERTY (page does not exist)">Template:QUERTY</a>
17426 # This isn't needed for XHTML conformance, but would be handy as a fallback security measure
17428 Always escape literal '>' in output, not just after '<'
17442 <p>This is a test template
17443 This is a test template
17455 Inclusion of !userCanEdit() content
17459 <h2><a href="#header" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="header">header</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=MediaWiki:Fake&action=edit&section=T-1" title="MediaWiki:Fake">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
17465 Out-of-order TOC heading levels
17474 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17476 <li class="toclevel-1 tocsection-1"><a href="#2"><span class="tocnumber">1</span> <span class="toctext">2</span></a>
17478 <li class="toclevel-2 tocsection-2"><a href="#6"><span class="tocnumber">1.1</span> <span class="toctext">6</span></a></li>
17479 <li class="toclevel-2 tocsection-3"><a href="#3"><span class="tocnumber">1.2</span> <span class="toctext">3</span></a></li>
17482 <li class="toclevel-1 tocsection-4"><a href="#1"><span class="tocnumber">2</span> <span class="toctext">1</span></a>
17484 <li class="toclevel-2 tocsection-5"><a href="#5"><span class="tocnumber">2.1</span> <span class="toctext">5</span></a></li>
17485 <li class="toclevel-2 tocsection-6"><a href="#2_2"><span class="tocnumber">2.2</span> <span class="toctext">2</span></a></li>
17491 <h2><a href="#2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
17492 <h6><a href="#6" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="6">6</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: 6">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
17493 <h3><a href="#3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="3">3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: 3">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
17494 <h1><a href="#1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="1">1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: 1">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
17495 <h5><a href="#5" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="5">5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: 5">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
17496 <h2><a href="#2_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="2_2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=6" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
17502 ISBN with a dummy number
17512 ISBN with space-delimited number
17516 <p><a href="/wiki/Special:BookSources/9290170328" class="internal mw-magiclink-isbn">ISBN 92 9017 032 8</a>
17522 ISBN with multiple spaces, no number
17541 </p><p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>
17542 </p><p>ISBN 12345678901
17548 ISBN with trailing year (bug 8110)
17550 ISBN 1-234-56789-0 - 2006
17552 ISBN 1 234 56789 0 - 2006
17554 <p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1-234-56789-0</a> - 2006
17555 </p><p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1 234 56789 0</a> - 2006
17563 {{anchorencode:foo bar©#%n}}
17565 <p>foo_bar.C2.A9.23.25n
17570 anchorencode trims spaces
17572 {{anchorencode: __pretty__please__}}
17579 anchorencode deals with links
17581 {{anchorencode: [[hello|world]] [[hi]]}}
17588 anchorencode deals with templates
17590 {{anchorencode: {{Foo}} }}
17597 anchorencode encodes like the TOC generator: (bug 18431)
17599 === _ +:.3A%3A&&]] ===
17600 {{anchorencode: _ +:.3A%3A&&]] }}
17603 <h3><a href="#.2B:.3A.253A.26.26.5D.5D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".2B:.3A.253A.26.26.5D.5D">_ +:.3A%3A&&]]</span></h3>
17604 <p>.2B:.3A.253A.26.26.5D.5D
17609 Bug 6200: blockquotes and paragraph formatting
17630 Bug 8293: Use of center tag ruins paragraph formatting
17651 Parsing of overlapping (improperly nested) inline html tags
17653 <span><s>x</span></s>
17655 <p><span><s>x</span></s></span>
17658 <p><span><s>x</s></span>
17663 ### Language variants related tests
17666 Self-link in language variants
17668 title=[[Dunav]] language=sr
17670 Both [[Dunav]] and [[Дунав]] are names for this river.
17672 <p>Both <strong class="selflink">Dunav</strong> and <strong class="selflink">Дунав</strong> are names for this river.
17683 Link to another existing title shouldn't be parsed as self-link even if it's a variant of this title
17685 title=[[Duna]] language=sr
17687 [[Дуна]] is not a self-link while [[Duna]] and [[Dуна]] are still self-links.
17689 <p><a href="/wiki/%D0%94%D1%83%D0%BD%D0%B0" title="Дуна">Дуна</a> is not a self-link while <strong class="selflink">Duna</strong> and <strong class="selflink">Dуна</strong> are still self-links.
17694 Link to a section of a variant of this title shouldn't be parsed as self-link
17696 title=[[Duna]] language=sr
17698 [[Dуна]] is a self-link while [[Dunа#Foo]] and [[Dуна#Foo]] are not self-links.
17700 <p><strong class="selflink">Dуна</strong> is a self-link while <a href="/wiki/%D0%94%D1%83%D0%BD%D0%B0" title="Дуна">Dunа#Foo</a> and <a href="/wiki/%D0%94%D1%83%D0%BD%D0%B0" title="Дуна">Dуна#Foo</a> are not self-links.
17705 Link to pages in language variants
17709 Main Page can be written as [[Маин Паге]]
17711 <p>Main Page can be written as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a>
17717 Multiple links to pages in language variants
17721 [[Main Page]] can be written as [[Маин Паге]] same as [[Маин Паге]].
17723 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a> can be written as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a> same as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a>.
17729 Simple template in language variants
17735 <p>This is a test template
17741 Template with explicit namespace in language variants
17747 <p>This is a test template
17753 Basic test for template parameter in language variants
17757 {{парамтест|param=foo}}
17759 <p>This is a test template with parameter foo
17765 Simple category in language variants
17769 [[Category:МедиаWики Усер'с Гуиде]]
17771 <a href="/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%98%D0%B0:MediaWiki_User%27s_Guide" title="Категорија:MediaWiki User's Guide">MediaWiki User's Guide</a>
17788 Don't convert blue categorylinks to another variant (bug 33210)
17792 [[A]][[Category:分类]]
17794 <a href="/wiki/Category:%E5%88%86%E7%B1%BB" title="Category:分类">分类</a>
17799 Stripping -{}- tags (language variants)
17803 Latin proverb: -{Ne nuntium necare}-
17805 <p>Latin proverb: Ne nuntium necare
17811 Prevent conversion with -{}- tags (language variants)
17813 language=sr variant=sr-ec
17815 Latinski: -{Ne nuntium necare}-
17817 <p>Латински: Ne nuntium necare
17823 Prevent conversion of text with -{}- tags (language variants)
17825 language=sr variant=sr-ec
17827 Latinski: -{Ne nuntium necare}-
17829 <p>Латински: Ne nuntium necare
17835 Prevent conversion of links with -{}- tags (language variants)
17837 language=sr variant=sr-ec
17841 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
17847 -{}- tags within headlines (within html for parserConvert())
17849 language=sr variant=sr-ec
17853 <h2><a href="#-.7BNaslov.7D-" class="mw-headline-anchor" aria-hidden="true" title="Линк то тхис сецтион">§</a><span class="mw-headline" id="-.7BNaslov.7D-">Naslov</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Уредите одељак „Naslov“">уреди</a><span class="mw-editsection-bracket">]</span></span></h2>
17859 Explicit definition of language variant alternatives
17861 language=zh variant=zh-tw
17863 -{zh:China;zh-tw:Taiwan}-, not China
17865 <p>Taiwan, not China
17871 Conversion around HTML tags
17873 language=sr variant=sr-ec
17875 -{H|span=>sr-ec:script;title=>sr-ec:src;}-
17876 <span title="La-{sr-el:L;sr-ec:C;}-tin">ski</span>
17879 <span title="ЛаCтин">ски</span>
17885 Explicit session-wise language variant mapping (A flag and - flag)
17887 language=zh variant=zh-tw
17889 Taiwan is not China.
17890 But -{A|zh:China;zh-tw:Taiwan}- is China,
17891 (This-{-|zh:China;zh-tw:Taiwan}- should be stripped!)
17892 and -{China}- is China.
17894 <p>Taiwan is not China.
17895 But Taiwan is Taiwan,
17896 (This should be stripped!)
17897 and China is China.
17902 Explicit session-wise language variant mapping (H flag for hide)
17904 language=zh variant=zh-tw
17906 (This-{H|zh:China;zh-tw:Taiwan}- should be stripped!)
17909 <p>(This should be stripped!)
17915 Adding explicit conversion rule for title (T flag)
17917 language=zh variant=zh-tw showtitle
17919 Should be stripped-{T|zh:China;zh-tw:Taiwan}-!
17922 <p>Should be stripped!
17927 Testing that changing the language variant here in the tests actually works
17929 language=zh variant=zh showtitle
17931 Should be stripped-{T|zh:China;zh-tw:Taiwan}-!
17934 <p>Should be stripped!
17939 Recursive conversion of alt and title attrs shouldn't clear converter state
17941 language=zh variant=zh-cn showtitle
17943 -{H|zh-cn:Exclamation;zh-tw:exclamation;}-
17944 Should be stripped-{T|zh-cn:China;zh-tw:Taiwan}-<span title="exclamation">!</span>
17948 Should be stripped<span title="Exclamation">!</span>
17953 Bug 24072: more test on conversion rule for title
17955 language=zh variant=zh-tw showtitle
17957 This should be stripped-{T|zh:China;zh-tw:Taiwan}-!
17958 This won't take interferes with the title rule-{H|zh:Beijing;zh-tw:Taipei}-.
17961 <p>This should be stripped!
17962 This won't take interferes with the title rule.
17967 Partly disable title conversion if variant == main language code
17969 language=zh variant=zh title=[[ZH]] showtitle
17971 -{T|zh-cn:CN;zh-tw:TW}-
17979 Partly disable title conversion if variant == main language code, more
17981 language=zh variant=zh title=[[ZH]] showtitle
17991 Raw output of variant escape tags (R flag)
17993 language=zh variant=zh-tw
17995 Raw: -{R|zh:China;zh-tw:Taiwan}-
17997 <p>Raw: zh:China;zh-tw:Taiwan
18002 Nested using of manual convert syntax
18004 language=zh variant=zh-hk
18006 Nested: -{zh-hans:Hi -{zh-cn:China;zh-sg:Singapore;}-;zh-hant:Hello -{zh-tw:Taiwan;zh-hk:H-{ong}- K-{}-ong;}-;}-!
18008 <p>Nested: Hello Hong Kong!
18013 Proper conversion of text in external links
18015 language=sr variant=sr-ec
18017 http://www.google.com
18018 gopher://www.google.com
18019 [http://www.google.com http://www.google.com]
18020 [gopher://www.google.com gopher://www.google.com]
18021 [https://www.google.com irc://www.google.com]
18022 [ftp://www.google.com www.google.com/ftp://dir]
18023 [//www.google.com www.google.com]
18025 <p><a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
18026 <a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
18027 <a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
18028 <a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
18029 <a rel="nofollow" class="external text" href="https://www.google.com">irc://www.google.com</a>
18030 <a rel="nofollow" class="external text" href="ftp://www.google.com">www.гоогле.цом/фтп://дир</a>
18031 <a rel="nofollow" class="external text" href="//www.google.com">www.гоогле.цом</a>
18036 Do not convert roman numbers to language variants
18038 language=sr variant=sr-ec
18042 <p>Фридрих IV је цар.
18047 Unclosed language converter markup "-{"
18058 Don't convert raw rule "-{R|=>}-" to "=>"
18069 Don't break link parsing if language converter markup is in the caption.
18071 language=sr variant=sr-ec
18073 [[Main Page|-{R|main page}-]]
18075 <p><a href="/wiki/Main_Page" title="Маин Паге">main page</a>
18079 # FIXME: This test is currently broken in the PHP parser (bug 52661)
18081 Don't break image parsing if language converter markup is in the caption.
18085 [[File:Foobar.jpg|-{R|caption}-]]
18087 <p><a href="/wiki/File:Foobar.jpg" class="image" title="caption"><img alt="caption" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
18091 # FIXME: This test is currently broken in the PHP parser (bug 52661)
18093 Don't break list handling if language converter markup is in the item.
18095 language=zh variant=zh-cn
18097 ;-{zh-cn:AAA;zh-tw:BBB}-
18099 <dl><dt><span class="error">在手动语言转换规则中检测到错误</span></dd></dl>
18106 # FIXME: This test is currently broken in the PHP parser (bug 52661)
18108 Don't break table handling if language converter markup is in the cell.
18110 language=sr variant=sr-ec
18133 Bug 529: Uncovered bullet
18142 # Plain MediaWiki does not remove empty lists, but tidy actually does.
18143 # Templates in Wikipedia rely on this behavior, as tidy has always been
18144 # enabled there. These tests are normally run *without* tidy, so specify the
18145 # full output here.
18146 # To test realistic parsing behavior, apply a tidy-like transformation to both
18147 # the expected output and your parser's output.
18149 Bug 529: Uncovered bullet leaving empty list, normally removed by tidy
18151 ******* Foo {{bullet}}
18153 <ul><li><ul><li><ul><li><ul><li><ul><li><ul><li><ul><li> Foo </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>
18159 Bug 529: Uncovered table already at line-start
18182 Bug 529: Uncovered bullet in parser function result
18184 * Foo {{lc:{{bullet}} }}
18192 Bug 5678: Double-parsed template argument
18194 {{lc:{{{1}}}|hello}}
18201 Bug 5678: Double-parsed template invocation
18203 {{lc:{{paramtest {{!}} param = hello }} }}
18205 <p>{{paramtest | param = hello }}
18210 Case insensitivity of parser functions for non-ASCII characters (bug 8143)
18213 title=[[Main Page]]
18215 {{PRVNÍVELKÉ:ěščř}}
18216 {{prvnívelké:ěščř}}
18236 Morwen/13: Unclosed link followed by heading
18243 <h2><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
18248 HHP2.1: Heuristics for headings in preprocessor parenthetical structures
18255 <h1><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span></h1>
18260 HHP2.2: Heuristics for headings in preprocessor parenthetical structures
18267 <h2><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
18282 Paragraphs inside divs (no extra line breaks)
18294 Paragraphs inside divs (extra line break on open)
18309 Paragraphs inside divs (extra line break on close)
18324 Paragraphs inside divs (extra line break on open and close)
18341 Nesting tags, paragraphs on lines which begin with <div>
18343 <div></div><strong>A
18346 <p><strong>A</strong></p>
18347 <p><strong>B</strong></p>
18355 # Bug 6200: <blockquote> should behave like <div> with respect to line breaks
18357 Bug 6200: paragraphs inside blockquotes (no extra line breaks)
18359 <blockquote>Line one
18361 Line two</blockquote>
18363 <blockquote>Line one
18364 Line two</blockquote>
18368 <p>Line one Line two</p>
18373 Bug 6200: paragraphs inside blockquotes (extra line break on open)
18378 Line two</blockquote>
18383 Line two</blockquote>
18388 Line two</blockquote>
18392 Bug 6200: paragraphs inside blockquotes (extra line break on close)
18394 <blockquote>Line one
18399 <blockquote>Line one
18412 Bug 6200: paragraphs inside blockquotes (extra line break on open and close)
18434 Paragraphs inside blockquotes/divs (no extra line breaks)
18436 <blockquote><div>Line one
18438 Line two</div></blockquote>
18440 <blockquote><div>Line one
18441 Line two</div></blockquote>
18446 Paragraphs inside blockquotes/divs (extra line break on open)
18451 Line two</div></blockquote>
18456 Line two</div></blockquote>
18461 Paragraphs inside blockquotes/divs (extra line break on close)
18463 <blockquote><div>Line one
18466 </div></blockquote>
18468 <blockquote><div>Line one
18471 </div></blockquote>
18476 Paragraphs inside blockquotes/divs (extra line break on open and close)
18482 </div></blockquote>
18488 </div></blockquote>
18493 Interwiki links trounced by replaceExternalLinks after early LinkHolderArray expansion
18495 wgLinkHolderBatchSize=0
18501 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?1" class="extiw" title="meatball:1">meatball:1</a>
18502 <a href="http://www.usemod.com/cgi-bin/mb.pl?2" class="extiw" title="meatball:2">meatball:2</a>
18503 <a href="http://www.usemod.com/cgi-bin/mb.pl?3" class="extiw" title="meatball:3">meatball:3</a>
18508 Free external link invading image caption
18510 [[Image:Foobar.jpg|thumb|http://x|hello]]
18512 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"></a></div>hello</div></div></div>
18517 Bug 15196: localised external link numbers
18521 [http://en.wikipedia.org/]
18523 <p><a rel="nofollow" class="external autonumber" href="http://en.wikipedia.org/">[۱]</a>
18526 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/"></a></p>
18530 Multibyte character in padleft
18532 {{padleft:-Hello|7|Æ}}
18539 Multibyte character in padright
18541 {{padright:Hello-|7|Æ}}
18548 formatdate parser function
18550 {{#formatdate:2009-03-24}}
18552 <p><span class="mw-formatted-date" title="2009-03-24">2009-03-24</span>
18557 formatdate parser function, with default format
18559 {{#formatdate:2009-03-24|mdy}}
18561 <p><span class="mw-formatted-date" title="2009-03-24">March 24, 2009</span>
18566 Spacing of numbers in formatted dates
18568 {{#formatdate:January 15}}
18570 <p><span class="mw-formatted-date" title="01-15">January 15</span>
18575 formatdate parser function, with default format and on a page of which the content language is always English and different from the wiki content language
18577 language=nl title=[[MediaWiki:Common.css]]
18579 {{#formatdate:2009-03-24|dmy}}
18581 <p><span class="mw-formatted-date" title="2009-03-24">24 March 2009</span>
18594 Edit comment with link
18598 I like the [[Main Page]] a lot
18600 I like the <a href="/wiki/Main_Page" title="Main Page">Main Page</a> a lot
18604 Edit comment with link and link text
18608 I like the [[Main Page|best pages]] a lot
18610 I like the <a href="/wiki/Main_Page" title="Main Page">best pages</a> a lot
18614 Edit comment with link and link text with suffix
18618 I like the [[Main Page|best page]]s a lot
18620 I like the <a href="/wiki/Main_Page" title="Main Page">best pages</a> a lot
18624 Edit comment with section link (non-local, eg in history list)
18626 comment title=[[Main Page]]
18628 /* External links */ removed bogus entries
18630 <a href="/wiki/Main_Page#External_links" title="Main Page">→</a><span dir="auto"><span class="autocomment">External links: </span> removed bogus entries</span>
18634 Edit comment with section link and text before it (non-local, eg in history list)
18636 comment title=[[Main Page]]
18638 pre-comment text /* External links */ removed bogus entries
18640 pre-comment text <a href="/wiki/Main_Page#External_links" title="Main Page">→</a><span dir="auto"><span class="autocomment">External links: </span> removed bogus entries</span>
18644 Edit comment with section link (local, eg in diff view)
18646 comment local title=[[Main Page]]
18648 /* External links */ removed bogus entries
18650 <a href="#External_links">→</a><span dir="auto"><span class="autocomment">External links: </span> removed bogus entries</span>
18654 Edit comment with subpage link (bug 14080)
18658 title=[[Subpage test]]
18660 Poked at a [[/subpage]] here...
18662 Poked at a <a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">/subpage</a> here...
18666 Edit comment with subpage link and link text (bug 14080)
18670 title=[[Subpage test]]
18672 Poked at a [[/subpage|neat little page]] here...
18674 Poked at a <a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">neat little page</a> here...
18678 Edit comment with bogus subpage link in non-subpage NS (bug 14080)
18681 title=[[Subpage test]]
18683 Poked at a [[/subpage]] here...
18685 Poked at a <a href="/index.php?title=/subpage&action=edit&redlink=1" class="new" title="/subpage (page does not exist)">/subpage</a> here...
18689 Edit comment with bare anchor link (local, as on diff)
18693 title=[[Main Page]]
18697 <a href="#section">#section</a>
18701 Edit comment with bare anchor link (non-local, as on history)
18704 title=[[Main Page]]
18708 <a href="/wiki/Main_Page#section" title="Main Page">#section</a>
18712 Anchor starting with underscore
18716 <p><a href="#_ref">One</a>
18721 Id starting with underscore
18723 <div id="_ref"></div>
18725 <div id="_ref"></div>
18730 Space normalisation on autocomment (bug 22784)
18733 title=[[Main Page]]
18735 /* __hello__world__ */
18737 <a href="/wiki/Main_Page#hello_world" title="Main Page">→</a><span dir="auto"><span class="autocomment">__hello__world__</span></span>
18741 percent-encoding and + signs in comments (Bug 26410)
18745 [[ABC%33D% ++]] [[ABC%33D% ++|+%20]]
18747 <a href="/index.php?title=ABC3D%25_%2B%2B&action=edit&redlink=1" class="new" title="ABC3D% ++ (page does not exist)">ABC3D% ++</a> <a href="/index.php?title=ABC3D%25_%2B%2B&action=edit&redlink=1" class="new" title="ABC3D% ++ (page does not exist)">+%20</a>
18750 # Parsoid doesn't support this yet: see bug 73581
18751 # but it *should* omit the 'src' attribute if the image is bad.
18752 # PHP side of tests was disabled in
18753 # mediawiki/core:6bd31e7d95161a6e88fa86df60871051da997c3c
18754 # because of issues in the PHP parserTests infrastructure
18755 # (but the output below is indeed what the PHP side emits)
18757 Bad images - basic functionality
18760 !! DISABLED/html/php
18762 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"bad-image","message":"This image is blacklisted in this context."}]}'><a href="File:Bad.jpg"><img resource="./File:Bad.jpg" height="220" width="220"/></a></span></p>
18766 Bad images - bug 16039: text after bad image disappears
18771 !! DISABLED/html/php
18777 <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"bad-image","message":"This image is blacklisted in this context."}]}'><a href="File:Bad.jpg"><img resource="./File:Bad.jpg" height="220" width="220"/></a></span>
18782 Verify that displaytitle works (bug #22501) no displaytitle
18786 wgAllowDisplayTitle=true
18787 wgRestrictDisplayTitle=false
18789 this is not the the title
18792 <p>this is not the the title
18797 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=false
18802 wgAllowDisplayTitle=true
18803 wgRestrictDisplayTitle=false
18805 this is not the the title
18806 {{DISPLAYTITLE:whatever}}
18809 <p>this is not the the title
18814 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=true mismatch
18819 wgAllowDisplayTitle=true
18820 wgRestrictDisplayTitle=true
18822 this is not the the title
18823 {{DISPLAYTITLE:whatever}}
18826 <p>this is not the the title
18831 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=true matching
18836 wgAllowDisplayTitle=true
18837 wgRestrictDisplayTitle=true
18839 this is not the the title
18840 {{DISPLAYTITLE:screen}}
18843 <p>this is not the the title
18848 Verify that displaytitle works (bug #22501) AllowDisplayTitle=false
18853 wgAllowDisplayTitle=false
18855 this is not the the title
18856 {{DISPLAYTITLE:screen}}
18859 <p>this is not the the title
18860 <a href="/index.php?title=Template:DISPLAYTITLE:screen&action=edit&redlink=1" class="new" title="Template:DISPLAYTITLE:screen (page does not exist)">Template:DISPLAYTITLE:screen</a>
18865 Verify that displaytitle works (bug #22501) AllowDisplayTitle=false no DISPLAYTITLE
18870 wgAllowDisplayTitle=false
18872 this is not the the title
18875 <p>this is not the the title
18880 Verify that displaytitle handles inline CSS styles (bug 26547) - rejected value
18885 wgAllowDisplayTitle=true
18886 wgRestrictDisplayTitle=true
18888 this is not the the title
18889 {{DISPLAYTITLE:<span style="display: none;">s</span>creen}}
18891 <span style="/* attempt to bypass $wgRestrictDisplayTitle */">s</span>creen
18892 <p>this is not the the title
18897 Verify that displaytitle handles inline CSS styles (bug 26547) - accepted value
18902 wgAllowDisplayTitle=true
18903 wgRestrictDisplayTitle=true
18905 this is not the the title
18906 {{DISPLAYTITLE:<span style="color: red;">s</span>creen}}
18908 <span style="color: red;">s</span>creen
18909 <p>this is not the the title
18914 preload: check <noinclude> and <includeonly>
18918 Hello <noinclude>cruel</noinclude><includeonly>kind</includeonly> world.
18924 preload: check <onlyinclude>
18928 Goodbye <onlyinclude>Hello world</onlyinclude>
18934 preload: can pass tags through if we want to
18938 <includeonly><</includeonly>includeonly>Hello world<includeonly><</includeonly>/includeonly>
18940 <includeonly>Hello world</includeonly>
18944 preload: check that it doesn't try to do tricks
18948 * <!-- Hello --> ''{{world}}'' {{<includeonly>subst:</includeonly>How are you}}{{ {{{|safesubst:}}} #if:1|2|3}}
18950 * <!-- Hello --> ''{{world}}'' {{subst:How are you}}{{ {{{|safesubst:}}} #if:1|2|3}}
18954 Play a bit with r67090 and bug 3158
18956 <div style="width:50% !important"> </div>
18957 <div style="width:50% !important"> </div>
18958 <div style="width:50% !important"> </div>
18959 <div style="border : solid;"> </div>
18961 <div style="width:50% !important"> </div>
18962 <div style="width:50% !important"> </div>
18963 <div style="width:50% !important"> </div>
18964 <div style="border : solid;"> </div>
18967 <div style="width:50% !important" data-parsoid='{"stx":"html"}'><span typeof="mw:Entity" data-parsoid='{"srcContent":" "}'> </span></div>
18968 <div style="width:50% !important" data-parsoid='{"stx":"html","a":{"style":"width:50% !important"},"sa":{"style":"width:50%&nbsp;!important"}}'><span typeof="mw:Entity" data-parsoid='{"srcContent":" "}'> </span></div>
18969 <div style="width:50% !important" data-parsoid='{"stx":"html","a":{"style":"width:50% !important"},"sa":{"style":"width:50%&#160;!important"}}'><span typeof="mw:Entity" data-parsoid='{"srcContent":" "}'> </span></div>
18970 <div style="border : solid;" data-parsoid='{"stx":"html"}'><span typeof="mw:Entity" data-parsoid='{"srcContent":" "}'> </span></div>
18975 HTML5 data attributes
18977 <span data-foo="bar">Baz</span>
18978 <p data-abc-def_hij="">Quuz</p>
18980 <p><span data-foo="bar">Baz</span>
18982 <p data-abc-def_hij="">Quuz</p>
18987 percent-encoding and + signs in internal links (Bug 26410)
18989 [[User:+%]] [[Page+title%]]
18990 [[%+]] [[%+|%20]] [[%+ ]] [[%+r]]
18991 [[%]] [[+]] [[File:%+abc%39|foo|[[bar]]]]
18992 [[%33%45]] [[%33%45+]]
18994 <p><a href="/index.php?title=User:%2B%25&action=edit&redlink=1" class="new" title="User:+% (page does not exist)">User:+%</a> <a href="/index.php?title=Page%2Btitle%25&action=edit&redlink=1" class="new" title="Page+title% (page does not exist)">Page+title%</a>
18995 <a href="/index.php?title=%25%2B&action=edit&redlink=1" class="new" title="%+ (page does not exist)">%+</a> <a href="/index.php?title=%25%2B&action=edit&redlink=1" class="new" title="%+ (page does not exist)">%20</a> <a href="/index.php?title=%25%2B&action=edit&redlink=1" class="new" title="%+ (page does not exist)">%+ </a> <a href="/index.php?title=%25%2Br&action=edit&redlink=1" class="new" title="%+r (page does not exist)">%+r</a>
18996 <a href="/index.php?title=%25&action=edit&redlink=1" class="new" title="% (page does not exist)">%</a> <a href="/index.php?title=%2B&action=edit&redlink=1" class="new" title="+ (page does not exist)">+</a> <a href="/index.php?title=Special:Upload&wpDestFile=%25%2Babc9" class="new" title="File:%+abc9">bar</a>
18997 <a href="/index.php?title=3E&action=edit&redlink=1" class="new" title="3E (page does not exist)">3E</a> <a href="/index.php?title=3E%2B&action=edit&redlink=1" class="new" title="3E+ (page does not exist)">3E+</a>
19000 <p><a rel="mw:WikiLink" href="User:+%" title="User:+%">User:+%</a> <a rel="mw:WikiLink" href="Page+title%" title="Page+title%">Page+title%</a> <a rel="mw:WikiLink" href="%+" title="%+">%+</a> <a rel="mw:WikiLink" href="%+" title="%+">%20</a> <a rel="mw:WikiLink" href="%+" title="%+">%+ </a> <a rel="mw:WikiLink" href="%+r" title="%+r">%+r</a> <a rel="mw:WikiLink" href="%" title="%">%</a> <a rel="mw:WikiLink" href="+" title="+">+</a> <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"[[bar]]"}'><a href="File:%+abc9"><img resource="./File:%25+abc9" src="./Special:FilePath/%+abc9" height="220" width="220"/></a></span> <a rel="mw:WikiLink" href="3E" title="3E">3E</a> <a rel="mw:WikiLink" href="3E+" title="3E+">3E+</a></p>
19004 Special characters in embedded file links (bug 27679)
19006 [[File:Contains & ampersand.jpg]]
19007 [[File:Does not exist.jpg|Title with & ampersand]]
19009 <p><a href="/index.php?title=Special:Upload&wpDestFile=Contains_%26_ampersand.jpg" class="new" title="File:Contains & ampersand.jpg">File:Contains & ampersand.jpg</a>
19010 <a href="/index.php?title=Special:Upload&wpDestFile=Does_not_exist.jpg" class="new" title="File:Does not exist.jpg">Title with & ampersand</a>
19013 <p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}]}'><a href="File:Contains_&_ampersand.jpg"><img resource="./File:Contains_&_ampersand.jpg" src="./Special:FilePath/Contains_&_ampersand.jpg" height="220" width="220"/></a></span>
19014 <span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"errors":[{"key":"missing-image","message":"This image does not exist."}],"caption":"Title with & ampersand"}'><a href="File:Does_not_exist.jpg"><img resource="./File:Does_not_exist.jpg" src="./Special:FilePath/Does_not_exist.jpg" height="220" width="220"/></a></span></p>
19018 Confirm that 'apos' named character reference doesn't make it to output (not legal in HTML 4)
19020 Text's been normalized?
19022 <p>Text's been normalized?
19027 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate free external links
19029 http://www.example.org/ <-- U+3000 (vim: ^Vu3000)
19031 <p><a rel="nofollow" class="external free" href="http://www.example.org/">http://www.example.org/</a> <-- U+3000 (vim: ^Vu3000)
19036 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate bracketed external links
19038 [http://www.example.org/ ideograms]
19040 <p><a rel="nofollow" class="external text" href="http://www.example.org/">ideograms</a>
19045 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate external images links
19047 http://www.example.org/pic.png <-- U+3000 (vim: ^Vu3000)
19049 <p><img src="http://www.example.org/pic.png" alt="pic.png" /> <-- U+3000 (vim: ^Vu3000)
19073 Bug 31098 Template which includes system messages which includes the template
19077 <p><span class="error">Template loop detected: <a href="/wiki/Template:Identical" title="Template:Identical">Template:Identical</a></span>
19078 <span class="error">Template loop detected: <a href="/wiki/Template:Identical" title="Template:Identical">Template:Identical</a></span>
19083 Bug31490 Turkish: ucfirst 'blah'
19094 Bug31490 Turkish: ucfirst 'ix'
19105 Bug31490 Turkish: lcfirst 'BLAH'
19116 Bug31490 Turkish: ucfırst (with a dotless i)
19122 <p><a href="/index.php?title=%C5%9Eablon:Ucf%C4%B1rst:blah&action=edit&redlink=1" class="new" title="Şablon:Ucfırst:blah (sayfa mevcut değil)">Şablon:Ucfırst:blah</a>
19127 Bug31490 ucfırst (with a dotless i) with English language
19133 <p><a href="/index.php?title=Template:Ucf%C4%B1rst:blah&action=edit&redlink=1" class="new" title="Template:Ucfırst:blah (page does not exist)">Template:Ucfırst:blah</a>
19138 Bug 26375: TOC with italics
19140 title=[[Main Page]]
19143 == ''Lost'' episodes ==
19145 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19147 <li class="toclevel-1 tocsection-1"><a href="#Lost_episodes"><span class="tocnumber">1</span> <span class="toctext"><i>Lost</i> episodes</span></a></li>
19151 <h2><a href="#Lost_episodes" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Lost_episodes"><i>Lost</i> episodes</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Lost episodes">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19156 Bug 26375: TOC with bold
19158 title=[[Main Page]]
19161 == '''should be bold''' then normal text ==
19163 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19165 <li class="toclevel-1 tocsection-1"><a href="#should_be_bold_then_normal_text"><span class="tocnumber">1</span> <span class="toctext"><b>should be bold</b> then normal text</span></a></li>
19169 <h2><a href="#should_be_bold_then_normal_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="should_be_bold_then_normal_text"><b>should be bold</b> then normal text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: should be bold then normal text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19174 Bug 33845: Headings become cursive in TOC when they contain an image
19176 title=[[Main Page]]
19179 == Image [[Image:foobar.jpg]] ==
19181 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19183 <li class="toclevel-1 tocsection-1"><a href="#Image"><span class="tocnumber">1</span> <span class="toctext">Image</span></a></li>
19187 <h2><a href="#Image" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Image">Image <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Image">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19192 Bug 33845 (2): Headings become bold in TOC when they contain a blockquote
19194 title=[[Main Page]]
19197 == <blockquote>Quote</blockquote> ==
19199 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19201 <li class="toclevel-1 tocsection-1"><a href="#Quote"><span class="tocnumber">1</span> <span class="toctext">Quote</span></a></li>
19205 <h2><a href="#Quote" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Quote"><blockquote>Quote</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19208 <div id="toc" class="toc">
19209 <div id="toctitle">
19213 <li class="toclevel-1 tocsection-1"><a href="#Quote"><span class="tocnumber">1</span> <span class="toctext">Quote</span></a></li>
19216 <h2><a href="#Quote" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Quote"></span></h2>
19218 <p><span class="mw-headline" id="Quote">Quote</span></p>
19220 <p><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></p>
19224 Unclosed tags in TOC
19226 title=[[Main Page]]
19230 <small>Hanc marginis exiguitas non caperet.</small>
19233 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19235 <li class="toclevel-1 tocsection-1"><a href="#Proof:_2_.3C_3"><span class="tocnumber">1</span> <span class="toctext">Proof: 2 < 3</span></a></li>
19239 <h2><a href="#Proof:_2_.3C_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Proof:_2_.3C_3">Proof: 2 < 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Proof: 2 < 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19240 <p><small>Hanc marginis exiguitas non caperet.</small>
19246 Multiple tags in TOC
19249 == <i>Foo</i> <b>Bar</b> ==
19251 == <i>Foo</i> <blockquote>Bar</blockquote> ==
19253 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19255 <li class="toclevel-1 tocsection-1"><a href="#Foo_Bar"><span class="tocnumber">1</span> <span class="toctext"><i>Foo</i> <b>Bar</b></span></a></li>
19256 <li class="toclevel-1 tocsection-2"><a href="#Foo_Bar_2"><span class="tocnumber">2</span> <span class="toctext"><i>Foo</i> Bar</span></a></li>
19260 <h2><a href="#Foo_Bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19261 <h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i> <blockquote>Bar</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19264 <div id="toc" class="toc">
19265 <div id="toctitle">
19269 <li class="toclevel-1 tocsection-1"><a href="#Foo_Bar"><span class="tocnumber">1</span> <span class="toctext"><i>Foo</i> <b>Bar</b></span></a></li>
19270 <li class="toclevel-1 tocsection-2"><a href="#Foo_Bar_2"><span class="tocnumber">2</span> <span class="toctext"><i>Foo</i> Bar</span></a></li>
19273 <h2><a href="#Foo_Bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19274 <h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i></span></h2>
19276 <p><span class="mw-headline" id="Foo_Bar_2">Bar</span></p>
19278 <p><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></p>
19282 Tags with parameters in TOC
19285 == <sup class="in-h2">Hello</sup> ==
19287 == <sup class="a > b">Evilbye</sup> ==
19289 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19291 <li class="toclevel-1 tocsection-1"><a href="#Hello"><span class="tocnumber">1</span> <span class="toctext"><sup>Hello</sup></span></a></li>
19292 <li class="toclevel-1 tocsection-2"><a href="#b.22.3EEvilbye"><span class="tocnumber">2</span> <span class="toctext"><sup> b">Evilbye</sup></span></a></li>
19296 <h2><a href="#Hello" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Hello"><sup class="in-h2">Hello</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Hello">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19297 <h2><a href="#b.22.3EEvilbye" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b.22.3EEvilbye"><sup> b">Evilbye</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: b">Evilbye">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19302 span tags with directionality in TOC
19305 == <span dir="ltr">C++</span> ==
19307 == <span dir="rtl">זבנג!</span> ==
19309 == <span style="font-style: italic">The attributes on these span tags must be deleted from the TOC</span> ==
19311 == <span style="font-style: italic" dir="ltr">All attributes on these span tags must be deleted from the TOC</span> ==
19313 == <span dir="ltr" style="font-style: italic">Attributes after dir on these span tags must be deleted from the TOC</span> ==
19315 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19317 <li class="toclevel-1 tocsection-1"><a href="#C.2B.2B"><span class="tocnumber">1</span> <span class="toctext"><span dir="ltr">C++</span></span></a></li>
19318 <li class="toclevel-1 tocsection-2"><a href="#.D7.96.D7.91.D7.A0.D7.92.21"><span class="tocnumber">2</span> <span class="toctext"><span dir="rtl">זבנג!</span></span></a></li>
19319 <li class="toclevel-1 tocsection-3"><a href="#The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span class="tocnumber">3</span> <span class="toctext"><span>The attributes on these span tags must be deleted from the TOC</span></span></a></li>
19320 <li class="toclevel-1 tocsection-4"><a href="#All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span class="tocnumber">4</span> <span class="toctext"><span>All attributes on these span tags must be deleted from the TOC</span></span></a></li>
19321 <li class="toclevel-1 tocsection-5"><a href="#Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC"><span class="tocnumber">5</span> <span class="toctext"><span dir="ltr">Attributes after dir on these span tags must be deleted from the TOC</span></span></a></li>
19325 <h2><a href="#C.2B.2B" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="C.2B.2B"><span dir="ltr">C++</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: C++">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19326 <h2><a href="#.D7.96.D7.91.D7.A0.D7.92.21" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".D7.96.D7.91.D7.A0.D7.92.21"><span dir="rtl">זבנג!</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: זבנג!">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19327 <h2><a href="#The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic">The attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: The attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19328 <h2><a href="#All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic" dir="ltr">All attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: All attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19329 <h2><a href="#Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC"><span dir="ltr" style="font-style: italic">Attributes after dir on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Attributes after dir on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19334 Bug 72884: bdi element in ToC
19337 == <bdi>test</bdi> ==
19339 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
19341 <li class="toclevel-1 tocsection-1"><a href="#test"><span class="tocnumber">1</span> <span class="toctext"><bdi>test</bdi></span></a></li>
19345 <h2><a href="#test" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="test"><bdi>test</bdi></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: test">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19352 == {{int:headline_sample}} ==
19356 Bug 32057: Title needed when expanding <h> nodes.
19358 title=[[Main Page]]
19362 <h2><a href="#Headline_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_text">Headline text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&action=edit&section=1" title="Edit section: Headline text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19367 Strip marker in urlencode
19369 {{urlencode:x<nowiki/>y}}
19370 {{urlencode:x<nowiki/>y|wiki}}
19371 {{urlencode:x<nowiki/>y|path}}
19398 Strip marker in formatNum
19400 {{formatnum:1<nowiki/>2}}
19401 {{formatnum:1<nowiki/>2|R}}
19409 Check noCommafy in formatNum
19413 {{formatnum:123456.78}}
19414 {{formatnum:123456.78|NOSEP}}
19422 Wrong option for formatNum (bug 56199)
19424 {{formatnum:1,234.56|Random}}
19425 {{formatnum:1,234.56|EVERYTHING}}
19426 {{formatnum:1234.56|any argument that has the string 'NOSEP'}}
19435 Strip marker in grammar
19439 {{grammar:elative|foo<nowiki/>bar}}
19446 Strip marker in padleft
19448 {{padleft:|2|x<nowiki/>y}}
19455 Strip marker in padright
19457 {{padright:|2|x<nowiki/>y}}
19464 Strip marker in anchorencode
19466 {{anchorencode:x<nowiki/>y}}
19473 nowiki inside link inside heading (bug 18295)
19475 ==[[foo|x<nowiki>y</nowiki>z]]==
19477 <h2><a href="#xyz" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="xyz"><a href="/wiki/Foo" title="Foo">xyz</a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: xyz">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19482 new support for bdi element (bug 31817)
19484 <p dir="rtl" lang="he">ולדימיר לנין (ברוסית: <bdi lang="ru">Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי.</p>
19486 <p dir="rtl" lang="he">ולדימיר לנין (ברוסית: <bdi lang="ru">Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי.</p>
19491 Ignore pipe between table row attributes
19495 |- id=foo | style='color: red'
19503 <tr id="foo" style="color: red">
19510 Gallery override link with WikiLink (bug 34852)
19513 File:foobar.jpg|caption|alt=galleryalt|link=InterWikiLink
19516 <ul class="gallery mw-gallery-traditional">
19517 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
19518 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/InterWikiLink"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
19519 <div class="gallerytext">
19529 Gallery override link with absolute external link (bug 34852)
19532 File:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org
19535 <ul class="gallery mw-gallery-traditional">
19536 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
19537 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="http://www.example.org"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
19538 <div class="gallerytext">
19548 Gallery override link with malicious javascript (bug 34852)
19551 File:foobar.jpg|caption|alt=galleryalt|link=" onclick="alert('malicious javascript code!');
19554 <ul class="gallery mw-gallery-traditional">
19555 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
19556 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/%22_onclick%3D%22alert(%27malicious_javascript_code!%27);"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
19557 <div class="gallerytext">
19567 Gallery with invalid title as link (bug 43964)
19570 File:foobar.jpg|link=<
19573 <ul class="gallery mw-gallery-traditional">
19574 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
19575 <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
19576 <div class="gallerytext">
19584 Language parser function
19593 Padleft and padright as substr
19595 {{padleft:|3|abcde}}
19596 {{padright:|3|abcde}}
19604 Special parser function
19606 {{#special:RandomPage}}
19607 {{#special:BaDtItLe}}
19608 {{#special:Foobar}}
19617 Bug 34939 - Case insensitive link parsing ([HttP://])
19619 [HttP://MediaWiki.Org/]
19621 <p><a rel="nofollow" class="external autonumber" href="HttP://MediaWiki.Org/">[1]</a>
19624 <p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/"></a></p>
19628 Bug 34939 - Case insensitive link parsing ([HttP:// title])
19630 [HttP://MediaWiki.Org/ MediaWiki]
19632 <p><a rel="nofollow" class="external text" href="HttP://MediaWiki.Org/">MediaWiki</a>
19637 Bug 34939 - Case insensitive link parsing (HttP://)
19639 HttP://MediaWiki.Org/
19641 <p><a rel="nofollow" class="external free" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a>
19644 <p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a></p>
19662 <h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19663 <h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=2" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19664 <h2><a href="#Section_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_3">Section 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=3" title="Edit section: Section 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19665 <h2><a href="#Section_4" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=4" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19666 <h2><a href="#Section_5" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_5">Section 5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&action=edit&section=5" title="Edit section: Section 5">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
19672 ### Parsoid-specific tests
19673 ### Parsoid-PHP parser incompatibilities
19676 1. SOL-sensitive wikitext tokens as template-args
19678 parsoid=wt2html,wt2wt
19684 <span about="#mwt1" typeof="mw:Transclusion">
19685 </span><ul about="#mwt1"><li>a</li>
19687 <span about="#mwt2" typeof="mw:Transclusion">
19688 </span><ol about="#mwt2"><li>a</li>
19690 <span about="#mwt3" typeof="mw:Transclusion">
19691 </span><dl about="#mwt3"><dd>a</dd>
19695 #### -----------------------------------------------------------------
19696 #### Parsoid-specific functionality tests
19697 #### -----------------------------------------------------------------
19699 # Bug 63642/66749: Formatting elt fixup around images is cleaned up.
19700 # We know wt2wt will fail, but we expect selser to pass.
19701 # Due to the nature of our testing, wt2wt and selser tests will enter the
19702 # blacklist and we'll catch selser regressions based on changes to the
19703 # blacklist entries for selser tests.
19705 1. Bad treebuilder fixup of formatting elt is cleaned up
19707 parsoid=wt2html,wt2wt
19712 [[Image:Foobar.jpg|right|Test]]
19719 <figure class="mw-default-size mw-halign-right" typeof="mw:Image"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"></a><figcaption>Test</figcaption></figure>
19726 2. Bad treebuilder fixup of formatting elt is cleaned up
19728 parsoid=wt2html,wt2wt
19730 '''foo[[File:Foobar.jpg|thumb|caption]]bar'''
19732 <small>[[Image:Foobar.jpg|right|300px]]</small>
19735 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><b>caption</b></figcaption></figure>
19737 <small><figure class="mw-halign-right" typeof="mw:Image"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="34" width="300"/></a></figure></small>
19740 #### ----------------------------------------------------------------
19741 #### Parsoid-only testing of Parsoid's impl of <ref> and <references>
19742 #### tags. Parsoid's output for these tags differs from that of the
19744 #### ----------------------------------------------------------------
19747 Ref: 1. ref-location should be replaced with an index span
19752 B <ref name="x">foo</ref>
19756 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
19757 B <span about="#mwt4" class="reference" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-2"},"attrs":{"name":"x"}}'><a href="#cite_note-x-2">[2]</a></span>
19758 C <span about="#mwt6" class="reference" id="cite_ref-y_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"y"}}'><a href="#cite_note-y-3">[3]</a></span></p>
19759 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
19760 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
19761 <li about="#cite_note-x-2" id="cite_note-x-2"><span rel="mw:referencedBy"><a href="#cite_ref-x_2-0">↑</a></span> <span id="mw-reference-text-cite_note-x-2" class="mw-reference-text">foo</span></li>
19762 <li about="#cite_note-y-3" id="cite_note-y-3"><span rel="mw:referencedBy"><a href="#cite_ref-y_3-0">↑</a></span> <span id="mw-reference-text-cite_note-y-3" class="mw-reference-text"></span></li>
19767 Ref: 2. ref-tags with identical names should all get the same index
19771 A <ref name="x">foo</ref>
19775 <p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
19776 B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
19777 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
19778 <li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
19783 Ref: 3. spaces in ref-names should be ignored
19787 A <ref name="x">foo</ref>
19788 B <ref name=" x " />
19792 <p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
19793 B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
19794 C <span about="#mwt6" class="reference" id="cite_ref-x_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
19795 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
19796 <li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a> <a href="#cite_ref-x_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
19800 # NOTE: constructor is a predefined property in JS and constructor as a ref-name can clash with it if not handled properly)
19802 Ref: 4. 'constructor' should be accepted as a valid ref-name
19806 A <ref name="constructor">foo</ref>
19809 <p>A <span about="#mwt2" class="reference" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-constructor-1"},"attrs":{"name":"constructor"}}'><a href="#cite_note-constructor-1">[1]</a></span></p>
19810 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19811 <li about="#cite_note-constructor-1" id="cite_note-constructor-1"><span rel="mw:referencedBy"><a href="#cite_ref-constructor_1-0">↑</a></span> <span id="mw-reference-text-cite_note-constructor-1" class="mw-reference-text">foo</span></li>
19816 Ref: 5. body should accept generic wikitext
19821 This is a '''[[bolded link]]''' and this is a {{echo|transclusion}}
19826 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
19828 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
19829 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">This is a <b><a rel="mw:WikiLink" href="Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
19835 Ref: 6. indent-pres should not be output in ref-body
19847 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
19849 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19850 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
19858 Ref: 7. No p-wrapping in ref-body
19877 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
19879 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19880 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
19895 Ref: 8. transclusion wikitext has lower precedence
19899 A <ref> foo {{echo|</ref> B C}}
19903 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
19904 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19905 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <span typeof="mw:Nowiki" data-parsoid='{"src":"{{","dsr":[12,14,0,0]}'>{{</span>echo|</span></li>
19910 Ref: 9. unclosed comments should not leak out of ref-body
19914 A <ref> foo <!--</ref> B C
19917 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
19918 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19919 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <!----></span></li>
19924 Ref: 10. Unclosed HTML tags should not leak out of ref-body
19928 A <ref> <b> foo </ref> B C
19932 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
19935 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
19936 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></span></li>
19941 Ref: 11. ref-tags acts like an inline element wrt P-wrapping
19949 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B
19950 C <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> D</p>
19951 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
19952 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
19953 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
19958 Ref: 12. ref-tags act as trailing newline migration barrier
19962 <!--the newline at the end of this line moves out of the p-tag-->a
19964 b<!--the newline at the end of this line stays inside the p-tag--> <ref />
19970 <p><!--the newline at the end of this line moves out of the p-tag-->a</p>
19973 <p>b<!--the newline at the end of this line stays inside the p-tag--> <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-1">[1]</a></span>
19974 <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-2">[2]</a></span></p>
19977 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
19978 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"></span></li>
19979 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text"></span></li></ol>
19983 Ref: 13. ref-tags are not SOL-transparent and block indent-pres
19992 <p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> A
19993 <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> B</p>
19994 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
19995 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
19996 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar
20002 Ref: 14. A nested ref-tag should be emitted as plain text
20006 <ref>foo <ref>bar</ref> baz</ref>
20010 <p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
20012 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
20013 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <ref>bar</ref> baz</span></li>
20018 Ref: 15. ref-tags with identical names should get identical indexes
20022 A1 <ref name="a">foo</ref> A2 <ref name="a" />
20023 B1 <ref name="b" /> B2 <ref name="b">bar</ref>
20027 <p>A1 <span about="#mwt3" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a-1"},"attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
20028 B1 <span about="#mwt7" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
20030 <ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_1-0">1.0</a> <a href="#cite_ref-a_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy">↑ <a href="#cite_ref-b_2-0">2.0</a> <a href="#cite_ref-b_2-1">2.1</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
20034 ## We don't bother wt2wt-ing non-standard whitespace
20036 Ref: 16. Tokenizer should accept non-standard whitespace in <ref> and </ref> tags
20044 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
20045 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
20046 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
20050 Ref: 17. Generate valid HTML5 id/about attributes
20054 <ref name="a b">foo</ref>
20058 <p><span class="reference" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_b-1"},"attrs":{"name":"a b"}}'><a href="#cite_note-a_b-1">[1]</a></span>
20061 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
20062 <li about="#cite_note-a_b-1" id="cite_note-a_b-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_b_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a_b-1" class="mw-reference-text">foo</span></li>
20067 Ref: 18. T58916: Extension attributes should be parsed as plain text
20071 <ref name="{{echo|a}}">foo</ref>
20075 <p><span class="reference" id="cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1"},"attrs":{"name":"{{echo|a}}"}}'><a href="#cite_note-.7B.7Becho.7Ca.7D.7D-1">[1]</a></span>
20078 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
20079 <li about="#cite_note-.7B.7Becho.7Ca.7D.7D-1" id="cite_note-.7B.7Becho.7Ca.7D.7D-1"><span rel="mw:referencedBy"><a href="#cite_ref-.7B.7Becho.7Ca.7D.7D_1-0">↑</a></span> <span id="mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1" class="mw-reference-text">foo</span></li>
20084 Ref: 19. ref-tags with identical name encodings should get identical indexes
20088 1 <ref name="a & b">foo</ref> 2 <ref name="a & b" />
20092 <p>1 <span about="#mwt3" class="reference" id="cite_ref-a_.26_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_.26_b-1"},"attrs":{"name":"a & b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span> 2 <span about="#mwt4" class="reference" id="cite_ref-a_.26_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a &amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span>
20094 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
20095 <li about="#cite_note-a_.26_b-1" id="cite_note-a_.26_b-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_.26_b_1-0">1.0</a> <a href="#cite_ref-a_.26_b_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a_.26_b-1" class="mw-reference-text">foo</span></li>
20100 Ref: 20. ref-tags with identical names but different content should keep it
20104 A <ref name="foo">Foo one</ref>
20105 B <ref name="foo">Foo two</ref>
20106 C <ref name="foo" />
20110 <p>A <span about="#mwt2" class="reference" id="cite_ref-foo_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-foo-1"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
20111 B <span about="#mwt4" class="reference" id="cite_ref-foo_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"Foo two"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
20112 C <span about="#mwt6" class="reference" id="cite_ref-foo_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span></p>
20114 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-foo-1" id="cite_note-foo-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-foo_1-0">1.0</a> <a href="#cite_ref-foo_1-1">1.1</a> <a href="#cite_ref-foo_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-foo-1" class="mw-reference-text">Foo one</span></li>
20119 References: 1. references tag without any refs should be handled properly
20125 <ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
20129 References: 2. references tag with group only outputs references from that group
20133 A <ref group="a">foo</ref>
20134 B <ref group="b">bar</ref>
20137 <references group="a" />
20139 <references group="b" />
20141 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
20142 B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"b"}}'><a href="#cite_note-2">[b 1]</a></span>
20143 C <span class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[1]</a></span></p>
20145 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{"group":"a"}}'>
20146 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
20148 <ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'>
20149 <li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">baz</span></li>
20151 <ol class="references" typeof="mw:Extension/references" about="#mwt12" data-mw='{"name":"references","attrs":{"group":"b"}}'>
20152 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
20157 References: 3. ref list should be cleared after processing references
20169 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
20171 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
20174 <p>B <span about="#mwt6" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
20176 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
20177 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
20182 References: 4. only referenced group should be cleared after processing references
20186 A <ref group="a">afoo</ref>
20189 <references group="a" />
20195 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
20196 B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
20198 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">afoo</span></li>
20201 <p>C <span about="#mwt8" class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[2]</a></span></p>
20203 <ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bfoo</span></li><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">cfoo</span></li>
20208 References: 5. ref tags in references should be processed while ignoring all other content
20213 B <ref name="b">bar</ref>
20216 <ref name="a">foo</ref>
20217 This should just get lost.
20220 <p>A <span about="#mwt2" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
20221 B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
20224 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"<ref name=\"a\">foo</ref>\nThis should just get lost.","html":"\n<span about=\"#mwt8\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[59,82,14,6]}' data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}'><a href=\"#cite_note-a-1\">[1]</a></span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
20229 References: 6. <references /> from a transclusion
20233 <ref>Foo</ref> {{echo|<references />}}
20235 <p><span about="#mwt3" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p> <ol class="references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>
20240 References: 7. Multiple references tags (one without and one with nested refs) should be correctly handled
20244 A <ref>foo bar for a</ref>
20245 B <ref group="X" name="b" />
20249 <references group="X">
20250 <ref name="b">foo</ref>
20253 <p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
20254 B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="#cite_note-b-2">[X 1]</a></span>
20257 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
20258 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
20261 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","body":{"extsrc":"<ref name=\"b\">foo</ref>","html":"\n<span about=\"#mwt10\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[96,119,14,6]}' data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}'><a href=\"#cite_note-b-2\">[X 1]</a></span>\n"},"attrs":{"group":"X"}}'>
20262 <li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
20267 References: 8. T88019: Remove <meta>s from templates inside <ref> that's itself inside a template
20271 X{{echo|<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>}}
20274 <p>X<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>"}},"i":0}}]}'><a href="#cite_note-1">[1]</a></span></p>
20275 <ol class="references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</span></li>
20279 # This test only works in wt2html now as the <references /> are always generated
20280 # unless selser is active. Once T72722 is fixed, we should add a changes test
20281 # here to ensure that unrelated changes don't add the new <references /> in
20284 References: 9. Generate missing references list at the end
20289 B <ref group="inexistent">bar</ref>
20291 <p>A <span class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B <span class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"inexistent"}}'><a href="#cite_note-2">[inexistent 1]</a></span></p>
20292 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
20293 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
20295 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"inexistent"}}'>
20296 <li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
20301 Entities in ref name
20305 <ref name="test & me">hi</ref>
20308 <p><span about="#mwt2" class="reference" id="cite_ref-test_.26_me_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-test_.26_me-1"},"attrs":{"name":"test &amp; me"}}'><a href="#cite_note-test_.26_me-1">[1]</a></span></p>
20309 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
20310 <li about="#cite_note-test_.26_me-1" id="cite_note-test_.26_me-1"><span rel="mw:referencedBy"><a href="#cite_ref-test_.26_me_1-0">↑</a></span> <span id="mw-reference-text-cite_note-test_.26_me-1" class="mw-reference-text">hi</span></li>
20314 # This test is wt2html only because we're permitting the serializer to produce
20315 # dirty diffs, normalizing the unclosed references to the self-closed version.
20317 Generate references for unclosed references tag
20325 <p>a<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
20326 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
20327 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
20331 New reference serializes on its own line
20333 parsoid=wt2wt,html2wt
20338 foo<ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
20341 #--------- Test stripping of empty nodes in template content ----------
20343 Empty LI and TR nodes should be stripped from template content
20348 <ul about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyLITest","href":"./Template:EmptyLITest"},"params":{},"i":0}}]}'>
20352 <table about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRTest","href":"./Template:EmptyTRTest"},"params":{},"i":0}}]}'>
20365 Empty LI and TR nodes should not be stripped from top-level content
20392 Empty TR nodes should not be stripped if they have any attributes set
20394 {{EmptyTRWithHTMLAttrTest}}
20396 <table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRWithHTMLAttrTest","href":"./Template:EmptyTRWithHTMLAttrTest"},"params":{},"i":0}}]}'>
20397 <tr align="center"></tr>
20398 <tr><td>foo</td></tr>
20399 <tr align="center"></tr>
20400 <tr><td>bar</td></tr>
20404 #### ----------------------------------------------------------------
20405 #### The following section of tests are primarily to test
20406 #### wikitext escaping capabilities of Parsoid. Given that
20407 #### escaping can be done any number of ways, the wikitext (input)
20408 #### is always adjusted to reflect how Parsoid adds nowiki
20411 #### We are marking several tests as parsoid-only since the
20412 #### HTML in the result section is different from what the
20413 #### PHP parser generates for it.
20414 #### ----------------------------------------------------------------
20417 #### --------------- Headings ---------------
20419 #### 1. Nested inside html <h1>=foo=</h1>
20420 #### 2. Outside heading nest on a single line <h1>foo</h1>*bar
20421 #### 3. Nested inside html with wikitext split by html tags
20422 #### 4. No escape needed
20423 #### 5. Empty headings <h1></h1>
20424 #### 6. Heading chars in SOL context
20425 #### ----------------------------------------
20427 Headings: 0. Unnested
20431 <nowiki>=foo=</nowiki>
20433 <nowiki> =foo= </nowiki>
20435 <nowiki>=foo=</nowiki>
20437 =foo''a''<nowiki>=</nowiki>
20439 <p><span typeof="mw:Nowiki">=foo=</span></p>
20441 <p><span typeof="mw:Nowiki"> =foo= </span>
20443 <span typeof="mw:Nowiki">=foo=</span></p>
20445 <p>=foo<i>a</i><span typeof="mw:Nowiki">=</span></p>
20448 # New headings and existing headings are handled differently
20450 Headings: 1. Nested inside html
20458 <h1 data-parsoid=''>=foo=</h1>
20459 <h2 data-parsoid=''>=foo=</h2>
20460 <h3 data-parsoid=''>=foo=</h3>
20461 <h4 data-parsoid=''>=foo=</h4>
20462 <h5 data-parsoid=''>=foo=</h5>
20463 <h6 data-parsoid=''>=foo=</h6>
20471 =<nowiki>=foo=</nowiki>=
20472 ==<nowiki>=foo=</nowiki>==
20473 ===<nowiki>=foo=</nowiki>===
20474 ====<nowiki>=foo=</nowiki>====
20475 =====<nowiki>=foo=</nowiki>=====
20476 ======<nowiki>=foo=</nowiki>======
20481 Headings: 2. Outside heading nest on a single line <h1>foo</h1>*bar
20490 <nowiki>*</nowiki>bar
20496 <nowiki>=bar=</nowiki>
20500 Headings: 3. Nested inside html with wikitext split by html tags
20502 parsoid=html2wt,wt2wt
20504 = ='''bold'''<nowiki>foo=</nowiki> =
20506 <h1>=<b>bold</b>foo=</h1>
20510 Headings: 4a. No escaping needed (testing just h1 and h2)
20535 <h1><i>=</i>foo=</h1>
20539 Headings: 4b. No escaping needed (inside p-tags)
20554 Headings: 5. Empty headings
20566 =====<nowiki/>=====
20568 ======<nowiki/>======
20579 Headings: 6a. Heading chars in SOL context (with trailing spaces)
20583 <nowiki>=a=</nowiki>
20585 <nowiki>=a=</nowiki>
20587 <nowiki>=a=</nowiki>
20589 <nowiki>=a=</nowiki>
20598 Headings: 6b. Heading chars in SOL context (with trailing newlines)
20626 Headings: 6c. Heading chars in SOL context (leading newline break)
20631 <nowiki>=b=</nowiki>
20638 Headings: 6d. Heading chars in SOL context (with interspersed comments)
20642 <!--c0--><nowiki>=a=</nowiki>
20644 <!--c1--><nowiki>=a=</nowiki> <!--c2--> <!--c3-->
20646 <p><!--c0-->=a=</p>
20647 <p><!--c1-->=a= <!--c2--> <!--c3--></p>
20651 Headings: 6d. Heading chars in SOL context (No escaping needed)
20661 Headings: 7. Insert a newline between new content and headings
20667 <h2 data-parsoid='{"dsr":[0,5,2,2]}'>A</h2>
20668 <p data-parsoid='{"dsr":[6,7,0,0]}'>a</p>
20678 #### --------------- Lists ---------------
20679 #### 0. Outside nests (*foo, etc.)
20680 #### 1. Nested inside html <ul><li>*foo</li></ul>
20681 #### 2. Inside definition lists
20682 #### 3. Only bullets at start should be escaped
20683 #### 4. No escapes needed
20684 #### 5. No unnecessary escapes
20685 #### 6. Escape bullets in SOL position
20686 #### 7. Escape bullets in a multi-line context
20687 #### ----------------------------------------
20690 Lists: 0. Outside nests
20692 <nowiki>*</nowiki>foo
20694 <nowiki>#</nowiki>foo
20696 <nowiki>;Foo:</nowiki>bar
20705 Lists: 1. Nested inside html
20707 *<nowiki>*foo</nowiki>
20709 *<nowiki>#foo</nowiki>
20711 *<nowiki>:foo</nowiki>
20713 *<nowiki>;foo</nowiki>
20715 #<nowiki>*foo</nowiki>
20717 #<nowiki>#foo</nowiki>
20719 #<nowiki>:foo</nowiki>
20721 #<nowiki>;foo</nowiki>
20723 <ul><li>*foo</li></ul>
20724 <ul><li>#foo</li></ul>
20725 <ul><li>:foo</li></ul>
20726 <ul><li>;foo</li></ul>
20727 <ol><li>*foo</li></ol>
20728 <ol><li>#foo</li></ol>
20729 <ol><li>:foo</li></ol>
20730 <ol><li>;foo</li></ol>
20735 Lists: 2. Inside definition lists
20737 ;<nowiki>;foo</nowiki>
20739 ;<nowiki>:foo</nowiki>
20741 ;<nowiki>:foo</nowiki>
20744 :<nowiki>:foo</nowiki>
20746 <dl><dt>;foo</dt></dl>
20747 <dl><dt>:foo</dt></dl>
20750 <dl><dd>:foo</dd></dl>
20755 Lists: 3. Only bullets at start of text should be escaped
20757 *<nowiki>*foo*bar</nowiki>
20759 *<nowiki>*foo</nowiki>''it''*bar
20761 <ul><li>*foo*bar</li></ul>
20762 <ul><li>*foo<i>it</i>*bar</li></ul>
20767 Lists: 4. No escapes needed
20788 <li><a rel="mw:WikiLink" href="Foo" title="Foo">Foo</a>: bar
20792 <li><a rel="mw:WikiLink" href="Foo" title="Foo">Foo</a>*bar
20798 Lists: 5. No unnecessary escapes
20800 * bar <span><nowiki>[[foo]]</nowiki></span>
20802 * =bar <span><nowiki>[[foo]]</nowiki></span>
20804 * [[bar <span><nowiki>[[foo]]</nowiki></span>
20806 * ]]bar <span><nowiki>[[foo]]</nowiki></span>
20808 * =bar <span>foo]]</span>=
20814 <ul><li> bar <span>[[foo]]</span></li></ul>
20815 <ul><li> =bar <span>[[foo]]</span></li></ul>
20816 <ul><li> [[bar <span>[[foo]]</span></li></ul>
20817 <ul><li> ]]bar <span>[[foo]]</span></li></ul>
20818 <ul><li> =bar <span>foo]]</span>=</li></ul>
20819 <ul><li> <s></s>: a</li></ul>
20820 <ul><li> <i>* foo</i></li></ul>
20825 Lists: 6. Escape bullets in SOL position
20829 <p><!--cmt-->*foo</p>
20831 <!--cmt--><nowiki>*</nowiki>foo
20835 Lists: 7. Escape bullets in a multi-line context
20838 <nowiki>*</nowiki>b
20846 Lists: 8. Escape colons only if not present in tags
20850 <dl><dt>a:b<i>c:d</i></dt></dl>
20852 ; <nowiki>a:b</nowiki>''c:d''
20855 #### --------------- HRs ---------------
20856 #### 1. Single line
20857 #### -----------------------------------
20860 HRs: 1. Single line
20862 ----<nowiki>----</nowiki>
20874 #### --------------- Tables ---------------
20875 #### 1a. Simple example
20876 #### 1b. No escaping needed (!foo)
20877 #### 1c. No escaping needed (|foo)
20878 #### 1d. No escaping needed (|}foo)
20880 #### 2a. Nested in td (<td>foo|bar</td>)
20881 #### 2b. Nested in td (<td>foo||bar</td>)
20882 #### 2c. Nested in td -- no escaping needed(<td>foo!!bar</td>)
20884 #### 3a. Nested in th (<th>foo!bar</th>)
20885 #### 3b. Nested in th (<th>foo!!bar</th>)
20886 #### 3c. Nested in th -- no escaping needed(<th>foo||bar</th>)
20890 #### 4c. No escaping needed
20891 #### --------------------------------------
20894 Tables: 1a. Simple example
20905 Tables: 1b. No escaping needed
20914 Tables: 1c. No escaping needed
20923 Tables: 1d. No escaping needed
20932 Tables: 2a. Nested in td
20937 <td>foo|bar</td></tr>
20938 <tr><td>x<div>a|b</div></td>
20942 |<nowiki>foo|bar</nowiki>
20944 |x<div><nowiki>a|b</nowiki></div>
20960 Tables: 2b. Nested in td
20966 <td>a<i>b||c</i></td>
20967 <td>a<i><div>b||c</div></i></td>
20968 </tr></tbody></table>
20971 |<nowiki>foo||bar</nowiki>
20972 |a''<nowiki>b||c</nowiki>''
20973 |a''<div><nowiki>b||c</nowiki></div>''
20982 <td>a<i><div>b||c</div></i>
20988 Tables: 2c. Nested in td -- no escaping needed
21004 Tables: 3a. Nested in th
21020 Tables: 3b. Nested in th
21025 <tr><th>foo!!bar</th>
21026 <th><i>foo|bar</i></th>
21027 <th><i>foo!!bar</i></th>
21028 <th><i><span>foo!!bar</span></i></th>
21029 </tr></tbody></table>
21032 !<nowiki>foo!!bar</nowiki>
21033 !''<nowiki>foo|bar</nowiki>''
21034 !''<nowiki>foo!!bar</nowiki>''
21035 !''<span><nowiki>foo!!bar</nowiki></span>''
21044 <th><i>foo!!bar</i>
21046 <th><i><span>foo!!bar</span></i>
21052 Tables: 3c. Nested in th
21057 <tr><th>foo||bar</th>
21058 <th><span typeof="mw:Nowiki">foo||bar</span></th>
21059 </tr></tbody></table>
21062 !<nowiki>foo||bar</nowiki>
21063 !<nowiki>foo||bar</nowiki>
21076 Tables: 4a. Escape -
21095 |<nowiki>-bar</nowiki>
21100 Tables: 4b. Escape +
21119 |<nowiki>+bar</nowiki>
21124 Tables: 4c. No escaping needed
21167 <tr><td>foo-bar</td><td>foo+bar</td></tr>
21168 <tr><td><i>foo</i>-bar</td><td><i>foo</i>+bar</td></tr>
21174 <div>a|b</div></td>
21179 Tables: 4d. No escaping needed
21189 <td><a href="/wiki/Foo" title="Foo">Foo</a>-bar
21198 <tbody><tr><td><a rel="mw:WikiLink" href="./Foo" title="Foo">Foo</a>-bar</td>
21199 <td data-parsoid='{"startTagSrc":"|","attrSepSrc":"|"}'>+1</td>
21200 <td data-parsoid='{"startTagSrc":"|","attrSepSrc":"|"}'>-2</td></tr>
21205 Tables: Digest broken attributes on table and tr tag
21221 #### --------------- Links ----------------
21222 #### 1. Quote marks in link text
21223 #### 2. Wikilinks: Escapes needed
21224 #### 3. Wikilinks: No escapes needed
21225 #### 4. Extlinks: Escapes needed
21226 #### 5. Extlinks: No escapes needed
21227 #### --------------------------------------
21229 Links 1. WikiLinks: No escapes needed
21233 [[Foo|x [Foobar] x]]
21235 <p><a href="/wiki/Foo" title="Foo">Foo<i>boo</i></a>
21236 <a href="/wiki/Foo" title="Foo">[Foobar]</a>
21237 <a href="/wiki/Foo" title="Foo">x [Foobar] x</a>
21240 <p><a rel="mw:WikiLink" href="Foo" title="Foo">Foo<i>boo</i></a>
21241 <a rel="mw:WikiLink" href="Foo" title="Foo">[Foobar]</a>
21242 <a rel="mw:WikiLink" href="Foo" title="Foo">x [Foobar] x</a></p>
21246 Links 2. WikiLinks: Escapes needed
21250 <a href="Foo" rel="mw:WikiLink">Foobar]</a>
21251 <a href="Foo" rel="mw:WikiLink">x [http://google.com g] x</a>
21252 <a href="Foo" rel="mw:WikiLink">[[Bar]]</a>
21253 <a href="Foo" rel="mw:WikiLink">x [[Bar]] x</a>
21254 <a href="Foo" rel="mw:WikiLink">|Bar</a>
21255 <a href="Foo" rel="mw:WikiLink">]]bar</a>
21256 <a href="Foo" rel="mw:WikiLink">[[bar</a>
21257 <a href="Foo" rel="mw:WikiLink">x [[ y</a>
21258 <a href="Foo" rel="mw:WikiLink">x ]] y</a>
21259 <a href="Foo" rel="mw:WikiLink">x ]] y [[ z</a>
21261 [[Foo|<nowiki>Foobar]</nowiki>]]
21262 [[Foo|x <nowiki>[http://google.com g]</nowiki> x]]
21263 [[Foo|<nowiki>[[Bar]]</nowiki>]]
21264 [[Foo|<nowiki>x [[Bar]] x</nowiki>]]
21265 [[Foo|<nowiki>|Bar</nowiki>]]
21266 [[Foo|<nowiki>]]bar</nowiki>]]
21267 [[Foo|<nowiki>[[bar</nowiki>]]
21268 [[Foo|<nowiki>x [[ y</nowiki>]]
21269 [[Foo|<nowiki>x ]] y</nowiki>]]
21270 [[Foo|<nowiki>x ]] y [[ z</nowiki>]]
21272 <p><a href="/wiki/Foo" title="Foo">Foobar]</a>
21273 <a href="/wiki/Foo" title="Foo">x [http://google.com g] x</a>
21274 <a href="/wiki/Foo" title="Foo">[[Bar]]</a>
21275 <a href="/wiki/Foo" title="Foo">x [[Bar]] x</a>
21276 <a href="/wiki/Foo" title="Foo">|Bar</a>
21277 <a href="/wiki/Foo" title="Foo">]]bar</a>
21278 <a href="/wiki/Foo" title="Foo">[[bar</a>
21279 <a href="/wiki/Foo" title="Foo">x [[ y</a>
21280 <a href="/wiki/Foo" title="Foo">x ]] y</a>
21281 <a href="/wiki/Foo" title="Foo">x ]] y [[ z</a>
21286 Links 3. WikiLinks: No escapes needed
21291 <p><a href="/wiki/Foo" title="Foo">[Foobar</a>
21292 <a href="/wiki/Foo" title="Foo">foo|bar</a>
21295 <p><a rel="mw:WikiLink" href="Foo">[Foobar</a>
21296 <a rel="mw:WikiLink" href="Foo" title="Foo">foo|bar</a></p>
21300 Links 4. ExtLinks: Escapes needed
21304 <p><a rel="mw:ExtLink" href="http://google.com">[google]</a>
21305 <a rel="mw:ExtLink" href="http://google.com">google]</a></p>
21306 <p>[http://google.com]</p>
21307 <p>[http://google.com google]</p>
21309 [http://google.com <nowiki>[google]</nowiki>]
21310 [http://google.com <nowiki>google]</nowiki>]
21312 <nowiki>[http://google.com]</nowiki>
21314 <nowiki>[http://google.com google]</nowiki>
21317 <p><a rel="nofollow" class="external text" href="http://google.com">[google]</a>
21318 <a rel="nofollow" class="external text" href="http://google.com">google]</a>
21319 </p><p>[http://google.com]
21320 </p><p>[http://google.com google]
21325 Links 5. ExtLinks: No escapes needed
21327 [http://google.com [google]
21329 <p><a rel="nofollow" class="external text" href="http://google.com">[google</a>
21332 <p><a rel="mw:ExtLink" href="http://google.com">[google</a></p>
21336 Links 6. Add <nowiki/>s between text-nodes and url-links when required (bug 64300)
21338 <p>x<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>y
21339 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>?x
21340 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>&x
21341 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>'x
21342 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,x
21343 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.x
21344 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
21345 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>:x
21346 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
21347 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>!x
21348 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>=x
21349 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>(x)
21350 <a rel="mw:ExtLink" href="http://example.com(x" data-parsoid='{"stx":"url"}'>http://example.com(x</a>)
21353 x<nowiki/>http://example.com<nowiki/>y
21354 http://example.com<nowiki/>?x
21355 http://example.com<nowiki/>&x
21356 http://example.com<nowiki/>'x
21357 http://example.com<nowiki/>,x
21358 http://example.com<nowiki/>.x
21359 http://example.com<nowiki/>;x
21360 http://example.com<nowiki/>:x
21361 http://example.com<nowiki/>;x
21362 http://example.com<nowiki/>!x
21363 http://example.com<nowiki/>=x
21364 http://example.com<nowiki/>(x)
21365 http://example.com(x<nowiki/>)
21369 Links 7a. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
21372 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>
21374 "<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>"
21375 (<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>)
21376 (<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>) foo
21377 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,
21378 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>, foo
21384 "http://example.com"
21385 (http://example.com)
21386 (http://example.com) foo
21387 http://example.com,
21388 http://example.com, foo
21391 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
21393 "<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>"
21394 (<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
21395 (<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>) foo
21396 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>,
21397 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>, foo
21402 Links 7b. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
21404 <p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.,;:!?\
21405 -<a rel="mw:ExtLink" href="http://example.com">http://example.com</a>:</p>
21407 http://example.com.,;:!?\
21408 -http://example.com:
21410 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>.,;:!?\
21411 -<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>:
21416 Links 8. Add <nowiki/>s between text-nodes and RFC-links when required (bug 64300)
21418 <p><a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>4
21419 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y
21420 X<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y</p>
21424 X<nowiki/>RFC 123<nowiki/>y
21428 Links 9. Don't add spurious <nowiki/>s between text-nodes and RFC-links (bug 64300)
21430 <p><a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>?foo
21431 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>&foo
21432 -<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>-
21439 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc123">RFC 123</a>?foo
21440 <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc123">RFC 123</a>&foo
21441 -<a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc123">RFC 123</a>-
21446 Links 10. Add <nowiki/>s between text-nodes and PMID-links when required (bug 64300)
21448 <p><a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>4
21449 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
21450 X<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
21454 X<nowiki/>PMID 123<nowiki/>y
21458 Links 11. Don't add spurious <nowiki/>s between text-nodes and PMID-links (bug 64300)
21460 <p><a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>?foo
21461 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>&foo
21462 -<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>-
21469 <p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract">PMID 123</a>?foo
21470 <a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract">PMID 123</a>&foo
21471 -<a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract">PMID 123</a>-
21476 Links 12. Add <nowiki/>s between text-nodes and ISBN-links when required (bug 64300)
21478 <p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>1
21479 <a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>x
21480 a<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>b
21483 ISBN 1234567890<nowiki/>1
21484 ISBN 1234567890<nowiki/>x
21485 a<nowiki/>ISBN 1234567890<nowiki/>b
21489 Links 13. Don't add spurious <nowiki/>s between text-nodes and ISBN-links (bug 64300)
21491 <p>-<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>'s
21495 <p>-<a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>'s
21500 Links 14. Protect link-like plain text. (Parsoid bug T78425)
21504 <p>this is not a link: http://example.com
21507 this is not a link: <nowiki>http://example.com</nowiki>
21511 Links 15. Link trails can't become link prefixes.
21515 [[Söfnuður]]-[[00]]
21517 <p><a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">Söfnuður-</a><a href="/wiki/00" title="00">00</a>
21520 <p><a rel="mw:WikiLink" href="Söfnuður" title="Söfnuður" data-parsoid='{"stx":"simple","tail":"-"}'>Söfnuður-</a><a rel="mw:WikiLink" href="00" title="00">00</a></p>
21523 #### --------------- Quotes ---------------
21524 #### 1. Quotes inside <b> and <i>
21525 #### 2. Link fragments separated by <i> and <b> tags
21526 #### 3. Link fragments inside <i> and <b>
21527 #### 4. No escaping needed
21528 #### --------------------------------------
21530 1a. Quotes inside <b> and <i>
21532 parsoid=html2wt,wt2wt
21535 ''<nowiki>''foo''</nowiki>''
21536 ''<nowiki>'''foo'''</nowiki>''
21538 '''<nowiki/>'foo''''
21539 '''<nowiki>''foo''</nowiki>'''
21540 '''<nowiki>'''foo'''</nowiki>'''
21541 '''foo'<nowiki/>''bar'<nowiki/>''baz'''
21542 '''foo'''<nowiki/>'s
21548 '''foo'''<nowiki/>'
21549 ''''foo'''<nowiki/>'
21550 ''fools'<span> errand</span>''
21551 ''<span>fool</span>'s errand''
21552 '<nowiki/>''foo'' bar '''baz''
21553 a|!*#-:;+-~[]{}b'''x''
21562 <b>foo'<i>bar'</i>baz</b>
21571 <i>fools'<span> errand</span></i>
21572 <i><span>fool</span>'s errand</i>
21573 '<i>foo</i> bar '<i>baz</i>
21574 a|!*#-:;+-~[]{}b'<i>x</i>
21579 1b. Quotes inside <b> and <i> with other tags on same line
21581 parsoid=html2wt,wt2wt
21583 '''a'' foo ''[[bar]]''
21584 ''a''' foo ''[[bar]]''
21585 ''a''' foo '''{{echo|[[bar]]}}'''
21586 [[foo]] x'''[[bar]]''
21587 '''foo'' <ref>test</ref>
21588 '''foo'' <div title="name">test</div>
21589 '''foo'' and <br> bar
21592 '<i>a</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i>
21593 <i>a'</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i>
21594 <i>a'</i> foo <b><a rel="mw:WikiLink" href="Bar" title="Bar" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[bar]]"}},"i":0}}]}'>bar</a></b>
21595 <a rel="mw:WikiLink" href="Foo" title="Foo">foo</a> x'<i><a href="Bar" rel="mw:WikiLink" title="Bar">bar</a></i>
21596 '<i>foo</i> <span class="reference" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
21597 '<i>foo</i> <div title="name">test</div>
21598 '<i>foo</i> and <br data-parsoid='{"stx":"html","noClose":true}'/> bar
21599 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
21600 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">test</span></li>
21605 2. Link fragments separated by <i> and <b> tags
21607 [[''foo''<nowiki>hello]]</nowiki>
21609 [['''foo'''<nowiki>hello]]</nowiki>
21611 <p>[[<i>foo</i>hello]]
21612 </p><p>[[<b>foo</b>hello]]
21616 # FIXME: Escaping one or both of [[ and ]] is also acceptable --
21617 # this is one of the shortcomings of this format
21619 3. Link fragments inside <i> and <b>
21621 ''[[foo''<nowiki>]]</nowiki>
21623 '''[[foo'''<nowiki>]]</nowiki>
21626 </p><p><b>[[foo</b>]]
21631 4. No escaping needed
21633 '<span>''bar''</span>'
21634 '<span>'''bar'''</span>'
21637 <p>'<span><i>bar</i></span>'
21638 '<span><b>bar</b></span>'
21643 #### ----------- Paragraphs ---------------
21644 #### 1. No unnecessary escapes
21645 #### --------------------------------------
21648 1. No unnecessary escapes
21650 bar <span><nowiki>[[foo]]</nowiki></span>
21652 =bar <span><nowiki>[[foo]]</nowiki></span>
21654 [[bar <span><nowiki>[[foo]]</nowiki></span>
21656 ]]bar <span><nowiki>[[foo]]</nowiki></span>
21658 =bar <span>foo]]</span><nowiki>=</nowiki>
21660 <p>bar <span>[[foo]]</span>
21661 </p><p>=bar <span>[[foo]]</span>
21662 </p><p>[[bar <span>[[foo]]</span>
21663 </p><p>]]bar <span>[[foo]]</span>
21664 </p><p>=bar <span>foo]]</span>=
21668 #### ----------------------- PRE --------------------------
21669 #### 1. Leading whitespace in SOL context should be escaped
21670 #### ------------------------------------------------------
21672 1. Leading whitespace in SOL context should be escaped
21676 <nowiki> </nowiki>a
21678 <nowiki> </nowiki> a
21680 <nowiki> </nowiki>a(tab)
21682 <nowiki> </nowiki> a
21684 <nowiki> </nowiki> a
21687 <nowiki> </nowiki>b
21690 <nowiki> </nowiki>b
21693 <nowiki> </nowiki> b
21699 <p><!--cmt--> a</p>
21709 2. Leading whitespace in non-indent-pre contexts should not be escaped
21717 <p>foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
21718 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
21719 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><i data-parsoid='{"dsr":[9,14,2,2]}'>a</i>
21725 3. Leading whitespace in indent-pre suppressing contexts should not be escaped
21744 4. Leading whitespace in indent-pre suppressing contexts should not be escaped
21748 [[File:Foobar.jpg|thumb|caption]]
21751 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>caption</figcaption></figure>
21755 5. Nowiki escaping should account for indent-pres
21764 #### --------------- Behavior Switches --------------------
21766 1. Valid behavior switches should be escaped
21773 <nowiki>__TOC__</nowiki>
21774 ''<nowiki>__TOC__</nowiki>''
21778 2. Invalid behavior switches should not be escaped
21789 #### --------------- HTML tags ---------------
21792 #### 3. multi-line html tag
21793 #### 4. extension tags
21794 #### -----------------------------------------
21800 <a href="http://google.com">google</a>
21802 <a href="http://google.com">google</a>
21808 * <nowiki><div>foo</div></nowiki>
21809 * <nowiki><div style="color:red">foo</div></nowiki>
21810 * <nowiki><td></nowiki>
21812 <ul><li> <div>foo</div></li>
21813 <li> <div style="color:red">foo</div></li>
21814 <li> <td></li></ul>
21819 3. multi-line html tag
21834 <nowiki><ref>foo</ref></nowiki>
21836 <nowiki><ref>bar</nowiki>
21838 baz<nowiki></ref></nowiki>
21840 <p><ref>foo</ref>
21841 </p><p><ref>bar
21842 </p><p>baz</ref>
21846 #### --------------- Others ---------------
21850 <nowiki>foo</nowiki>
21852 <p><nowiki>foo</nowiki>
21856 ## The quote-char in the input is necessary for triggering the bug
21858 (Bug 52035) Nowiki-escaping should not get tripped by " :" in text
21860 parsoid=wt2wt,html2wt
21869 Tag-like HTML structures are passed through as text
21891 </p><p>1<d e>f
21896 # This was a bug in the PHP parser (see bug 17663 and its dups,
21897 # https://bugzilla.wikimedia.org/show_bug.cgi?id=17663)
21899 Tag names followed by punctuation should not be recognized as tags
21903 <p><s.ome> text
21908 HTML tag with necessary entities in attributes
21910 <span title="&amp;">foo</span>
21912 <p><span title="&amp;">foo</span>
21917 HTML tag with 'unnecessary' entity encoding in attributes
21919 <span title="&">foo</span>
21921 <p><span title="&">foo</span>
21926 HTML tag with broken attribute value quoting
21928 <span title="Hello world>Foo</span>
21930 <p><span>Foo</span>
21933 <p><span title="Hello world">Foo</span>
21938 Parsoid-only: HTML tag with broken attribute value quoting
21942 <span title="Hello world>Foo</span>
21944 <p><span title="Hello world">Foo</span>
21949 Table with broken attribute value quoting
21952 | title="Hello world|Foo
21963 <td title="Hello world">Foo
21969 Table with broken attribute value quoting on consecutive lines
21972 | title="Hello world|Foo
21973 | style="color:red|Bar
21986 <td title="Hello world">Foo
21987 </td><td style="color: red">Bar
21988 </td></tr></tbody></table>
21993 Parsoid-only: Don't wrap broken template tags in <nowiki> on wt2wt (Bug 42353)
22003 Parsoid-only: Don't wrap broken template tags in <nowiki> on wt2wt (Bug 42353)
22013 Accept empty td cell attribute
22016 | align="center" | foo || |
22021 <td align="center"> foo </td>
22028 Non-empty attributes in th-cells
22031 ! Foo !! style="color: red" | Bar
22037 <th style="color: red"> Bar
22043 Accept empty attributes in th-cells
22058 Empty table rows go away
22079 ### Parsoid-centric tests for testing RTing of inter-element separators
22080 ### Edge cases not tested by existing parser tests and specific to
22081 ### Parsoid-specific serialization strategies.
22085 RT-ed inter-element separators should be valid separators
22097 # Parsoid-only since PHP parser relies on Tidy for correct output
22099 Trailing newlines in a deep dom-subtree that ends a wikitext line should be migrated out
22113 <tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'><small data-parsoid='{"stx":"html","autoInsertedEnd":true}'>foo
22114 <p>bar</p></small></td></tr>
22118 <tbody><tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'><small data-parsoid='{"stx":"html","autoInsertedEnd":true}'>foo<small data-parsoid='{"stx":"html","autoInsertedEnd":true}'></small></small></td></tr>
22123 Empty TD followed by TD with tpl-generated attribute
22128 |{{echo|style='color:red'}}|foo
22142 Indented table with an empty td
22160 ## We have some newline diffs RT-ing this edge case
22161 ## and it is not important enough -- we seem to be emitting
22162 ## at most 2 newlines after a </tr> and this is unrelated to
22163 ## the issue from T85627 that this is testing.
22165 Indented table with blank lines in between (T85627)
22184 Indented block & table
22198 <div data-parsoid='{"stx":"html"}'>foo</div>
22200 <tr data-parsoid='{"autoInsertedEnd":true,"autoInsertedStart":true}'><td data-parsoid='{"autoInsertedEnd":true}'>foo</td></tr>
22205 Indent and comment before table row
22220 <!--hi--><tbody><tr data-parsoid='{"startTagSrc":"|-","autoInsertedEnd":true}'>
22221 <td data-parsoid='{"autoInsertedEnd":true}'> there</td></tr>
22225 # Parsoid-specific since PHP parser doesn't handle this mixed tbl-wikitext
22227 Empty TR followed by a template-generated TR
22233 {{echo|<tr><td>foo</td></tr>}}
22239 <tr about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<tr><td>foo</td></tr>"}},"i":0}}]}'>
22244 ## PHP and parsoid output differ for this, and since this is primarily
22245 ## for testing Parsoid's serializer, marking this Parsoid only
22247 Empty TR followed by mixed-ws-comment line should RT correctly
22263 <!--c--> </tr><!--d-->
22269 Multi-line image caption generated by templates with/without trailing newlines
22271 [[File:Foobar.jpg|thumb|300x300px|foo\n{{echo|A}}\n{{echo|B}}\n{{echo|C}}]]
22272 [[File:Foobar.jpg|thumb|300x300px|foo\n{{echo|A}}\n{{echo|B}}\n{{echo|C}}\n\n]]
22274 <figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" height="34" width="300"/></a><figcaption>foo\n<span about="#mwt9" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"A"}},"i":0}}]}'>A</span>\n<span about="#mwt10" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"B"}},"i":0}}]}'>B</span>\n<span about="#mwt11" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"C"}},"i":0}}]}'>C</span></figcaption></figure>
22275 <figure typeof="mw:Image/Thumb"><a href="./File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg" height="34" width="300"/></a><figcaption>foo\n<span about="#mwt12" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"A"}},"i":0}}]}'>A</span>\n<span about="#mwt13" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"B"}},"i":0}}]}'>B</span>\n<span about="#mwt14" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"C"}},"i":0}}]}'>C</span>\n\n</figcaption></figure>
22279 New element inserted (without intervening newlines) after an old sol-transparent node should serialize correctly
22283 <meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"<includeonly>foo</includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":""}'/><p>new para</p>
22285 <link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid=''/><h1>new heading</h1>
22287 <includeonly>foo</includeonly>
22295 ## PHP emits broken html for this, and since this is primarily
22296 ## a Parsoid serializer test, marking this Parsoid only
22298 Improperly nested inline or quotes tags with whitespace in between
22302 <span> <s>x</span> </s>
22305 <p><span> <s>x</s></span><s> </s>
22306 <b> <i>x</i></b><i> </i>
22311 Encapsulate protected attributes from wt
22315 <div typeof="mw:placeholder stuff" data-parsoid="weird" data-parsoid-other="no" about="time" rel="mw:true">foo</div>
22317 <body><div data-x-typeof="mw:placeholder stuff" data-x-data-parsoid="weird" data-x-data-parsoid-other="no" data-x-about="time" data-x-rel="mw:true">foo</div>
22321 ## Currently the p-wrapper is fragile in how it adds / removes transformations.
22322 ## Having nested or stray pre tags results in the attempt to add duplicates,
22323 ## causing an assertion fail. This test tries to prevent that situation.
22325 Ensure ParagraphWrapper can deal with stray closing pre tags
22335 1. Ensure fostered text content is wrapped in element nodes
22339 <table>hi</table><table>ho</table>
22348 2. Ensure fostered text content is wrapped in element nodes (traps regressions around fostered marker on the element getting lost)
22350 parsoid=wt2html,wt2wt
22359 <tbody><tr><td> a</td></tr>
22364 Encapsulation properly handles null DSR information from foster box
22366 parsoid=wt2html,wt2wt
22368 {{echo|<table>foo<tr><td>bar</td></tr></table>}}
22370 <span typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<table>foo<tr><td>bar</td></tr></table>"}},"i":0}}]}">foo</span><table><tbody><tr><td>bar</td></tr></tbody></table>
22374 1. Encapsulate foster-parented transclusion content
22376 parsoid=wt2wt,wt2html
22378 <table>{{echo|foo<tr><td>bar</td></tr>}}</table>
22380 <p typeof="mw:Transclusion" data-mw="{"parts":["<table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo<tr><td>bar</td></tr>"}},"i":0}},"</table>"]}">foo</p><table>
22390 2. Encapsulate foster-parented transclusion content
22392 parsoid=wt2wt,wt2html
22394 <table><div>{{echo|foo}}</div><tr><td>bar</td></tr></table>
22396 <div typeof="mw:Transclusion" data-mw="{"parts":["<table><div>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}},"</div><tr><td>bar</td></tr></table>"]}">foo</div>
22407 3. Encapsulate foster-parented transclusion content
22409 parsoid=wt2wt,wt2html
22411 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
22413 <div typeof="mw:Transclusion" data-mw="{"parts":["<table><div><p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div><tr><td>"}},"i":0}},"bar</td></tr></table>"]}">
22426 4. Encapsulate foster-parented transclusion content
22428 parsoid=wt2wt,wt2html
22430 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
22432 <div typeof="mw:Transclusion" data-mw="{"parts":["<table><div><p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div><tr><td>"}},"i":0}},"bar</td></tr></table>"]}">
22445 5. Encapsulate foster-parented transclusion content
22447 parsoid=wt2wt,wt2html
22449 <table><tr><td><div><p>{{echo|foo</p></div></td>foo}}</tr></table>
22451 <p typeof="mw:Transclusion" data-mw="{"parts":["<table><tr><td><div><p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div></td>foo"}},"i":0}},"</tr></table>"]}">foo</p>
22466 6. Encapsulate foster-parented transclusion content
22468 parsoid=wt2wt,wt2html
22470 <table><tr><td><div><p>{{echo|foo</p></div></td>foo</tr></table>}}<p>ok</p>
22472 <p typeof="mw:Transclusion" data-mw="{"parts":["<table><tr><td><div><p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div></td>foo</tr></table>"}},"i":0}}]}">foo</p>
22488 7. Encapsulate foster-parented transclusion content
22490 parsoid=wt2wt,wt2html
22492 <table>{{echo|<p>foo</p>}}<td>bar</td></table>
22494 <p typeof="mw:Transclusion" data-mw="{"parts":["<table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<p>foo</p>"}},"i":0}},"<td>bar</td></table>"]}">foo</p>
22505 8. Encapsulate foster-parented transclusion content
22507 parsoid=wt2wt,wt2html
22510 }}{|{{echo|style='color:red'}}
22515 <p typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n"}},"i":0}}]}">a</p><p typeof="mw:Transclusion" data-mw="{"parts":["{|",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"style":{"wt":"'color:red'"}},"i":0}},"\n|-\n|b\n|}"]}">{{{1}}}</p><table>
22525 9. Encapsulate foster-parented transclusion content
22527 parsoid=wt2wt,wt2html
22529 <table>{{echo|hi</table>hello}}
22531 <p about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":["<table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"hi</table>hello"}},"i":0}}]}' data-parsoid='{"fostered":true,"autoInsertedEnd":true,"autoInsertedStart":true,"pi":[[{"k":"1","spc":["","","",""]}]]}'>hi</p><table about="#mwt2" data-parsoid='{"stx":"html"}'></table><p about="#mwt2">hello</p>
22535 Table in fosterable position
22537 parsoid=wt2html,wt2wt
22546 <div about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"OpenTable","href":"./Template:OpenTable"},"params":{},"i":0}},"\n<div>"]}' data-parsoid='{"stx":"html","autoInsertedEnd":true,"pi":[[]]}'></div><span about="#mwt1">
22548 <table about="#mwt1" data-parsoid='{"autoInsertedEnd":true}'></table>
22554 # Parsoid only for bug 64747
22556 Properly encapsulate empty-content transclusions in fosterable positions
22564 <table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":["<table>\n",{"template":{"target":{"wt":"#if:","function":"#if"},"params":{"1":{"wt":"\n<td>foo</td>\n"}},"i":0}},"\n</table>"]}' data-parsoid='{"stx":"html","pi":[[{"k":"1","spc":["","","",""]}]]}'>
22570 Support <object> element with .data attribute
22574 <object data="test.swf"></object>
22576 <object data="test.swf"></object>
22580 Don't block XML namespace declaration
22582 <span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">MediaWiki</span>
22584 <p><span>MediaWiki</span>
22587 <p><span xmlns:dct="http://purl.org/dc/terms/" data-x-property="dct:title" data-parsoid='{"stx":"html"}'>MediaWiki</span></p>
22590 # -----------------------------------------------------------------
22591 # The following section of tests are primarily to spec requirements
22592 # around serialization of new/edited content.
22594 # All these tests are marked Parsoid html2wt and html2html only
22595 # ----------------------------------------------------------------
22597 # 'mi' is a localinterwiki prefix as well as a language
22599 Serialize interwiki links pointing to the current wiki as plain wiki links (bug 65869)
22603 <p><a rel="mw:ExtLink" href="http://mi.wikipedia.org/wiki/Foo">Foo</a></p>
22609 New wiki links (href variations)
22613 <a rel="mw:WikiLink" href="./Foo_bar">Foo_bar</a>
22614 <a rel="mw:WikiLink" href="Foo_bar">Foo_bar</a>
22615 <a rel="mw:WikiLink" href="Foo bar">Foo_bar</a>
22616 <a rel="mw:WikiLink" href="./Toxine_bact%C3%A9rienne">Toxine bactérienne</a>
22621 [[Toxine bactérienne]]
22625 New wiki links (content string variations)
22629 <a rel="mw:WikiLink" href="./Foo_bar">Foo_bar</a>
22630 <a rel="mw:WikiLink" href="./Foo_bar">Foo bar</a>
22631 <a rel="mw:WikiLink" href="./Foo_bar">./Foo_bar</a>
22635 [[Foo_bar|./Foo_bar]]
22639 New category links (href variations)
22643 <link rel="mw:PageProp/Category" href="./Category:Toxine_bactérienne" />
22644 <link rel="mw:PageProp/Category" href="./Category:Toxine_bact%C3%A9rienne" />
22645 <link rel="mw:PageProp/Category" href="Category:Toxine_bact%C3%A9rienne" />
22647 [[Category:Toxine bactérienne]]
22648 [[Category:Toxine bactérienne]]
22649 [[Category:Toxine bactérienne]]
22653 New sol transparent links don't need indent-pre nowiki protection
22658 <link rel="mw:PageProp/redirect" href="./Main_Page">
22659 <!-- this is good --> <link rel="mw:PageProp/Category" href="./Category:Good" />
22660 <!-- this is great --> <link rel="mw:PageProp/Category" href="./Kategorie:Great" />
22662 #WEITERLEITUNG [[Main Page]]
22663 <!-- this is good --> [[Category:Good]]
22664 <!-- this is great --> [[Kategorie:Great]]
22668 New interlanguage links (href variations)
22672 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Toxine bactérienne" />
22673 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Toxine_bactérienne" />
22674 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Toxine_bact%C3%A9rienne" />
22676 [[es:Toxine bactérienne]]
22677 [[es:Toxine_bactérienne]]
22678 [[es:Toxine_bactérienne]]
22682 Image: Modifying size of an image (1)
22685 "modes": ["wt2wt"],
22687 ["img[height]", "attr", "height", "22"],
22688 ["img[width]", "attr", "width", "200"]
22692 [[Image:Foobar.jpg|230x230px]]
22694 [[Image:Foobar.jpg|200x200px]]
22698 Image: Modifying size of an image (2)
22701 "modes": ["wt2wt"],
22703 ["img[height]", "attr", "height", "100"],
22704 ["img[width]", "attr", "width", "500"]
22708 [[Image:Foobar.jpg|230x230px]]
22710 [[Image:Foobar.jpg|500x500px]]
22713 # Change in size is ignored so long as class='mw-default-size'
22715 Image: Modifying size of an image (3)
22718 "modes": ["wt2wt"],
22720 ["figure[class]", "removeClass", "mw-default-size"],
22721 ["figure img", "attr", "height", "19"],
22722 ["figure img", "attr", "width", "170"]
22726 [[Image:Foobar.jpg|thumb]]
22728 [[Image:Foobar.jpg|thumb|170x170px]]
22732 Image: Modifying alignment of an image (bug 48665)
22735 "modes": ["wt2wt"],
22737 ["figure[class]", "removeClass", "mw-halign-right"],
22738 ["figure[class]", "addClass", "mw-halign-left"]
22742 [[Image:Foobar.jpg|thumb|caption|right]]
22744 [[Image:Foobar.jpg|thumb|caption|left]]
22748 Image: Modifying mw-default-size of an frameless image (bug 62805)
22751 "modes": ["wt2wt"],
22753 ["figure.mw-default-size", "removeClass", "mw-default-size"]
22757 [[Image:Foobar.jpg|frameless|right]]
22759 [[Image:Foobar.jpg|frameless|right|220x220px]]
22763 Image: Modifying valign of an image (bug 49221)
22766 "modes": ["wt2wt"],
22768 ["*[typeof=\"mw:Image\"]", "removeClass", "mw-valign-middle"],
22769 ["*[typeof=\"mw:Image\"]", "addClass", "mw-valign-text-top"]
22773 [[File:Foobar.jpg|20px|middle]]
22775 [[File:Foobar.jpg|20px|text-top]]
22779 Image: Modifying alt attribute of an image (bug 56400)
22782 "modes": ["wt2wt"],
22784 ["img[alt]", "attr", "alt", "some alternate edited text"]
22788 [[File:Foobar.jpg|thumb|some caption|alt=some alternate text]]
22790 [[File:Foobar.jpg|thumb|some caption|alt=some alternate edited text]]
22794 Image: Modifying caption of an image
22797 "modes": ["wt2wt"],
22799 ["figcaption", "text", "new caption"]
22803 [[Image:Foobar.jpg|thumb|original caption]]
22805 [[Image:Foobar.jpg|thumb|new caption]]
22809 Image: empty alt attribute (bug 48924)
22813 [[File:Foobar.jpg|thumb|alt=|bar]]
22815 <figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"alt","ak":"alt="},{"ck":"caption","ak":"bar"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img alt="" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg" height="25" width="220" data-parsoid='{"a":{"alt":"","resource":"./File:Foobar.jpg","height":"25","width":"220"},"sa":{"alt":"alt=","resource":"File:Foobar.jpg"}}'/></a><figcaption>bar</figcaption></figure>
22819 #Image: new attributes should be serialized in wiki's language for RTL languages (bug 51852)
22824 #<figure class="mw-default-size mw-halign-right" typeof="mw:Image/Thumb"><a href="Imagen:Foobar.jpg"><img resource="./Imagen:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="20" width="180"/></a></figure>
22826 #[[Imagen:Foobar.jpg|derecha|miniaturadeimagen]]
22830 Image: Block level image should have \n before and after
22833 [[File:Foobar.jpg|right|thumb|150x150px]]
22837 <figure class="mw-halign-right" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="17" width="150"/></a></figure>
22842 Image: New block level image should have \n before and after (existing content)
22845 [[File:Foobar.jpg|right|thumb|150x150px]]
22849 <figure class="mw-halign-right" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"right","ak":"right"},{"ck":"thumbnail","ak":"thumb"},{"ck":"width","ak":"150x150px"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/150px-Foobar.jpg" height="17" width="150" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"17","width":"150"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></figure>
22854 Image: upright option (parsoid)
22858 [[File:Foobar.jpg|thumb|upright|caption]]
22859 [[File:Foobar.jpg|thumb|upright=0.5|caption]]
22860 [[File:Foobar.jpg|thumb|500x500px|upright=0.5|caption]]
22862 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="19" width="170"/></a><figcaption>caption</figcaption></figure>
22863 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="12" width="110"/></a><figcaption>caption</figcaption></figure>
22864 <figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a><figcaption>caption</figcaption></figure>
22868 Image: upright option is ignored on inline and frame images (parsoid)
22872 [[File:Foobar.jpg|500x500px|upright=0.5|caption]]
22874 <p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a></span></p>
22878 Image: from basic HTML (1)
22882 <span typeof="mw:Image">
22883 <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
22886 [[File:Foobar.jpg|link=|alt=Alt|100x100px]]
22890 Image: from basic HTML (2)
22894 <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
22896 [[File:Foobar.jpg|link=|alt=Alt|100x100px]]
22900 Image: from basic HTML (3)
22904 <a href="Main"><img src="File:Foobar.jpg" width=100 height=100 alt="Alt"></a>
22906 [[File:Foobar.jpg|link=Main|alt=Alt|100x100px]]
22910 Image: from basic HTML (4)
22914 <img src="File:Foobar.jpg">
22916 [[File:Foobar.jpg|link=]]
22920 Lists: Serialize correctly even when list content is wrapped in p-tags (like VE does)
22925 <li><p>foo</p></li>
22932 Lists: Serialize correctly even when list tags has unneeded whitespace between tags
22936 <ul> <li>foo</li></ul>
22942 Don't strip leading whitespace when handling indent-pre suppressing tags
22947 <tr><td> indented row</td></tr>
22950 <b>This is very bold of you!</b>
22953 indented cell (no pre-wrapping!)
22963 '''This is very bold of you!'''
22967 indented cell (no pre-wrapping!)
22975 Nowiki-wrap leading whitespace when handling indent-pre inducing tags
22980 <nowiki> </nowiki><span>bar</span>
22983 <nowiki> </nowiki></span>bar2
22986 <nowiki> </nowiki><span>bar</span>
22989 <nowiki> </nowiki><span>foo</span>
23007 Lists: Add space after bullets
23014 <li><span> baz</span></li>
23019 * <span> baz</span>
23023 Lists: Dont insert newlines in a serialized list item.
23027 <ul><li>a<br>b</li><li>c</li></ul>
23034 Headings: Add space before/after == (Bug 51744)
23041 <h2><span> baz</span></h2>
23049 == <span> baz</span> ==
23053 Headings: Force metas to serialize before/after
23057 <h2>hello there<link href="Category:A1" rel="mw:PageProp/Category" /></h2>
23058 <h2><link href="Category:A2" rel="mw:PageProp/Category" />hi pal</h2>
23060 <h2><!--foo--> <link href="Category:A3" rel="mw:PageProp/Category" /> how goes it</h2>
23068 <!--foo--> [[Category:A3]]
23073 Parsoid: Serialize positional parameters with = in them as named parameter
23077 <p about="#mwt1" typeof="mw:Transclusion"
23078 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"}},"i":0}}]}'>foo</p>
23080 <p about="#mwt1" typeof="mw:Transclusion"
23081 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"}, "2":{"wt":"bar"}},"i":0}}]}'>foo</p>
23083 <!--Orig params with data-parsoid has heuristics for handling = chars-->
23084 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
23085 <p data-parsoid='{"pi":[[{"k":"1","spc":["","","",""]},{"k":"2","spc":["","","",""]}]]}' about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"},"2":{"wt":"bar"}},"i":0}}]}'>foo</p>
23089 {{echo|1 = f=oo|2 = bar}}
23091 <!--Orig params with data-parsoid has heuristics for handling = chars-->
23092 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
23093 {{echo|<nowiki>f=oo</nowiki>|bar}}
23097 Parsoid: Serialize positional parameters with = in extlink as named parameter
23101 <p><a rel="mw:ExtLink" href="http://stuff?is=ok" about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"http://stuff?is=ok"}},"i":0}}]}'>http://stuff?is=ok</a></p>
23103 {{echo|1 = http://stuff?is=ok}}
23107 Parsoid: Correctly serialize block-node children when they are a combination of text and p-nodes
23111 <div>a<p>b</p></div>
23132 Substrings resembling wikitext in hrefs should not get nowiki escapes
23136 <a rel="mw:WikiLink" href="./Foo''bar''baz">Foo''bar''baz</a>
23141 #-----------------------------
23142 # I/B quote minimization tests
23143 #-----------------------------
23146 1. I/B quote minimization: wikitext-only tags should be combined
23150 <p><i>A</i><i>B</i></p>
23151 <p><b>A</b><b>B</b></p>
23152 <p><i>A</i><b><i>B</i></b></p>
23153 <p><b>A</b><i><b>B</b></i></p>
23154 <p><b>A</b><i><b>B</b><b>C</b></i><b>D</b></p>
23155 <p><i><b>A</b></i><i><b>B</b></i></p>
23156 <p><i><b>A</b></i><b><i>B</i></b></p>
23157 <p><b><i>A</i></b><i><b>B</b></i></p>
23177 2. I/B quote minimization: wikitext and html tags should not be combined
23181 <p><i>A</i><i data-parsoid='{"stx":"html"}'>B</i></p>
23182 <p><i>A</i><b><i data-parsoid='{"stx":"html"}'>B</i></b></p>
23186 ''A''<nowiki/>'''<i>B</i>'''
23190 3. I/B quote minimization: templated content stops minimization
23194 <p><i>A</i><i about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"''B''"}},"i":0}}]}'>B</i>
23195 <p><i>A</i><b about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"'''''B'''''"}},"i":0}}]}'><i>B</i></b>
23197 ''A''{{echo|''B''}}
23199 ''A''{{echo|'''''B'''''}}
23203 4. I/B quote minimization: new content should be mimimized with adjacent old content
23207 <p><i>A</i><i>B</i></p>
23208 <p><b>A</b><b>B</b></p>
23209 <p><i>A</i><b><i>B</i></b></p>
23219 5a. Merge adjacent quote nodes if they've been edited
23222 "modes": ["wt2wt"],
23224 ["p", "contents", "remove", ":contains('b')"]
23234 5b. Merge adjacent quote nodes if they've been edited
23237 "modes": ["wt2wt"],
23243 ''a''<span id="x">b</span>''c''
23248 #------------------------------------
23249 # End of I/B quote minimization tests
23250 #------------------------------------
23253 Bug 54262: New entities
23259 <span typeof="mw:Entity"> </span>
23262 ## Note that there is no wikitext output for 'unknownproperty' ##
23263 ## Unknown magic words are silently dropped ##
23270 <meta property='mw:PageProp/toc' />
23271 <meta property='mw:PageProp/notoc' />
23272 <meta property='mw:PageProp/forcetoc' />
23273 <meta property='mw:PageProp/index' />
23274 <meta property='mw:PageProp/noindex' />
23275 <meta property='mw:PageProp/nogallery' />
23276 <meta property='mw:PageProp/noeditsection' />
23277 <meta property='mw:PageProp/notitleconvert' />
23278 <meta property='mw:PageProp/nocontentconvert' />
23279 <meta property='mw:PageProp/unknownproperty' />
23289 __NOCONTENTCONVERT__
23293 Consecutive <pre>s should not get merged
23295 parsoid=html2wt,html2html
23297 <pre>a</pre><pre>b</pre>
23325 Edited ISBN links not serializable as ISBN links should serialize as wikilinks
23329 <a rel="mw:ExtLink" href="./Special:BookSources/1234567890">ISBN 1234567895</a>
23331 [[Special:BookSources/1234567890|ISBN 1234567895]]
23335 Edited RFC links not serializable as RFC links should serialize as extlinks
23339 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink">New RFC</a>
23341 [//tools.ietf.org/html/rfc123 New RFC]
23345 Edited PMID links not serializable as PMID links should serialize as extlinks
23349 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink">New PMID</a>
23351 [//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract New PMID]
23355 WTS of autolinks with trailing/surrounding context
23359 <p><a href="http://cscott.net">http://cscott.net</a><b>foo</b></p>
23360 <p><a href="http://cscott.net">http://cscott.net</a><b data-parsoid='{"stx":"html"}'>foo</b></p>
23361 <p><b><a href="http://cscott.net">http://cscott.net</a></b></p>
23362 <p><b><a href="http://cscott.net">http://cscott.net</a> </b></p>
23363 <p><b><a href="http://cscott.net">http://cscott.net</a>x</b></p>
23364 <p><a href="http://cscott.net">http://cscott.net</a>x</p>
23366 http://cscott.net<nowiki/>'''foo'''
23368 http://cscott.net<b>foo</b>
23370 '''http://cscott.net<nowiki/>'''
23372 '''http://cscott.net '''
23374 '''http://cscott.net<nowiki/>x'''
23376 http://cscott.net<nowiki/>x
23380 WTS of autolinks with nowikis (round-trip)
23382 x<nowiki/>http://cscott.net<nowiki/>x
23384 <p>x<a rel="mw:ExtLink" href="http://cscott.net">http://cscott.net</a>x</p>
23387 # this is the "easy" test because it leaves in place all the
23388 # data-parsoid information indicating this is an autolink
23390 WTS of autolinks with escapes (editing)
23393 "modes": ["wt2wt"],
23395 [ "meta", "remove" ]
23399 x<nowiki/>http://cscott.net<nowiki/>x
23401 x<nowiki/>http://cscott.net<nowiki/>x
23405 Edited Redirect link should emit a non-piped wikitext link
23409 <link rel="mw:PageProp/redirect" href="Bar" data-parsoid='{"a":{"href":"./Foo"},"sa":{"href":"Foo"}}'>
23415 T75121: Infer extension name from typeOf if data-mw is not present
23419 <div typeOf="mw:Extension/foo"></div>
23424 # -----------------------------------------------------------------
23425 # End of section for Parsoid-only html2wt tests for serialization
23427 # -----------------------------------------------------------------
23434 Try for 100% code coverage