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 formdness
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.
67 MediaWiki:bad image list
69 * [[File:Bad.jpg]] except [[Nasty page]]
103 Template:echo_with_span
109 Template:echo_with_div
121 Template:table_attribs
124 |</noinclude>style="color: red"| Foo
130 {{table_attribs}} || Bar || Baz
134 Template:image_attribs
137 [[File:foobar.jpg|</noinclude>right|Caption text<noinclude>]]</noinclude>
171 This is a simple paragraph.
173 <p>This is a simple paragraph.
178 Paragraphs with extra newline spacing
201 Paragraphs with newline spacing with comment lines in between
209 <!--foo--><!--More than 1 comment, still stripped-->
213 <!--foo--> <!----> <!-- bar -->
274 Paragraphs with newline spacing with non-empty white-space lines in between
301 Paragraphs with newline spacing with non-empty mixed comment and white-space lines in between
309 <!--foo--><!--More than 1 comment doesn't disable stripping of this line!-->
348 Extra newlines: More paragraphs with indented comment
363 Extra newlines followed by heading
378 <h1><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>
379 <p><a href="/index.php?title=A&action=edit&redlink=1" class="new" title="A (page does not exist)">a</a>
382 <h1><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>
387 Extra newlines between heading and content are swallowed
395 <h1><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>
396 <p><a href="/index.php?title=A&action=edit&redlink=1" class="new" title="A (page does not exist)">a</a>
403 http://fr.wikipedia.org/wiki/🍺
404 <!-- EasterEgg we love beer, better be able be able to link to it -->
406 <p><a rel="nofollow" class="external free" href="http://fr.wikipedia.org/wiki/🍺">http://fr.wikipedia.org/wiki/🍺</a>
429 * plain''italic''plain
430 * plain''italic''plain''italic''plain
431 * plain'''bold'''plain
432 * plain'''bold'''plain'''bold'''plain
433 * plain''italic''plain'''bold'''plain
434 * plain'''bold'''plain''italic''plain
435 * plain''italic'''bold-italic'''italic''plain
436 * plain'''bold''bold-italic''bold'''plain
437 * plain'''''bold-italic'''italic''plain
438 * plain'''''bold-italic''bold'''plain
439 * plain''italic'''bold-italic'''''plain
440 * plain'''bold''bold-italic'''''plain
441 * plain l'''italic''plain
442 * plain l''''bold''' plain
447 <li> plain<i>italic</i>plain
449 <li> plain<i>italic</i>plain<i>italic</i>plain
451 <li> plain<b>bold</b>plain
453 <li> plain<b>bold</b>plain<b>bold</b>plain
455 <li> plain<i>italic</i>plain<b>bold</b>plain
457 <li> plain<b>bold</b>plain<i>italic</i>plain
459 <li> plain<i>italic<b>bold-italic</b>italic</i>plain
461 <li> plain<b>bold<i>bold-italic</i>bold</b>plain
463 <li> plain<i><b>bold-italic</b>italic</i>plain
465 <li> plain<b><i>bold-italic</i>bold</b>plain
467 <li> plain<i>italic<b>bold-italic</b></i>plain
469 <li> plain<b>bold<i>bold-italic</i></b>plain
471 <li> plain l'<i>italic</i>plain
473 <li> plain l'<b>bold</b> plain
479 # this example taken from the [[simple:Moon]] article (bug 47326)
481 Italics and possessives (1)
483 obtained by ''[[Lunar Prospector]]'''s gamma-ray spectrometer
485 <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
489 # this example taken from [[en:Flaming Pie]] (bug 49926)
491 Italics and possessives (2)
493 '''''Flaming Pie''''' is ... released in 1997. In ''Flaming Pie'''s liner notes
495 <p><i><b>Flaming Pie</b></i> is ... released in 1997. In <i>Flaming Pie'</i>s liner notes
499 # this example taken from [[en:Dictionary]] (bug 49926)
501 Italics and possessives (3)
503 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''.
505 <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>.
511 ### 2-quote opening sequence tests
514 Italics and bold: 2-quote opening sequence: (2,2)
524 Italics and bold: 2-quote opening sequence: (2,3)
535 # same html as previous, but wikitext adjusted to match parsoid html2wt
537 Italics and bold: 2-quote opening sequence: (2,3) w/ nowiki
539 ''<nowiki>foo'</nowiki>''
547 Italics and bold: 2-quote opening sequence: (2,4)
558 # same html as previous, but wikitext adjusted to match parsoid html2wt
560 Italics and bold: 2-quote opening sequence: (2,4) w/ nowiki
562 ''<nowiki>foo''</nowiki>''
569 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
571 Italics and bold: 2-quote opening sequence: (2,5)
584 # same html as previous, but wikitext adjusted to match parsoid html2wt
586 Italics and bold: 2-quote opening sequence: (2,5+3) w/ nowiki
588 ''foo'''''<nowiki/>'''
599 ### 3-quote opening sequence tests
603 Italics and bold: 3-quote opening sequence: (3,2)
613 Italics and bold: 3-quote opening sequence: (3,3)
623 Italics and bold: 3-quote opening sequence: (3,4)
634 # same html as previous, but wikitext adjusted to match parsoid html2wt
636 Italics and bold: 3-quote opening sequence: (3,4) w/ nowiki
638 '''<nowiki>foo'</nowiki>'''
645 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
647 Italics and bold: 3-quote opening sequence: (3,5)
660 # same html as previous, but wikitext adjusted to match parsoid html2wt
662 Italics and bold: 3-quote opening sequence: (3,5+2) w/ nowiki
664 '''foo'''''<nowiki/>''
675 ### 4-quote opening sequence tests
679 Italics and bold: 4-quote opening sequence: (4,2)
690 # same html as previous, but wikitext adjusted to match parsoid html2wt
692 Italics and bold: 4-quote opening sequence: (4,2) w/ nowiki
694 <nowiki>''</nowiki>''foo''
702 Italics and bold: 4-quote opening sequence: (4,3)
712 Italics and bold: 4-quote opening sequence: (4,4)
723 # same html as previous, but wikitext adjusted to match parsoid html2wt
725 Italics and bold: 4-quote opening sequence: (4,4) w/ nowiki
727 ''''<nowiki>foo'</nowiki>'''
734 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
736 Italics and bold: 4-quote opening sequence: (4,5)
745 <p>'<b>foo</b><i></i>
749 # same html as previous, but wikitext adjusted to match parsoid html2wt
751 Italics and bold: 4-quote opening sequence: (4,5+2) w/ nowiki
753 ''''foo'''''<nowiki/>''
758 <p>'<b>foo</b><i></i>
764 ### 5-quote opening sequence tests
768 Italics and bold: 5-quote opening sequence: (5,2)
779 # same html as previous, but wikitext adjusted to match parsoid html2wt
780 # skipping wt2html and html2html because it wants to put <i> before <b>
782 Italics and bold: 5-quote opening sequence: (5,2+3)
784 parsoid=wt2wt,html2wt
793 Italics and bold: 5-quote opening sequence: (5,3)
804 # same html as previous, but wikitext adjusted to match parsoid html2wt
806 Italics and bold: 5-quote opening sequence: (5,3+2)
816 Italics and bold: 5-quote opening sequence: (5,4)
822 <p><i><b>foo'</b></i>
827 # same html as previous, but wikitext adjusted to match parsoid html2wt
829 Italics and bold: 5-quote opening sequence: (5,4+2) w/ nowiki
831 '''''<nowiki>foo'</nowiki>'''''
833 <p><i><b>foo'</b></i>
839 Italics and bold: 5-quote opening sequence: (5,5)
848 ### multiple quote sequences in a line
851 Italics and bold: multiple quote sequences: (2,4,2)
857 <p><i>foo'<b>bar</b></i>
862 # same html as previous, but wikitext adjusted to match parsoid html2wt
864 Italics and bold: multiple quote sequences: (2,4,2+3) w/ nowiki
866 ''<nowiki>foo'</nowiki>'''bar'''''
868 <p><i>foo'<b>bar</b></i>
874 Italics and bold: multiple quote sequences: (2,4,3)
880 <p><i>foo'<b>bar</b></i>
885 # same html as previous, but wikitext adjusted to match parsoid html2wt
887 Italics and bold: multiple quote sequences: (2,4,3+2) w/ nowiki
889 ''<nowiki>foo'</nowiki>'''bar'''''
891 <p><i>foo'<b>bar</b></i>
897 Italics and bold: multiple quote sequences: (2,4,4)
903 <p><i>foo'<b>bar'</b></i>
908 # same html as previous, but wikitext adjusted to match parsoid html2wt
910 Italics and bold: multiple quote sequences: (2,4,4+2) w/ nowiki
912 ''<nowiki>foo'</nowiki>'''<nowiki>bar'</nowiki>'''''
914 <p><i>foo'<b>bar'</b></i>
919 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
921 Italics and bold: multiple quote sequences: (3,4,2)
930 <p><b>foo'</b>bar<i></i>
934 # same html as previous, but wikitext adjusted to match parsoid html2wt
936 Italics and bold: multiple quote sequences: (3,4,2+2) w/ nowiki
940 '''<nowiki>foo'</nowiki>'''bar''<nowiki/>''
945 <p><b><span typeof="mw:Nowiki">foo'</span></b>bar<i></i>
950 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
952 Italics and bold: multiple quote sequences: (3,4,3)
961 <p><b>foo'</b>bar<b></b>
965 # same html as previous, but wikitext adjusted to match parsoid html2wt
967 Italics and bold: multiple quote sequences: (3,4,3+3) w/ nowiki
969 '''<nowiki>foo'</nowiki>'''bar'''<nowiki/>'''
974 <p><b><span typeof="mw:Nowiki">foo'</span></b>bar<b></b>
979 ### other quote tests
982 Italics and bold: other quote tests: (2,3,5)
984 ''this is about '''foo's family'''''
986 <p><i>this is about <b>foo's family</b></i>
992 Italics and bold: other quote tests: (2,(3,3),2)
994 ''this is about '''foo's''' family''
996 <p><i>this is about <b>foo's</b> family</i>
1002 Italics and bold: other quote tests: (3,2,3,2)
1006 '''this is about ''foo'''s family''
1008 <p><b>this is about <i>foo</i></b><i>s family</i>
1013 # same html as previous, but wikitext adjusted to match parsoid html2wt
1014 # add 'parsoid' option to use 'parsoid' normalization of the placeholder
1016 Italics and bold: other quote tests: (3,2,3+2+2,2)
1020 '''this is about ''foo'''''<nowiki/>''s family''
1022 <p><b>this is about <i>foo</i></b><i>s family</i>
1028 Italics and bold: other quote tests: (3,2,3,3)
1031 '''this is about ''foo'''s family'''
1033 <p>'<i>this is about </i>foo<b>s family</b>
1039 Italics and bold: other quote tests: (3,(2,2),3)
1041 '''this is about ''foo's'' family'''
1043 <p><b>this is about <i>foo's</i> family</b>
1049 Italicized possessive
1051 The ''[[Main Page]]'''s talk page.
1053 <p>The <i><a href="/wiki/Main_Page" title="Main Page">Main Page</a>'</i>s talk page.
1058 Parsoid only: Quote balancing context should be restricted to td/th cells on the same wikitext line
1059 (Requires tidy for PHP parser output to be fixed up)
1061 parsoid=wt2html,wt2wt
1069 <tbody><tr><th><i>a</i></th><th><i>b</i></th>
1070 <td><i>a</i></td><td><i>b</i></td></tr>
1079 Non-html5 tags should be accepted
1081 <center>''foo''</center>
1083 <font>''foo''</font>
1084 <strike>''foo''</strike>
1087 <center><i>foo</i></center>
1088 <p><big><i>foo</i></big>
1089 <font><i>foo</i></font>
1090 <strike><i>foo</i></strike>
1096 <wbr> is valid wikitext (bug 52468)
1104 # <strike> is HTML4, <s> is HTML4/5.
1106 <s> or <strike> for strikethrough
1108 <strike>strike</strike>
1112 <p><strike>strike</strike>
1118 Non-word characters don't terminate tag names (bug 17663, 40670, 52022)
1120 <b→> doesn't work! </b→>
1122 <bä> doesn't work! </bä>
1124 <boo> works fine </boo>
1126 <s.foo>s.foo</s.foo>
1130 <p><b→> doesn't work! </b→>
1131 </p><p><bä> doesn't work! </bä>
1132 </p><p><boo> works fine </boo>
1133 </p><p><s.foo>s.foo</s.foo>
1134 </p><p><sub-ID#1>
1139 Isolated close tags should be treated as literal text (bug 52760)
1146 </p><p><s.foo>s</s>
1151 ### Special characters
1155 Bare pipe character (bug 52363)
1164 Bare pipe character from a template (bug 52363)
1173 ### <nowiki> test cases
1177 <nowiki> unordered list
1179 <nowiki>* This is not an unordered list item.</nowiki>
1181 <p>* This is not an unordered list item.
1188 <nowiki>Lorem ipsum dolor
1196 <p>Lorem ipsum dolor
1209 :There is not nowiki.
1210 :There is <nowiki>nowiki</nowiki>.
1212 #There is not nowiki.
1213 #There is <nowiki>nowiki</nowiki>.
1215 *There is not nowiki.
1216 *There is <nowiki>nowiki</nowiki>.
1219 <dd>There is not nowiki.
1221 <dd>There is nowiki.
1225 <li>There is not nowiki.
1227 <li>There is nowiki.
1231 <li>There is not nowiki.
1233 <li>There is nowiki.
1240 Entities inside <nowiki>
1242 <nowiki><</nowiki>
1249 Entities inside template parameters
1255 <p><span typeof="mw:Transclusion mw:Entity" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&ndash;"}},"i":0}}]}'>–</span>
1263 Comments and Indent-Pre
1265 <!-- comment 1 --> asdf
1267 <!-- comment 1 --> asdf
1270 <!-- comment 1 --> asdf
1271 <!-- comment 2 -->xyz
1273 <!-- comment 1 --> asdf
1274 <!-- comment 2 --> xyz
1330 asdf<!-- comment 1 -->jkl
1340 <!-- foo --> b <!-- bar -->
1354 <!-- returns a single newline, not nothing, since the newline after > is not stripped -->
1360 Comment semantics and delimiters
1362 <!-- --><!----><!-----><!------>
1368 Comment semantics and delimiters, redux
1370 <!-- In SGML every "foo" here would actually show up in the text -- foo -- bar
1371 -- foo -- funky huh? ... -->
1377 Comment semantics and delimiters: directors cut
1379 <!-- ... However we like to keep things simple and somewhat XML-ish so we eat
1380 everything starting with < followed by !-- until the first -- and > we see,
1381 that wouldn't be valid XML however, since in XML -- has to terminate a comment
1389 Comment semantics: nesting
1391 <!--<!-- no, we're not going to do anything fancy here -->-->
1398 Comment semantics: unclosed comment at end
1400 <!--This comment will run out to the end of the document
1406 Comment in template title
1415 Comment on its own line post-expand
1427 Comment on its own line post-expand with non-significant whitespace
1439 Multiple comments should still parse as SOL-transparent
1441 parsoid=wt2html,wt2wt
1444 <!--c2--><!--c3--><!--c4-->*b
1455 ### paragraph wrapping tests
1470 Block tag on one line (<div>)
1482 Block tag on one line (<blockquote>)
1484 a <blockquote>foo</blockquote>
1488 a <blockquote>foo</blockquote>
1494 Block tag on both lines (<div>)
1506 Block tag on both lines (<blockquote>)
1508 a <blockquote>foo</blockquote>
1510 b <blockquote>foo</blockquote>
1512 a <blockquote>foo</blockquote>
1513 b <blockquote>foo</blockquote>
1518 Multiple lines without block tags
1536 Empty lines between lines with block tags
1565 ## PHP parser emits output which is broken
1567 Unclosed HTML p-tags should be handled properly
1574 <div data-parsoid='{"stx":"html"}'><p data-parsoid='{"stx":"html", "autoInsertedEnd":true}'>foo</p></div>
1580 ### Preformatted text
1589 And a [[Main Page|link]]
1595 And a <a href="/wiki/Main_Page" title="Main Page">link</a>
1600 Tabs don't trigger preformatted text
1604 This is preformatted text.
1610 <pre>This is preformatted text.
1616 Ident preformatting with inline content
1627 <pre> with <nowiki> inside (compatibility with 1.6 and earlier)
1644 Regression with preformatted in <center>
1658 Bug 52763: Preformatted in <blockquote>
1664 indented cell (no pre-wrapping!)
1674 <p> indented cell (no pre-wrapping!)
1682 Bug 51086: Double newlines in blockquotes should be turned into paragraphs
1699 Bug 15491: <ins>/<del> in blockquote
1702 Foo <del>bar</del> <ins>baz</ins> quux
1706 <p>Foo <del>bar</del> <ins>baz</ins> quux
1712 # Note that the p-wrapping is newline sensitive, which could be
1713 # considered a bug: tidy will wrap only the 'Foo' in the example
1714 # below in a <p> tag. (see comment 23-25 of bug #6200)
1716 Bug 15491: <ins>/<del> in blockquote (2)
1718 <blockquote>Foo <del>bar</del> <ins>baz</ins> quux
1721 <blockquote>Foo <del>bar</del> <ins>baz</ins> quux
1727 <pre> with attributes (bug 3202)
1729 <pre style="background: blue; color:white">Bluescreen of WikiDeath</pre>
1731 <pre style="background: blue; color:white">Bluescreen of WikiDeath</pre>
1736 <pre> with width attribute (bug 3202)
1738 <pre width="8">Narrow screen goodies</pre>
1740 <pre width="8">Narrow screen goodies</pre>
1745 <pre> with forbidden attribute (bug 3202)
1747 <pre width="8" onmouseover="alert(document.cookie)">Narrow screen goodies</pre>
1749 <pre width="8">Narrow screen goodies</pre>
1754 Entities inside <pre>
1763 <pre> with forbidden attribute values (bug 3202)
1765 <pre width="8" style="border-width: expression(alert(document.cookie))">Narrow screen goodies</pre>
1767 <pre width="8" style="/* insecure input */">Narrow screen goodies</pre>
1772 <nowiki> inside <pre> (bug 13238)
1780 <pre><nowiki><nowiki></nowiki>Foo<nowiki></nowiki></nowiki></pre>
1788 <pre><nowiki>Foo</nowiki></pre>
1793 <nowiki> and <pre> preference (first one wins)
1824 </pre> inside nowiki
1826 <nowiki></pre></nowiki>
1833 Empty pre; pre inside other HTML tags (bug 54946)
1852 HTML pre followed by indent-pre
1867 <p><pre>foo</pre></p>
1869 <p data-parsoid='{"stx":"html","autoInsertedEnd":true}'></p><pre data-parsoid='{"stx":"html"}'>foo</pre><p data-parsoid='{"autoInsertedStart":true,"stx":"html"}'></p>
1873 Templates: Indent-Pre: 1a. Templates that break a line should suppress <pre>
1881 Templates: Indent-Pre: 1b. Templates that break a line should suppress <pre>
1891 Templates: Indent-Pre: 1c: Wrapping should be based on expanded content
1903 Templates: Indent-Pre: 1d: Wrapping should be based on expanded content
1924 Templates: Indent-Pre: 1e. Wrapping should be based on expanded content
1928 {{echo| foo}}{{echo| bar}}
1933 {{echo|<!--cmt--> foo}}
1935 <!--cmt-->{{echo| foo}}
1937 {{echo|{{echo| }}bar}}
1955 Templates: Indent-Pre: 1f: Wrapping should be based on expanded content
1992 Things that look like <pre> tags aren't treated as such
1994 Barack Obama <President> of the United States
1995 <President></President>
1997 <p>Barack Obama <President> of the United States
1998 <President></President>
2002 ## PHP parser discards the "<pre " string
2004 Handle broken pre-like tags (bug 64025)
2008 {{echo|<pre <pre>x</pre>}}
2010 <table><pre </table>
2013 <table><pre></pre></table>
2016 <span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<pre <pre>x</pre>"}},"i":0}}]}'><pre </span>
2019 <span><pre </span>
2024 Parsoid: handle pre with space after attribute
2028 <pre style="width:50%;" >{{echo|foo}}</pre>
2030 <pre style="width:50%;">{{echo|foo}}</pre>
2033 # TODO / maybe: fix wt2wt for this
2035 Parsoid: Don't paragraph-wrap fosterable content
2061 Parsoid: Don't paragraph-wrap fosterable content even if table syntax is unbalanced
2089 #--------------------------------------------------------------------
2090 # Transclusion parameter whitespace stripping tests
2091 # Behavior is different for positional and named parameters
2092 #--------------------------------------------------------------------
2094 Templates: Strip leading and trailing whitespace from named-param values
2098 {{echo|1= {{echo|b}} }}
2119 Templates: Don't strip whitespace from positional-param values
2123 {{echo|{{echo|b}} }}
2166 Templates: Handle empty comment-and-ws-only lines correctly
2169 <!--should be ignored-->
2170 <!--should be ignored as well-->
2179 Templates: Handle comments in the target
2182 <!-- should be ignored -->
2185 {{echo<!-- should be ignored -->
2188 {{echo<!-- should be ignored -->|foo}}
2190 {{<!-- should be ignored -->echo|foo}}
2192 <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>
2194 <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>
2196 <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>
2198 <p typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}}]}'>foo</p>
2201 #--------------------------------------------------------------------
2202 # Transclusion parameter escaping tests
2203 #--------------------------------------------------------------------
2205 Templates: Parsoid parameter escaping test 1
2209 {{echo|[foo]|{{echo|[bar]}}}}
2211 <p about="#mwt1" typeof="mw:Transclusion"
2212 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[foo]"},"2":{"wt":"{{echo|[bar]}}"}},"i":0}}]}'>[foo]</p>
2216 Parsoid: Pipes in external links in template parameter
2220 {{echo|[{{echo|http://example.com}} link]}}
2222 <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>
2226 Parsoid: pipe in transclusion parameter
2230 {{echo|http://foo.com/a|b}}
2232 <p><a rel="mw:ExtLink" href="http://foo.com/a|b" about="#mwt1"
2233 typeof="mw:Transclusion"
2234 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>
2238 Parsoid: Pipe in external link target and content in template parameter
2240 parsoid=html2wt,wt2wt
2242 {{echo|[http://foo.com/a|b a|b]}}
2244 <p><a rel="mw:ExtLink" href="http://foo.com/a|b" about="#mwt1"
2245 typeof="mw:Transclusion"
2246 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},
2247 "params":{"1":{"wt":"[http://foo.com/a|b a|b]"}},"i":0}}]}'>a|b</a></p>
2251 Templates: Don't escape already nowiki-escaped text in template parameters
2253 parsoid=html2wt,wt2wt
2255 {{echo|foo<nowiki>|</nowiki>bar}}
2256 {{echo|<nowiki><div></nowiki>}}
2257 {{echo|<nowiki></nowiki>}}
2259 <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>
2260 <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>
2261 <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>
2267 Templates: '=' char in nested transclusions should not trigger nowiki escapes or conversion to named param
2269 parsoid=html2wt,wt2wt
2271 {{echo|{{echo|1=bar}}}}
2273 <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>
2278 Templates parameters with special tokenizing behavior dont get modified because of arg escaping
2284 <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>
2288 ### Parsoid-centric tests for testing RT edge cases for pre
2292 1a. Indent-Pre and Comments
2305 1b. Indent-Pre and Comments
2318 1c. Indent-Pre and Comments
2331 1d. Indent-Pre and Comments
2332 (Pre-handler currently cannot distinguish between comment/ws order and normalizes them to [comment,ws] order)
2345 2a. Indent-Pre and tables
2366 2b. Indent-Pre and tables
2382 2c. Indent-Pre and tables (bug 42252)
2399 3a. Indent-Pre and block tags (single-line html)
2403 c <blockquote> foo </blockquote>
2408 c <blockquote> foo </blockquote>
2409 <pre><span> foo </span>
2414 3b. Indent-Pre and block tags (multi-line html)
2419 <pre>a <span>foo</span>
2426 3c. Indent-Pre and block tags (pre-content on separate line)
2490 4. Indent-Pre and extension tags
2496 a <ul class="gallery mw-gallery-traditional">
2497 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
2498 <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" /></a></div></div>
2499 <div class="gallerytext">
2507 Leading pipes outside of tables
2517 Leading pipes outside of tables 2
2531 Leading pipes outside of tables 3
2536 | class="foo bar" | baz
2540 | class="foo bar" | baz
2545 Render paragraphs when indent-pre is suppressed in blocklevels
2562 4. Multiple spaces at start-of-line
2580 ## NOTE: the leading white-space chars on empty line are significant
2582 5a. White-space in indent-pre
2594 ## NOTE: the leading white-space chars on empty line are significant
2596 5b. White-space in indent-pre
2615 5c. White-space in indent-pre
2628 6. Pre-blocks should extend across lines with leading WS even when there is no wrappable content
2651 7a. Indent-pre and category links
2653 parsoid=wt2html,wt2wt
2655 [[Category:foo]] <!-- No pre-wrapping -->
2656 {{echo| [[Category:foo]]}} <!-- No pre-wrapping -->
2658 <link rel="mw:PageProp/Category" href="./Category:Foo"> <!-- No pre-wrapping -->
2659 <span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":" [[Category:foo]]"}},"i":0}}]}'> </span>
2660 <link rel="mw:PageProp/Category" href="./Category:Foo" about="#mwt1"> <!-- No pre-wrapping -->
2664 7b. Indent-pre and category links
2666 parsoid=wt2html,wt2wt
2669 [[Category:foo]] {{echo|b}}
2672 <link rel="mw:PageProp/Category" href="./Category:Foo"> a
2674 <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>
2678 ### HTML-pre (some to spec PHP parser behavior and some Parsoid-RT-centric)
2682 HTML-pre: 1. embedded newlines
2716 <pre data-parsoid='{"stx":"html"}'>foo</pre>
2718 <pre data-parsoid='{"stx":"html","strippedNL":"\n"}'>
2722 <pre data-parsoid='{"stx":"html"}'>
2727 <pre data-parsoid='{"stx":"html"}'>
2735 HTML-pre: big spaces
2772 <pre data-parsoid='{"stx":"html"}'>
2791 HTML-pre: 2: indented text
2804 HTML-pre: 3: other wikitext
2825 ### Definition lists
2833 <dt> name </dt>
2841 Definition list for indentation only
2853 Definition list with no space
2866 Definition list with URL link
2868 ; http://example.com/ : definition
2871 <dt> <a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a> </dt>
2879 Definition list with bracketed URL link
2881 ;[http://www.example.com/ Example]:Something about it
2884 <dt><a rel="nofollow" class="external text" href="http://www.example.com/">Example</a></dt>
2885 <dd>Something about it
2892 Definition list with wikilink containing colon
2894 ; [[Help:FAQ]]: The least-read page on Wikipedia
2897 <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>
2898 <dd> The least-read page on Wikipedia
2904 # At Brion's and JeLuF's insistence... :)
2906 Definition list with news link containing colon
2908 ; news:alt.wikipedia.rox: This isn't even a real newsgroup!
2911 <dt> <a rel="nofollow" class="external free" href="news:alt.wikipedia.rox">news:alt.wikipedia.rox</a></dt>
2912 <dd> This isn't even a real newsgroup!
2919 Malformed definition list with colon
2921 ; news:alt.wikipedia.rox -- don't crash or enter an infinite loop
2924 <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
2931 Definition lists: colon in external link text
2933 ; [http://www.wikipedia2.org/ Wikipedia : The Next Generation]: OK, I made that up
2936 <dt> <a rel="nofollow" class="external text" href="http://www.wikipedia2.org/">Wikipedia : The Next Generation</a></dt>
2937 <dd> OK, I made that up
2944 Definition lists: colon in HTML attribute
2946 ;<b style="display: inline">bold</b>
2949 <dt><b style="display: inline">bold</b>
2956 Definition lists: self-closed tag
2958 ;one<br/>two : two-line fun
2961 <dt>one<br />two </dt>
2969 Bug 11748: Literal closing tags
2973 <dd>test test test test test</dd>
2975 <dd>test test test test test</dd>
2980 <dd>test test test test test</dd>
2982 <dd>test test test test test</dd>
2988 Definition and unordered list using wiki syntax nested in unordered list using html tags.
2991 ; term : description
2997 <dt> term </dt>
3011 Definition list with empty definition and following paragraph
3026 Nested definition lists using html syntax
3043 Definition Lists: No nesting: Multiple dd's
3061 Definition Lists: Indentation: Regular
3083 Definition Lists: Indentation: Missing 1st level
3103 Definition Lists: Indentation: Multi-level indent
3121 Definition Lists: Hacky use to indent tables
3128 should be left alone
3130 <dl><dd><dl><dd><table>
3135 </td></tr></table></dd></dl></dd></dl>
3137 should be left alone
3142 Definition Lists: Hacky use to indent tables, with comments (bug 63979)
3150 should be left alone
3153 <dl><dd><dl><dd><table><tr>
3156 </tr></table><!-- bar --></dd></dl></dd></dl>
3158 should be left alone</p>
3162 Definition Lists: Hacky use to indent tables, with comment before table
3168 <dl><dd><dl><dd><!-- foo --><table><tr>
3170 </tr></table></dd></dl></dd></dl>
3175 Definition Lists: Hacky use to indent tables (WS-insensitive)
3184 <dd> <table><tr><td>a</td></tr></table> </dd>
3187 ## The PHP parser treats : items (dd) without a corresponding ; item (dt)
3188 ## as an empty dt item. It also ignores all but the last ";" when followed
3189 ## by ":" later on. So, ";" are not ignored in ";;;t3" but are ignored in
3190 ## ";;;t3 :d1". So, PHP parser behavior is a little inconsistent wrt multiple
3193 ## Ex: ";;t2 ::d2" is transformed into:
3205 ## But, Parsoid treats "; :" as a tight atomic unit and excess ":" as plain text
3206 ## So, the same wikitext above (;;t2 ::d2) is transformed into:
3217 ## All Parsoid only definition list tests have this difference.
3219 ## See also: https://bugzilla.wikimedia.org/show_bug.cgi?id=6569
3220 ## and http://lists.wikimedia.org/pipermail/wikitext-l/2011-November/000483.html
3223 Table / list interaction: indented table with lists in table contents
3249 </td></tr></table></dd></dl>
3254 Table / list interaction: lists nested in tables nested in indented lists
3285 </td></tr></table></dd></dl>
3296 Definition Lists: Nesting: Multi-level (Parsoid only)
3326 Definition Lists: Nesting: Test 2 (Parsoid only)
3346 Definition Lists: Nesting: Test 3 (Parsoid only)
3374 Definition Lists: Nesting: Test 4
3395 ## The Parsoid team believes the following three test exposes a
3396 ## bug in the PHP parser. (Parsoid team thinks the PHP parser is
3397 ## wrong to close the <dl> after the <dt> containing the <ul>.)
3399 Definition Lists: Mixed Lists: Test 1
3439 Definition Lists: Mixed Lists: Test 2
3458 Definition Lists: Mixed Lists: Test 3
3483 Definition Lists: Mixed Lists: Test 4
3504 Definition Lists: Mixed Lists: Test 5
3525 Definition Lists: Mixed Lists: Test 6
3552 Definition Lists: Mixed Lists: Test 7
3571 Definition Lists: Mixed Lists: Test 8
3595 Definition Lists: Mixed Lists: Test 9
3612 Definition Lists: Mixed Lists: Test 10
3630 # The Parsoid team disagrees with the PHP parser's seemingly-random
3631 # rules regarding dd/dt on the next two tests. Parsoid is more
3632 # consistent, and recognizes the shared nesting and keeps the
3633 # still-open tags around until the nesting is complete.
3636 Definition Lists: Mixed Lists: Test 11
3689 <dt>foo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'> </span></dt>
3690 <dd data-parsoid='{"stx":"row"}'>bar</dd>
3694 <dt>boo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'> </span></dt>
3695 <dd data-parsoid='{"stx":"row"}'>baz</dd>
3705 Definition Lists: Weird Ones: Test 1
3707 *#;*::;; foo : bar (who uses this?)
3718 <dt> bar (who uses this?)
3752 <dt> foo<span typeof="mw:Placeholder" data-parsoid='{"src":" "}'> </span></dt>
3753 <dd data-parsoid='{"stx":"row"}'> bar (who uses this?)</dd>
3768 External links: non-bracketed
3770 Non-bracketed: http://example.com
3772 <p>Non-bracketed: <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
3776 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
3778 External links: numbered
3780 Numbered: [http://example.com]
3781 Numbered: [http://example.net]
3782 Numbered: [http://example.com]
3784 <p>Numbered: <a rel="nofollow" class="external autonumber" href="http://example.com">[1]</a>
3785 Numbered: <a rel="nofollow" class="external autonumber" href="http://example.net">[2]</a>
3786 Numbered: <a rel="nofollow" class="external autonumber" href="http://example.com">[3]</a>
3789 <p>Numbered: <a rel="mw:ExtLink" href="http://example.com"></a>
3790 Numbered: <a rel="mw:ExtLink" href="http://example.net"></a>
3791 Numbered: <a rel="mw:ExtLink" href="http://example.com"></a></p>
3795 External links: specified text
3797 Specified text: [http://example.com link]
3799 <p>Specified text: <a rel="nofollow" class="external text" href="http://example.com">link</a>
3804 External links: trail
3806 Linktrails should not work for external links: [http://example.com link]s
3808 <p>Linktrails should not work for external links: <a rel="nofollow" class="external text" href="http://example.com">link</a>s
3813 External links: dollar sign in URL
3815 http://example.com/1$2345
3817 <p><a rel="nofollow" class="external free" href="http://example.com/1$2345">http://example.com/1$2345</a>
3821 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
3823 External links: dollar sign in URL (autonumber)
3825 [http://example.com/1$2345]
3827 <p><a rel="nofollow" class="external autonumber" href="http://example.com/1$2345">[1]</a>
3830 <p><a rel="mw:ExtLink" href="http://example.com/1$2345"></a></p>
3834 External links: open square bracket forbidden in URL (bug 4377)
3836 parsoid=wt2html,wt2wt,html2html
3838 http://example.com/1[2345
3840 <p><a rel="nofollow" class="external free" href="http://example.com/1">http://example.com/1</a>[2345
3843 <p><a rel="mw:ExtLink" href="http://example.com/1">http://example.com/1</a>[2345</p>
3847 External links: open square bracket forbidden in URL (named) (bug 4377)
3849 parsoid=wt2html,html2html
3851 [http://example.com/1[2345]
3853 <p><a rel="nofollow" class="external text" href="http://example.com/1">[2345</a>
3856 <p><a rel="mw:ExtLink" href="http://example.com/1">[2345</a></p>
3859 # parsoid adds a space before the link name
3861 External links: open square bracket forbidden in URL (named) (bug 4377)
3864 [http://example.com/1 [2345]
3866 <p><a rel="nofollow" class="external text" href="http://example.com/1">[2345</a>
3871 External links: nowiki in URL link text (bug 6230)
3873 [http://example.com/ <nowiki>''example site''</nowiki>]
3875 <p><a rel="nofollow" class="external text" href="http://example.com/">''example site''</a>
3880 External links: newline forbidden in text (bug 6230 regression check)
3882 [http://example.com/ first
3885 <p>[<a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a> first
3891 External links: Pipe char between url and text
3893 [http://example.com | link]
3895 <p><a rel="nofollow" class="external text" href="http://example.com">| link</a>
3900 External links: protocol-relative URL in brackets
3902 [//example.com/ Test]
3904 <p><a rel="nofollow" class="external text" href="//example.com/">Test</a>
3908 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
3910 External links: protocol-relative URL in brackets without text
3914 <p><a rel="nofollow" class="external autonumber" href="//example.com">[1]</a>
3917 <p><a rel="mw:ExtLink" href="//example.com"></a></p>
3921 External links: protocol-relative URL in free text is left alone
3925 <p>//example.com/Foo
3930 External links: protocol-relative URL in the middle of a word is left alone (bug 30269)
3932 foo//example.com/Foo
3934 <p>foo//example.com/Foo
3939 External links: with no contents
3941 [http://en.wikipedia.org/wiki/Foo]
3943 [[wikipedia:Foo|Bar]]
3945 [[wikipedia:Foo|<span>Bar</span>]]
3947 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"></a></p>
3948 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo">Bar</a></p>
3949 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"><span>Bar</span></a></p>
3955 External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
3957 <p>External image: <img src="http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
3962 External image from https
3964 External image from https: https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
3966 <p>External image from https: <img src="https://meta.wikimedia.org/upload/f/f1/Ncwikicol.png" alt="Ncwikicol.png" />
3971 External image (when not allowed)
3973 wgAllowExternalImages=0
3975 External image: http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png
3977 <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>
3982 Link to non-http image, no img tag
3984 Link to non-http image, no img tag: ftp://example.com/test.jpg
3986 <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>
3991 External links: terminating separator
3993 Terminating separator: http://example.com/thing,
3995 <p>Terminating separator: <a rel="nofollow" class="external free" href="http://example.com/thing">http://example.com/thing</a>,
4000 External links: intervening separator
4002 Intervening separator: http://example.com/1,2,3
4004 <p>Intervening separator: <a rel="nofollow" class="external free" href="http://example.com/1,2,3">http://example.com/1,2,3</a>
4009 External links: old bug with URL in query
4011 Old bug with URL in query: [http://example.com/thing?url=http://example.com link]
4013 <p>Old bug with URL in query: <a rel="nofollow" class="external text" href="http://example.com/thing?url=http://example.com">link</a>
4018 External links: old URL-in-URL bug, mixed protocols
4020 And again with mixed protocols: [ftp://example.com?url=http://example.com link]
4022 <p>And again with mixed protocols: <a rel="nofollow" class="external text" href="ftp://example.com?url=http://example.com">link</a>
4027 External links: URL in text
4029 URL in text: [http://example.com http://example.com]
4031 <p>URL in text: <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4036 External links: Clickable images
4038 ja-style clickable images: [http://example.com http://meta.wikimedia.org/upload/f/f1/Ncwikicol.png]
4040 <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>
4045 External links: raw ampersand
4047 Old & use: http://x&y
4049 <p>Old & use: <a rel="nofollow" class="external free" href="http://x&y">http://x&y</a>
4054 External links: encoded ampersand
4056 Old & use: http://x&y
4058 <p>Old & use: <a rel="nofollow" class="external free" href="http://x&y">http://x&y</a>
4061 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y">http://x&y</a></p>
4065 External links: encoded equals (bug 6102)
4067 http://example.com/?foo=bar
4069 <p><a rel="nofollow" class="external free" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a>
4072 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar">http://example.com/?foo=bar</a></p>
4076 ## Note that parsoid doesn't explicit mark autonumbered links, nor
4077 ## does it number them. As discussed in bug 53505, we can identify
4078 ## autonumbered links via CSS.
4082 External links: [raw ampersand]
4084 Old & use: [http://x&y]
4086 <p>Old & use: <a rel="nofollow" class="external autonumber" href="http://x&y">[1]</a>
4089 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y"></a></p>
4092 # note that parsoid html is identical to [raw ampersand] case; so html2wt
4093 # mode will return the [raw ampersand] wikitext
4095 External links: [encoded ampersand]
4097 parsoid=wt2html,wt2wt,html2html
4099 Old & use: [http://x&y]
4101 <p>Old & use: <a rel="nofollow" class="external autonumber" href="http://x&y">[1]</a>
4104 <p>Old <span typeof="mw:Entity">&</span> use: <a rel="mw:ExtLink" href="http://x&y"></a></p>
4108 External links: [raw equals]
4110 [http://example.com/?foo=bar]
4112 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
4115 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
4118 # note that parsoid html is identical to [raw equals] case; so html2wt
4119 # mode will return the [raw equals] wikitext
4121 External links: [encoded equals] (bug 6102)
4123 parsoid=wt2html,wt2wt,html2html
4125 [http://example.com/?foo=bar]
4127 <p><a rel="nofollow" class="external autonumber" href="http://example.com/?foo=bar">[1]</a>
4130 <p><a rel="mw:ExtLink" href="http://example.com/?foo=bar"></a></p>
4133 # xxx parsoid strips the IDN character, so the round-trip tests will
4134 # obviously fail and are disabled. --cscott
4136 External links: [IDN ignored character reference in hostname; strip it right off]
4138 parsoid=wt2html,wt2wt,html2html
4140 [http://e‌xample.com/]
4142 <p><a rel="nofollow" class="external autonumber" href="http://example.com/">[1]</a>
4145 <p><a rel="mw:ExtLink" href="http://example.com/"></a></p>
4148 # FIXME: This test (the IDN characters in the text of a link) is an inconsistency.
4149 # Where an external link could easily circumvent the sanitization of the text of
4150 # a link like this (where an IDN-ignore character is in the URL somewhere), this
4151 # test demands a higher standard. That's a bit strange.
4155 # http://example.com -> [http://example.com|http://example.com]
4156 # [http://example.com|http://example.com] -> [http://example.com|http://example.com]
4158 # The first example is sanitized, but the second is not. Any security benefits
4159 # from this production are trivial to circumvent. Either remove this test and
4160 # let the parser(s) do their thing unaccosted, or fix the inconsistency and change
4161 # the test accordingly.
4165 # xxx parsoid strips the IDN character, so the round-trip tests will
4166 # obviously fail and are disabled. --cscott
4168 External links: IDN ignored character reference in hostname; strip it right off
4170 parsoid=wt2html,html2html
4172 http://e‌xample.com/
4174 <p><a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a>
4177 <p><a rel="mw:ExtLink" href="http://example.com/">http://example.com/</a></p>
4181 External links: www.jpeg.org (bug 554)
4185 <p><a rel="nofollow" class="external free" href="http://www.jpeg.org">http://www.jpeg.org</a>
4189 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
4191 External links: URL within URL (original bug 2)
4193 [http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp]
4195 <p><a rel="nofollow" class="external autonumber" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp">[1]</a>
4198 <p><a rel="mw:ExtLink" href="http://www.unausa.org/newindex.asp?place=http://www.unausa.org/programs/mun.asp"></a></p>
4202 BUG 361: URL inside bracketed URL
4204 [http://www.example.com/foo http://www.example.com/bar]
4206 <p><a rel="nofollow" class="external text" href="http://www.example.com/foo">http://www.example.com/bar</a>
4211 BUG 361: URL within URL, not bracketed
4213 http://www.example.com/foo?=http://www.example.com/bar
4215 <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>
4220 BUG 289: ">"-token in URL-tail
4222 http://www.example.com/<hello>
4224 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a><hello>
4229 BUG 289: literal ">"-token in URL-tail
4231 http://www.example.com/<b>html</b>
4233 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a><b>html</b>
4238 BUG 289: ">"-token in bracketed URL
4240 [http://www.example.com/<hello> stuff]
4242 <p><a rel="nofollow" class="external text" href="http://www.example.com/"><hello> stuff</a>
4247 BUG 289: literal ">"-token in bracketed URL
4249 [http://www.example.com/<b>html</b> stuff]
4251 <p><a rel="nofollow" class="external text" href="http://www.example.com/"><b>html</b> stuff</a>
4256 BUG 289: literal double quote at end of URL
4258 http://www.example.com/"hello"
4260 <p><a rel="nofollow" class="external free" href="http://www.example.com/">http://www.example.com/</a>"hello"
4265 BUG 289: literal double quote in bracketed URL
4267 [http://www.example.com/"hello" stuff]
4269 <p><a rel="nofollow" class="external text" href="http://www.example.com/">"hello" stuff</a>
4274 External links: multiple legal whitespace is fine, Magnus. Don't break it please. (bug 5081)
4276 [http://www.example.com test]
4278 <p><a rel="nofollow" class="external text" href="http://www.example.com">test</a>
4283 External links: link text with spaces
4285 [http://www.example.com a b c]
4286 [http://www.example.com ''a'' ''b'']
4288 <p><a rel="nofollow" class="external text" href="http://www.example.com">a b c</a>
4289 <a rel="nofollow" class="external text" href="http://www.example.com"><i>a</i> <i>b</i></a>
4294 External links: wiki links within external link (Bug 3695)
4296 [http://example.com [[wikilink]] embedded in ext link]
4298 <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>
4301 <p><a rel="mw:ExtLink" href="http://example.com"></a><a rel="mw:WikiLink" href="./Wikilink">wikilink</a><span> embedded in ext link</span></p>
4305 BUG 787: Links with one slash after the url protocol are invalid
4309 [http:/example.com title]
4311 <p>http:/example.com
4312 </p><p>[http:/example.com title]
4317 Bracketed external links with template-generated invalid target
4319 [{{echo|http:/example.com}} title]
4321 <p>[http:/example.com title]
4326 Bug 2702: Mismatched <i>, <b> and <a> tags are invalid
4328 ''[http://example.com text'']
4329 [http://example.com '''text]'''
4330 ''Something [http://example.com in italic'']
4331 ''Something [http://example.com mixed''''', even bold]'''
4332 '''''Now [http://example.com both''''']
4334 <p><a rel="nofollow" class="external text" href="http://example.com"><i>text</i></a>
4335 <a rel="nofollow" class="external text" href="http://example.com"><b>text</b></a>
4336 <i>Something </i><a rel="nofollow" class="external text" href="http://example.com"><i>in italic</i></a>
4337 <i>Something </i><a rel="nofollow" class="external text" href="http://example.com"><i>mixed</i><b>, even bold</b></a>
4338 <i><b>Now </b></i><a rel="nofollow" class="external text" href="http://example.com"><i><b>both</b></i></a>
4344 Bug 4781: %26 in URL
4346 http://www.example.com/?title=AT%26T
4348 <p><a rel="nofollow" class="external free" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a>
4351 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">http://www.example.com/?title=AT%26T</a></p>
4354 # According to http://dev.w3.org/html5/spec/Overview.html#parsing-urls a plain
4355 # % is actually legal in HTML5. Any change in output would need testing though.
4357 Bug 4781, 5267: %25 in URL
4359 http://www.example.com/?title=100%25_Bran
4361 <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>
4364 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran">http://www.example.com/?title=100%25_Bran</a></p>
4368 Bug 4781, 5267: %28, %29 in URL
4370 http://www.example.com/?title=Ben-Hur_%281959_film%29
4372 <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>
4375 <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>
4380 Bug 4781: %26 in autonumber URL
4382 [http://www.example.com/?title=AT%26T]
4384 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=AT%26T">[1]</a>
4387 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T"></a></p>
4391 Bug 4781, 5267: %26 in autonumber URL
4393 [http://www.example.com/?title=100%25_Bran]
4395 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=100%25_Bran">[1]</a>
4398 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=100%25_Bran"></a></p>
4402 Bug 4781, 5267: %28, %29 in autonumber URL
4404 [http://www.example.com/?title=Ben-Hur_%281959_film%29]
4406 <p><a rel="nofollow" class="external autonumber" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">[1]</a>
4409 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29"></a></p>
4414 Bug 4781: %26 in bracketed URL
4416 [http://www.example.com/?title=AT%26T link]
4418 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=AT%26T">link</a>
4421 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=AT%26T">link</a></p>
4425 Bug 4781, 5267: %25 in bracketed URL
4427 [http://www.example.com/?title=100%25_Bran link]
4429 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=100%25_Bran">link</a>
4434 Bug 4781, 5267: %28, %29 in bracketed URL
4436 [http://www.example.com/?title=Ben-Hur_%281959_film%29 link]
4438 <p><a rel="nofollow" class="external text" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a>
4441 <p><a rel="mw:ExtLink" href="http://www.example.com/?title=Ben-Hur_%281959_film%29">link</a></p>
4444 # Note that parsoid does not munge anchor text; all non-space
4445 # characters are valid in HTML5 ids.
4447 Anchor containing a #. (bug 63430)
4449 [[Main Page#And#Link]]
4451 <p><a href="/wiki/Main_Page#And.23Link" title="Main Page">Main Page#And#Link</a>
4454 <p><a rel="mw:WikiLink" href="./Main_Page#And%23Link">Main Page#And#Link</a></p>
4457 # Note that parsoid does not munge anchor text; all non-space
4458 # characters are valid in HTML5 ids.
4460 Anchor containing a #. (bug 63430)
4462 [[Main Page#And#Link]]
4464 <p><a href="/wiki/Main_Page#And.23Link" title="Main Page">Main Page#And#Link</a>
4467 <p><a rel="mw:WikiLink" href="./Main_Page#And%23Link">Main Page#And#Link</a></p>
4471 External link containing a period in the anchor. (bug 63947)
4473 [//foo.org/bar#baz. bang]
4475 [//foo.org/bar. bang]
4477 <p><a rel="nofollow" class="external text" href="//foo.org/bar#baz.">bang</a>
4478 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
4481 <p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
4482 <p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
4486 External link containing a single quote. (bug 63947)
4490 [//foo.org/bar'baz bang]
4492 <p><a rel="nofollow" class="external autonumber" href="//foo.org/bar'baz">[1]</a>
4493 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar'baz">bang</a>
4496 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
4497 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
4502 External link containing a period in the anchor. (bug 63947)
4504 [//foo.org/bar#baz. bang]
4506 [//foo.org/bar. bang]
4508 <p><a rel="nofollow" class="external text" href="//foo.org/bar#baz.">bang</a>
4509 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar.">bang</a>
4512 <p><a rel="mw:ExtLink" href="//foo.org/bar#baz.">bang</a></p>
4513 <p><a rel="mw:ExtLink" href="//foo.org/bar.">bang</a></p>
4517 External link containing a single quote. (bug 63947)
4521 [//foo.org/bar'baz bang]
4523 <p><a rel="nofollow" class="external autonumber" href="//foo.org/bar'baz">[1]</a>
4524 </p><p><a rel="nofollow" class="external text" href="//foo.org/bar'baz">bang</a>
4527 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz"></a></p>
4528 <p><a rel="mw:ExtLink" href="//foo.org/bar'baz">bang</a></p>
4533 External link containing double-single-quotes in text '' (bug 4598 sanity check)
4535 Some [http://example.com/ pretty ''italics'' and stuff]!
4537 <p>Some <a rel="nofollow" class="external text" href="http://example.com/">pretty <i>italics</i> and stuff</a>!
4542 External link containing double-single-quotes in text embedded in italics (bug 4598 sanity check)
4544 ''Some [http://example.com/ pretty ''italics'' and stuff]!''
4546 <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>
4551 External link containing double-single-quotes with no space separating the url from text in italics
4553 [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]].]
4555 <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>
4558 <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)">Museo Picasso</a><span>.</span></p>
4562 External link with comments in link text
4564 [http://www.google.com Google <!-- comment -->]
4566 <p><a rel="nofollow" class="external text" href="http://www.google.com">Google </a>
4571 URL-encoding in URL functions (single parameter)
4573 {{localurl:Some page|amp=&}}
4575 <p>/index.php?title=Some_page&amp=&
4580 URL-encoding in URL functions (multiple parameters)
4582 {{localurl:Some page|q=?&=&}}
4584 <p>/index.php?title=Some_page&q=?&amp=&
4591 http://example.com/index.php?foozoid%5B%5D=bar
4593 http://example.com/index.php?foozoid[]=bar
4595 <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>
4596 </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>
4599 <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>
4601 <p><a rel="mw:ExtLink" href="http://example.com/index.php?foozoid[]=bar">http://example.com/index.php?foozoid[]=bar</a></p>
4605 IPv6 urls (bug 21261)
4609 http://[2404:130:0:1000::187:2]/index.php
4611 <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>
4616 Non-extlinks in brackets
4625 [{{echo|foo}} ''bar'']
4626 [{{echo|foo}}l's] errand
4627 [{{echo|foo}}l's errand]
4629 [url=http://example.com]
4642 [url=<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>]
4647 Percent encoding in external links
4649 [https://github.com/search?l=&q=ResourceLoader+%40wikimedia Search]
4651 <p><a rel="nofollow" class="external text" href="https://github.com/search?l=&q=ResourceLoader+%40wikimedia">Search</a>
4654 <p><a rel="mw:ExtLink"
4655 href="https://github.com/search?l=&q=ResourceLoader+%40wikimedia">Search</a></p>
4659 Use url link syntax for links where the content is equal the link target
4663 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>
4666 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a></p>
4670 Parenthesis in external links, especially URL links
4674 http://example.com/test)
4676 http://example.com/(test)
4678 http://example.com/((test)
4680 (http://example.com/(test))
4682 (http://example.com/(test)))))
4684 http://example.com/a)b
4686 [http://example.com) foo]
4688 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
4689 </p><p><a rel="nofollow" class="external free" href="http://example.com/test">http://example.com/test</a>)
4690 </p><p><a rel="nofollow" class="external free" href="http://example.com/(test)">http://example.com/(test)</a>
4691 </p><p><a rel="nofollow" class="external free" href="http://example.com/((test)">http://example.com/((test)</a>
4692 </p><p>(<a rel="nofollow" class="external free" href="http://example.com/(test))">http://example.com/(test))</a>
4693 </p><p>(<a rel="nofollow" class="external free" href="http://example.com/(test)))))">http://example.com/(test)))))</a>
4694 </p><p><a rel="nofollow" class="external free" href="http://example.com/a)b">http://example.com/a)b</a>
4695 </p><p><a rel="nofollow" class="external text" href="http://example.com)">foo</a>
4698 <p><a rel="mw:ExtLink" href="http://example.com">http://example.com</a>)</p>
4699 <p><a rel="mw:ExtLink" href="http://example.com/test">http://example.com/test</a>)</p>
4700 <p><a rel="mw:ExtLink" href="http://example.com/(test)">http://example.com/(test)</a></p>
4701 <p><a rel="mw:ExtLink" href="http://example.com/((test)">http://example.com/((test)</a></p>
4702 <p>(<a rel="mw:ExtLink" href="http://example.com/(test))">http://example.com/(test))</a></p>
4703 <p>(<a rel="mw:ExtLink" href="http://example.com/(test)))))">http://example.com/(test)))))</a></p>
4704 <p><a rel="mw:ExtLink" href="http://example.com/a)b">http://example.com/a)b</a></p>
4705 <p><a rel="mw:ExtLink" href="http://example.com)">foo</a></p>
4709 Parenthesis in external links, w/ transclusion or comment
4711 (http://example.com/{{echo|hi}})
4713 (http://example.com<!-- hi -->)
4715 <p>(<a rel="nofollow" class="external free" href="http://example.com/hi">http://example.com/hi</a>)
4716 </p><p>(<a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>)
4719 <p>(<a data-mw='{"attribs":[[{"txt":"href"},{"html":"http://example.com/<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 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}}]}\" 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]}\">hi</span>"}]]}' 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}}"}}'>http://example.com/hi</a>)</p>
4721 <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>
4731 Normal text. '''Bold text.''' Normal text. ''Italic text.''
4733 Normal text. '''''Bold italic text.''''' Normal text.
4735 <p>Normal text. <b>Bold text.</b> Normal text. <i>Italic text.</i>
4736 </p><p>Normal text. <i><b>Bold italic text.</b></i> Normal text.
4741 # Parsoid inserts an empty bold tag pair at the end of the line, that the PHP
4742 # parser strips. The wikitext contains just the first half of the bold
4745 Unclosed and unmatched quotes
4747 '''''Bold italic text '''with bold deactivated''' in between.'''''
4749 '''''Bold italic text ''with italic deactivated'' in between.'''''
4753 ..spanning two paragraphs (should not work).'''
4755 '''Bold tag left open
4757 ''Italic tag left open
4761 <!-- Unmatching number of opening, closing tags: -->
4762 '''This year''''s election ''should'' beat '''last year''''s.
4764 ''Tom'''s car is bigger than ''Susan'''s.
4766 Plain ''italic'''s plain
4768 <p><i><b>Bold italic text </b>with bold deactivated<b> in between.</b></i>
4769 </p><p><b><i>Bold italic text </i>with italic deactivated<i> in between.</i></b>
4770 </p><p><b>Bold text..</b>
4771 </p><p>..spanning two paragraphs (should not work).
4772 </p><p><b>Bold tag left open</b>
4773 </p><p><i>Italic tag left open</i>
4775 </p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
4776 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
4777 </p><p>Plain <i>italic'</i>s plain
4780 <p><i><b>Bold italic text </b>with bold deactivated<b> in between.</b></i>
4781 </p><p><b><i>Bold italic text </i>with italic deactivated<i> in between.</i></b>
4782 </p><p><b>Bold text..</b>
4783 </p><p>..spanning two paragraphs (should not work).<b></b>
4784 </p><p><b>Bold tag left open</b>
4785 </p><p><i>Italic tag left open</i>
4787 </p><p><b>This year'</b>s election <i>should</i> beat <b>last year'</b>s.
4788 </p><p><i>Tom<b>s car is bigger than </b></i><b>Susan</b>s.
4789 </p><p>Plain <i>italic'</i>s plain
4796 ### some content taken from http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide:_Using_tables
4799 # This should not produce <table></table> as <table><tr><td></td></tr></table>
4800 # is the bare minimum required by the spec, see:
4801 # http://www.w3.org/TR/xhtml-modularization/dtd_module_defs.html#a_module_Basic_Tables
4802 # Parsoid team replies: empty table tags are legal in HTML5
4804 A table with no data.
4817 A table with stray table end tags on start tag line (wt2html)
4821 {|style="color: red;"|}
4823 {|style="color: red;" |}
4827 {|style="color: red;"|} id="foo"
4831 {|style="color: red;" |} id="foo"
4835 <table style="color: red;"></table>
4837 <table style="color: red;">
4843 <table style="color: red;" id="foo">
4849 <table style="color: red;" id="foo">
4858 A table with no data (take 2)
4866 # A table with nothing but a caption is invalid XHTML, we might want to render
4867 # this as <p>caption</p>
4868 # Parsoid team replies: table with only a caption is legal in HTML5
4870 A table with nothing but a caption
4878 </caption><tr><td></td></tr></table>
4881 <table><caption> caption</caption></table>
4885 A table with caption with default-spaced attributes and a table row
4888 |+ style="color: red;" | caption1
4894 <caption style="color: red;"> caption1
4903 A table with captions with non-default spaced attributes and a table row
4906 |+style="color: red;"|caption2
4907 |+ style="color: red;"| caption3
4913 <caption style="color: red;">caption2
4915 <caption style="color: red;"> caption3
4924 Table td-cell syntax variations
4928 | foo bar foo || baz
4929 | style='color:red;' | baz
4930 | style='color:red;' || baz
4937 <td> foo bar foo </td>
4940 <td style="color:red;"> baz
4942 <td> style='color:red;' </td>
4970 Simple table but with multiple dashes for row wikitext
4988 Multiplication table
4990 {| border="1" cellpadding="2"
4991 |+Multiplication table
4993 ! × !! 1 !! 2 !! 3
5011 <table border="1" cellpadding="2">
5012 <caption>Multiplication table
5059 Accept "||" in table headings
5074 Accept "||" in indented table headings
5084 </th></tr></table></dd></dl>
5089 Accept empty attributes in td/th cells (td/th cells starting with leading ||)
5106 Accept "| !" at start of line in tables (ignore !-attribute)
5110 | !style="color:red" | bar
5122 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 +/-
5126 |style='color:red;'|+1
5127 |style='color:blue;'|-1
5139 <td style="color:red;">+1
5141 <td style="color:blue;">-1
5165 |rowspan=2| Cell 2, row 1 (and 2)
5176 <td rowspan="2"> Cell 2, row 1 (and 2)
5194 {| bgcolor=#ABCDEF border=2
5199 |the original table again
5207 <table bgcolor="#ABCDEF" border="2">
5215 <td>the original table again
5221 Invalid attributes in table cell (bug 1830)
5235 # The "|}" to close the table is missing from the input, so parsoid's
5236 # *2wt modes will fail.
5238 Table security: embedded pipes (http://lists.wikimedia.org/mailman/htdig/wikitech-l/2006-April/022293.html)
5240 parsoid=wt2html,html2html
5243 | |[ftp://|x||]" onmouseover="alert(document.cookie)">test
5247 <td>[<a rel="nofollow" class="external free" href="ftp://%7Cx">ftp://%7Cx</a></td>
5248 <td>]" onmouseover="alert(document.cookie)">test
5256 <td><a rel="mw:ExtLink" href="ftp://|x||"></a>" onmouseover="alert(document.cookie)">test</td></tr></tbody></table>
5261 Indented table markup mixed with indented pre content (proposed in bug 6200)
5266 Text that should be rendered preformatted
5274 <pre>Text that should be rendered preformatted
5283 Template-generated table cell attributes and cell content
5292 <td style="color: red"> Foo
5294 <td style="color: red"> Foo
5300 Template-generated table cell attributes and cell content (2)
5303 |align=center {{table_attribs}}
5308 <td align="center" style="color: red"> Foo
5314 Template-generated table cell attributes and cell content (3)
5317 |align=center {{table_cells}}
5322 <td align="center" style="color: red"> Foo </td>
5330 Table with row followed by newlines and table heading
5348 Table with empty line following the start tag
5365 # FIXME: Preserve the attribute properly (with an empty string as value) in
5366 # the PHP parser. Parsoid implements the behavior below.
5368 Table attributes with empty value
5378 </td></tr></tbody></table>
5383 Wikitext table with a lot of comments
5406 Wikitext table with double-line table cell
5423 Table cell with a single comment
5439 # The expected HTML structure in this test is debatable. The PHP parser does
5440 # not parse this kind of table at all. The main focus for Parsoid is on
5441 # round-tripping, so this output is ok for now. TODO: revisit!
5443 Wikitext table with html-syntax row
5453 <td>foo</td></tr></tbody></table>
5457 Implicit <td> after a |-
5458 (PHP parser relies on Tidy to add the missing <td> tags)
5460 parsoid=wt2html,wt2wt
5473 Pres should be recognized in an explicit <td> context, but not in an implicit <td> context
5474 (PHP parser relies on Tidy to add the missing <td> tags)
5476 parsoid=wt2html,wt2wt
5488 <tr><td><pre>a</pre></td></tr>
5489 <tr><td> b</td></tr>
5495 Lists should be recognized in an implicit <td> context
5496 (PHP parser relies on Tidy to add the missing <td> tags)
5498 parsoid=wt2html,wt2wt
5515 Parsoid: Round-trip tables directly followed by content (bug 51219)
5517 parsoid=wt2html,wt2wt
5529 <td>foo</td></tr></tbody></table> bar
5533 <td>baz</td></tr></tbody></table><b>quux</b>
5537 Parsoid: Default to a newline after tables in new content (bug 51219)
5544 <nowiki> </nowiki>bar
5551 <tr><td>foo</td></tr></tbody></table> bar
5553 <tr><td>baz</td></tr></tbody></table><b>quux</b>
5557 Parsoid: newline inducing block nodes don't suppress <nowiki>
5569 Parsoid: Row-syntax table headings followed by comment & table cells
5571 parsoid=wt2html,wt2wt
5575 <!-- foo --> || baz || quux
5580 <tr><th>foo </th><th>bar </th>
5582 <td>quux</td></tr></tbody></table>
5587 Parsoid: Recover better from broken table attributes
5599 <p>foo</p></td></tr>
5607 Plain link, capitalized
5611 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
5616 Plain link, uncapitalized
5620 <p><a href="/wiki/Main_Page" title="Main Page">main Page</a>
5627 [[Main Page|The Main Page]]
5629 <p><a href="/wiki/Main_Page" title="Main Page">The Main Page</a>
5634 Piped link with comment in link text
5636 [[Main Page|The Main<!--front--> Page]]
5638 <p><a href="/wiki/Main_Page" title="Main Page">The Main Page</a>
5643 Piped link with multiple pipe characters in link text
5645 [[Main Page||The|Main|Page|]]
5647 <p><a href="/wiki/Main_Page" title="Main Page">|The|Main|Page|</a>
5650 <p><a rel="mw:WikiLink" href="Main_Page">|The|Main|Page|</a></p>
5658 <p><a href="/index.php?title=Zigzagzogzagzig&action=edit&redlink=1" class="new" title="Zigzagzogzagzig (page does not exist)">Zigzagzogzagzig</a>
5663 Broken link with fragment
5665 [[Zigzagzogzagzig#zug]]
5667 <p><a href="/index.php?title=Zigzagzogzagzig&action=edit&redlink=1" class="new" title="Zigzagzogzagzig (page does not exist)">Zigzagzogzagzig#zug</a>
5672 Special page link with fragment
5674 [[Special:Version#anchor]]
5676 <p><a href="/wiki/Special:Version#anchor" title="Special:Version">Special:Version#anchor</a>
5681 Nonexistent special page link with fragment
5683 [[Special:ThisNameWillHopefullyNeverBeUsed#anchor]]
5685 <p><a href="/wiki/Special:ThisNameWillHopefullyNeverBeUsed" class="new" title="Special:ThisNameWillHopefullyNeverBeUsed (page does not exist)">Special:ThisNameWillHopefullyNeverBeUsed#anchor</a>
5692 xxx[[main Page]], xxx[[Main Page]], Xxx[[main Page]] XXX[[main Page]], XXX[[Main Page]]
5694 <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>
5701 [[Main Page]]xxx, [[Main Page]]XXX, [[Main Page]]!!!
5703 <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>!!!
5714 Bug 43661: Piped links with identical prefixes
5716 [[prefixed article|prefixed articles with spaces]]
5718 [[prefixed article|prefixed articlesaoeu]]
5720 [[Main Page|Main Page test]]
5722 <p><a href="/wiki/Prefixed_article" title="Prefixed article">prefixed articles with spaces</a>
5723 </p><p><a href="/wiki/Prefixed_article" title="Prefixed article">prefixed articlesaoeu</a>
5724 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page test</a>
5730 Link with HTML entity in suffix / tail
5732 [[Main Page]]", [[Main Page]]a
5734 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>", <a href="/wiki/Main_Page" title="Main Page">Main Page</a>a
5739 Link with 3 brackets
5748 Link with 4 brackets
5752 <p>[[<a href="/wiki/Main_Page" title="Main Page">Main Page</a>]]
5757 Piped link with 3 brackets
5759 [[[main page|the main page]]]
5761 <p>[[[main page|the main page]]]
5766 Piped link with extlink-like text
5769 [[Main Page|This is a [bar]]]
5771 <p><a href="/wiki/Main_Page" title="Main Page">[bar]</a>
5772 <a href="/wiki/Main_Page" title="Main Page">This is a [bar]</a>
5777 Link with multiple pipes
5779 [[Main Page|The|Main|Page]]
5781 <p><a href="/wiki/Main_Page" title="Main Page">The|Main|Page</a>
5788 [[Talk:Parser testing]], [[Meta:Disclaimers]]
5790 <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>
5795 Link with space in namespace
5797 [[User talk:Foo bar]]
5799 <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>
5804 MemoryAlpha:AlphaTest
5806 This is an article in the MemoryAlpha namespace
5807 (which shadows the memoryalpha interwiki link).
5811 Namespace takes precedence over interwiki link (bug 51680)
5813 [[MemoryAlpha:AlphaTest]]
5815 <p><a href="/wiki/MemoryAlpha:AlphaTest" title="MemoryAlpha:AlphaTest">MemoryAlpha:AlphaTest</a>
5819 # The previous test doesn't work correctly in html2*, due to not recognizing the
5820 # link as an internal one. This one checks for the correct behavior.
5822 Link to namespace preferred over interwiki with correct rel attribute
5824 parsoid=html2wt,html2html
5826 [[MemoryAlpha:AlphaTest]]
5828 <p><a rel="mw:WikiLink" href="./MemoryAlpha:AlphaTest">MemoryAlpha:AlphaTest</a>
5833 Piped link to namespace
5835 [[Meta:Disclaimers|The disclaimers]]
5837 <p><a href="/index.php?title=Meta:Disclaimers&action=edit&redlink=1" class="new" title="Meta:Disclaimers (page does not exist)">The disclaimers</a>
5844 [[Usually caused by a typo (oops}]]
5846 <p>[[Usually caused by a typo (oops}]]
5853 Just a test of an article title containing a percent.
5857 Link containing % (not as a hex sequence)
5861 <p><a href="/wiki/7%25_Solution" title="7% Solution">7% Solution</a>
5864 <p><a rel="mw:WikiLink" href="./7%25_Solution">7% Solution</a></p>
5867 # note that the parsoid HTML is identical to the previous test output,
5868 # so the previous test ensures that the html2wt mode will generate the
5869 # "not as a hex sequence" wikitext.
5871 Link containing % as a single hex sequence interpreted to char
5873 parsoid=wt2wt,wt2html,html2html
5877 <p><a href="/wiki/7%25_Solution" title="7% Solution">7% Solution</a>
5880 <p><a rel="mw:WikiLink" href="./7%25_Solution">7% Solution</a></p>
5884 Link containing % as a double hex sequence interpreted to hex sequence
5888 <p>[[7%2525 Solution]]
5892 # note that parsoid does not munge anchor text; all non-space
5893 # characters are valid in HTML5 anchors.
5895 Link containing "#<" and "#>" % as a hex sequences- these are valid section anchors
5896 Example for such a section: == < ==
5898 [[%23%3c]][[%23%3e]]
5900 <p><a href="#.3C">#<</a><a href="#.3E">#></a>
5903 <p><a rel="mw:WikiLink" href="./Main%20Page#%3C">#<</a><a rel="mw:WikiLink" href="./Main%20Page#%3E">#></a></p>
5907 Link containing "<#" and ">#" as a hex sequences
5909 [[%3c%23]][[%3e%23]]
5911 <p>[[%3c%23]][[%3e%23]]
5916 Link containing an equals sign
5918 [[Special:BookSources/isbn=4-00-026157-6]]
5920 <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>
5923 <p><a rel="mw:WikiLink" href="./Special:BookSources/isbn=4-00-026157-6">Special:BookSources/isbn=4-00-026157-6</a></p>
5929 Just a test of an article title containing a tilde.
5932 # note that links containing signatures, like [[Foo~~~~]], are
5933 # massaged by the pre-save transform (PST) and so the tildes are never
5934 # seen by the parser.
5936 Link containing a tilde
5940 <p><a href="/wiki/Foo%7Ebar" title="Foo~bar">Foo~bar</a>
5943 <p><a rel="mw:WikiLink" href="./Foo~bar">Foo~bar</a></p>
5947 Link containing double-single-quotes '' (bug 4598)
5949 [[Lista d''e paise d''o munno]]
5951 <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>
5954 <p><a rel="mw:WikiLink" href="./Lista_d''e_paise_d''o_munno">Lista d''e paise d''o munno</a></p>
5958 Link containing double-single-quotes '' in text (bug 4598 sanity check)
5960 Some [[Link|pretty ''italics'' and stuff]]!
5962 <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>!
5965 <p>Some <a rel="mw:WikiLink" href="Link">pretty <i>italics</i> and stuff</a>!</p>
5969 Link containing double-single-quotes '' in text embedded in italics (bug 4598 sanity check)
5971 ''Some [[Link|pretty ''italics'' and stuff]]!''
5973 <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>
5978 Link with double quotes in title part (literal) and alternate part (interpreted)
5980 [[File:Denys Savchenko ''Pentecoste''.jpg]]
5984 [[''Pentecoste''|Pentecoste]]
5986 [[''Pentecoste''|''Pentecoste'']]
5988 <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>
5989 </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>
5990 </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>
5991 </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>
5994 <meta typeof="mw:Placeholder"/>
5995 <p><a rel="mw:WikiLink" href="''Pentecoste''">''Pentecoste''</a></p>
5996 <p><a rel="mw:WikiLink" href="''Pentecoste''">Pentecoste</a></p>
5997 <p><a rel="mw:WikiLink" href="''Pentecoste''"><i>Pentecoste</i></a></p>
6001 Broken image links with HTML captions (bug 39700)
6003 [[File:Nonexistent|<script></script>]]
6004 [[File:Nonexistent|100px|<script></script>]]
6005 [[File:Nonexistent|<]]
6006 [[File:Nonexistent|a<i>b</i>c]]
6008 <p><a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><script></script></a>
6009 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><script></script></a>
6010 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent"><</a>
6011 <a href="/index.php?title=Special:Upload&wpDestFile=Nonexistent" class="new" title="File:Nonexistent">abc</a>
6018 [[http://www.example.com]]
6020 <p>[<a rel="nofollow" class="external autonumber" href="http://www.example.com">[1]</a>]
6023 <p>[<a rel="mw:ExtLink" href="http://www.example.com"></a>]</p>
6027 Plain link to URL with link text
6029 [[http://www.example.com Link text]]
6031 <p>[<a rel="nofollow" class="external text" href="http://www.example.com">Link text</a>]
6036 Plain link to protocol-relative URL
6038 [[//www.example.com]]
6040 <p>[<a rel="nofollow" class="external autonumber" href="//www.example.com">[1]</a>]
6043 <p>[<a rel="mw:ExtLink" href="//www.example.com"></a>]</p>
6047 Plain link to protocol-relative URL with link text
6049 [[//www.example.com Link text]]
6051 <p>[<a rel="nofollow" class="external text" href="//www.example.com">Link text</a>]
6056 Plain link to page with question mark in title
6062 <p><a href="/wiki/A%3Fb" title="A?b">A?b</a>
6063 </p><p><a href="/wiki/A%3Fb" title="A?b">Baz</a>
6068 # I'm fairly sure the expected result here is wrong.
6069 # We want these to be URL links, not pseudo-pages with URLs for titles....
6070 # However the current output is also pretty screwy.
6073 # I'm changing it to match the current output--it arguably makes more
6074 # sense in the light of the test above. Old expected result was:
6075 #<p>Piped link to URL: <a href="/index.php?title=Http://www.example.com&action=edit" class="new">an example URL</a>
6077 # But I think this test is bordering on "garbage in, garbage out" anyway.
6082 Piped link to URL: [[http://www.example.com|an example URL]]
6084 <p>Piped link to URL: [<a rel="nofollow" class="external text" href="http://www.example.com%7Can">example URL</a>]
6087 <p>Piped link to URL: [<a rel="mw:ExtLink" href="http://www.example.com|an">example URL</a>]</p>
6091 BUG 2: [[page|http://url/]] should link to page, not http://url/
6093 [[Main Page|http://url/]]
6095 <p><a href="/wiki/Main_Page" title="Main Page">http://url/</a>
6098 <p><a rel="mw:WikiLink" href="./Main_Page">http://url/</a></p>
6101 # Parsoid does not mark self-links, by design.
6103 BUG 337: Escaped self-links should be bold
6107 [[Bug462]] [[Bug462]]
6109 <p><strong class="selflink">Bug462</strong> <strong class="selflink">Bug462</strong>
6112 <p><a rel="mw:WikiLink" href="./Bug462">Bug462</a> <a rel="mw:WikiLink" href="./Bug462">Bug462</a></p>
6116 Self-link to section should not be bold
6120 [[Main Page#section]]
6122 <p><a href="/wiki/Main_Page#section" title="Main Page">Main Page#section</a>
6133 Self-link to numeric title
6139 <p><strong class="selflink">0</strong>
6144 Link to numeric-equivalent title
6150 <p><a href="/wiki/00" title="00">00</a>
6155 <nowiki> inside a link
6157 [[Main<nowiki> Page</nowiki>]] [[Main Page|the main page <nowiki>[it's not very good]</nowiki>]]
6159 <p>[[Main Page]] <a href="/wiki/Main_Page" title="Main Page">the main page [it's not very good]</a>
6164 Non-breaking spaces in title
6166 [[ Main Page ]]
6168 <p><a href="/wiki/Main_Page" title="Main Page">  Main   Page  </a>
6173 Internal link with ca linktrail, surrounded by bold apostrophes (bug 27473 primary issue)
6179 <p><b><a href="/wiki/Main_Page" title="Main Page">Main Page</a></b>
6184 Internal link with ca linktrail, surrounded by italic apostrophes (bug 27473 primary issue)
6190 <p><i><a href="/wiki/Main_Page" title="Main Page">Main Page</a></i>
6195 Internal link with en linktrail: no apostrophes (bug 27473)
6201 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (page does not exist)">Something</a>'nice
6206 Internal link with ca linktrail with apostrophes (bug 27473)
6212 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (encara no existeix)">Something'nice</a>
6217 Internal link with kaa linktrail with apostrophes (bug 27473)
6223 <p><a href="/index.php?title=Something&action=edit&redlink=1" class="new" title="Something (bet ele jaratılmag'an)">Something'nice</a>
6228 Link with multiple ":" in a subpage-supporting namespace (bug 63636)
6230 [[User:Foo/Test/63636:Bar|Test]]
6232 <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>
6235 <p><a rel="mw:WikiLink" href="./User:Foo/Test/63636:Bar">Test</a></p>
6239 1. Interaction of linktrail and template encapsulation
6245 <p><a rel="mw:WikiLink" href="Foo" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Foo]]"}},"i":0}},"l"]}'>Fool</a></p>
6249 2. Interaction of linktrail and template encapsulation
6253 {{echo|Some [[Fool]]}}s
6255 <p data-parsoid='{}'><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" about="#mwt1" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a></p>
6259 3. Interaction of linktrail and template encapsulation
6263 {{echo|Some [[Fool]]s are '''bold and foolish'''}}
6265 <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" data-parsoid='{"stx":"simple","a":{"href":"./Fool"},"sa":{"href":"Fool"},"tail":"s"}'>Fools</a> are <b data-parsoid="{}">bold and foolish</b></p>
6275 Internal link with is link prefix
6279 Aðrir mótmælenda[[söfnuður|söfnuðir]] og
6281 <p>Aðrir <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðir</a> og
6292 Internal link with is link trail and link prefix
6296 [[mótmælendatrú|xxx]]ar
6298 mótmælenda[[söfnuður]]
6299 mótmælenda[[söfnuður|söfnuðir]]
6300 mótmælenda[[söfnuður|söfnuðir]]xxx
6302 <p><a href="/wiki/M%C3%B3tm%C3%A6lendatr%C3%BA" title="Mótmælendatrú">xxxar</a>
6303 <a href="/wiki/M%C3%B3tm%C3%A6lendatr%C3%BA" title="Mótmælendatrú">mótmælendatrúar</a>
6304 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuður</a>
6305 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðir</a>
6306 <a href="/wiki/S%C3%B6fnu%C3%B0ur" title="Söfnuður">mótmælendasöfnuðirxxx</a>
6311 Parsoid link trail escaping
6313 parsoid=html2wt,html2html
6317 <p><a rel="mw:WikiLink" href="Apple">apple</a>s</p>
6321 Parsoid link prefix escaping
6324 parsoid=html2wt,html2html
6326 Aðrir mótmælenda<nowiki/>[[söfnuður]]
6328 <p>Aðrir mótmælenda<a rel="mw:WikiLink" href="Söfnuður">söfnuður</a></p>
6332 Parsoid-centric test: Whitespace in ext- and wiki-links should be preserved
6340 [http://wp.org ''foo'']
6342 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)"> bar</a>
6343 </p><p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)"> <i>bar</i></a>
6344 </p><p><a rel="nofollow" class="external text" href="http://wp.org">foo</a>
6345 </p><p><a rel="nofollow" class="external text" href="http://wp.org"><i>foo</i></a>
6350 Parsoid: Scoped parsing should handle mixed transclusions and plain text
6354 [[Foo|{{echo|a}} b {{echo|c}}]]
6356 <p><a rel="mw:WikiLink" href="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>
6360 ### Interwiki links (see maintenance/interwiki.sql)
6364 Inline interwiki link
6366 [[MeatBall:SoftSecurity]]
6368 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity" class="extiw" title="meatball:SoftSecurity">MeatBall:SoftSecurity</a>
6373 Inline interwiki link with empty title (bug 2372)
6377 <p><a href="http://www.usemod.com/cgi-bin/mb.pl" class="extiw" title="meatball:">MeatBall:</a>
6382 Interwiki link encoding conversion (bug 1636)
6384 *[[Wikipedia:ro:Olteniţa]]
6385 *[[Wikipedia:ro:Olteniţa]]
6388 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a>
6390 <li><a href="http://en.wikipedia.org/wiki/ro:Olteni%C5%A3a" class="extiw" title="wikipedia:ro:Olteniţa">Wikipedia:ro:Olteniţa</a>
6397 Interwiki link with fragment (bug 2130)
6399 [[MeatBall:SoftSecurity#foo]]
6401 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?SoftSecurity#foo" class="extiw" title="meatball:SoftSecurity">MeatBall:SoftSecurity#foo</a>
6405 # Ideally the wikipedia: prefix here should be proto-relative too
6407 Different interwiki prefixes mapping to the same URL
6415 [[:wikipedia:Foo|Foo]]
6417 [[wikipedia:en:Foo]]
6419 [[:wikipedia:en:Foo]]
6421 <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}'>en:Foo</a></p>
6423 <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}'>Foo</a></p>
6425 <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}'>wikipedia:Foo</a></p>
6427 <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}'>Foo</a></p>
6429 <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}'>wikipedia:en:Foo</a></p>
6431 <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}'>wikipedia:en:Foo</a></p>
6435 Interwiki links that cannot be represented in wiki syntax
6438 [[meatball:ok#foo|ok with fragment]]
6439 [[meatball:ok_as_well?|ok ending with ? mark]]
6440 [http://de.wikipedia.org/wiki/Foo?action=history has query]
6441 [http://de.wikipedia.org/wiki/#foo is just fragment]
6444 <p><a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok">meatball:ok</a>
6445 <a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok#foo">ok with fragment</a>
6446 <a rel="mw:ExtLink" href="http://www.usemod.com/cgi-bin/mb.pl?ok_as_well?">ok ending with ? mark</a>
6447 <a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/Foo?action=history">has query</a>
6448 <a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/#foo">is just fragment</a></p>
6452 Interwiki links: trail
6456 [[wikipedia:Foo|Ba]]r
6458 <p data-parsoid='{}'><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"}'>Bar</a></p>
6462 ### Interlanguage links
6463 ### Language links (so that searching for '### language' matches..)
6477 Double interlanguage link
6488 Interlanguage link, with prefix links
6500 Double interlanguage link, with prefix links (bug 8897)
6513 Parsoid-specific test: Wikilinks with should RT properly
6519 <p><a href="/index.php?title=WW_II&action=edit&redlink=1" class="new" title="WW II (lonkásá ezalí tɛ̂)">WW II</a>
6524 Parsoid bug 53221: Wikilinks should be properly entity-escaped
6528 He&nbsp;llo [[Foo|He&nbsp;llo]]
6530 He&nbsp;llo [[He&nbsp;llo]]
6532 <p>He&nbsp;llo <a href="Foo" rel="mw:WikiLink">He&nbsp;llo</a></p>
6533 <p>He&nbsp;llo <a href="He&nbsp;llo" rel="mw:WikiLink">He&nbsp;llo</a></p>
6537 Parsoid: handle constructor well
6545 <p><a rel="mw:WikiLink" href="./Constructor" data-parsoid="{"stx":"simple","a":{"href":"./Constructor"},"sa":{"href":"constructor"}}">constructor</a></p>
6547 <p><a rel="mw:WikiLink" href="./Foo" data-parsoid="{"stx":"simple","a":{"href":"./Foo"},"sa":{"href":"constructor:foo"}}">constructor:foo</a></p>
6551 Parsoid: recognize interlanguage links without a target page
6557 <p><link rel="mw:PageProp/Language" href="http://ko.wikipedia.org/wiki/"></p>
6561 Parsoid: recognize interwiki links without a target page
6567 <p><a rel="mw:ExtLink" href="//ko.wikipedia.org/wiki/">ko:</a></p>
6571 Parsoid: Bug #45209, handle interwiki links pointing to the current wiki as plain wiki links
6577 <p><a rel="mw:WikiLink" href="./Foo" data-parsoid='{"stx":"simple","a":{"href":"./Foo"},"sa":{"href":"en:Foo"}}'>Foo</a></p>
6581 ### Redirects, Parsoid-only
6584 1. Simple redirect to page
6588 #REDIRECT [[Main Page]]
6590 <link rel="mw:PageProp/redirect" href="./Main_Page">
6593 # Only wt2html and html2html since "Main_Page" will serialize to "Main Page"
6595 2. Other redirect variants
6597 parsoid=wt2html,wt2wt
6599 #REDIRECT [[Main_Page]]
6600 #REDIRECT [[<nowiki>[[Bar]]</nowiki>]]
6602 <link rel="mw:PageProp/redirect" href="./Main_Page">
6603 <link rel="mw:PageProp/redirect" href="./%5B%5BBar%5D%5D">
6609 parsoid=wt2html,wt2wt
6614 <li>REDIRECT [[]]</li></ol>
6618 Optional colon in #REDIRECT
6620 # the colon is archaic syntax. we support it for wt2html, but we
6621 # don't care that it roundtrips back to the modern syntax.
6622 parsoid=wt2html,html2html
6624 #REDIRECT:[[Main Page]]
6626 <link rel="mw:PageProp/redirect" href="./Main_Page">
6630 Whitespace in #REDIRECT with optional colon
6632 # the colon and gratuitous whitespace is archaic syntax. we support
6633 # it for wt2html, but we don't care that it roundtrips back to the
6634 # modern syntax (without extra whitespace)
6635 parsoid=wt2html,html2html
6642 <link rel="mw:PageProp/redirect" href="./Main_Page">
6646 Piped link in #REDIRECT
6648 # content after piped link is ignored. we support this syntax,
6649 # but don't care that the piped link is lost when we roundtrip this.
6652 #REDIRECT [[Main Page|bar]]
6654 <link rel="mw:PageProp/redirect" href="./Main_Page">
6658 Redirect to category
6662 #REDIRECT [[Category:Foo]]
6664 <link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
6668 Redirect to category with URL encoding
6672 #REDIRECT [[Category%3AFoo]]
6674 <link rel="mw:PageProp/redirect" href="./Category:Foo"><link rel="mw:PageProp/Category" href="./Category:Foo">
6678 Redirect to category page
6680 parsoid=wt2html,html2html
6682 #REDIRECT [[:Category:Foo]]
6684 <p><a rel="mw:WikiLink" href="Category:Foo">Category:Foo</a></p>
6688 Redirect to image page (1)
6692 #REDIRECT [[File:Wiki.png]]
6694 <link rel="mw:PageProp/redirect" href="./File:Wiki.png">
6698 Redirect to image page (2)
6702 #REDIRECT [[Image:Wiki.png]]
6704 <link rel="mw:PageProp/redirect" href="./File:Wiki.png">
6708 Redirect to language
6712 #REDIRECT [[en:File:Wiki.png]]
6714 <link rel="mw:PageProp/redirect" href="File:Wiki.png">
6718 Redirect to interwiki
6722 #REDIRECT [[meatball:File:Wiki.png]]
6724 <link rel="mw:PageProp/redirect" href="File:Wiki.png">
6728 Non-English #REDIRECT
6733 #TILVÍSUN [[Main Page]]
6735 <link rel="mw:PageProp/redirect" href="./Main_Page">
6746 <p>Foo<link rel="mw:PageProp/redirect" href="./Foo"></p>
6763 Broken br tag sanitization
6771 # TODO: Fix html2html mode (bug 51055)!
6773 Parsoid: Broken br tag recognition
6786 Incorrecly removing closing slashes from correctly formed XHTML
6788 <br style="clear:both;" />
6790 <p><br style="clear:both;" />
6795 Failing to transform badly formed HTML into correct XHTML
6797 <br style="clear: left;">
6798 <br style="clear: right;">
6799 <br style="clear: both;">
6801 <p><br style="clear: left;" />
6802 <br style="clear: right;" />
6803 <br style="clear: both;" />
6808 Handling html with a div self-closing tag
6817 <p><div title />
6821 <p><div title=bar />
6822 <div title=bar/>
6824 <div title="bar/"></div>
6830 Handling html with a br self-closing tag
6839 <p><br title="title" />
6840 <br title="title" />
6849 Horizontal ruler (should it add that extra space?)
6863 Horizontal ruler -- 4+ dashes render hr
6872 Horizontal ruler -- eats additional dashes on the same line
6881 Horizontal ruler -- does not collapse dashes on consecutive lines
6892 Horizontal ruler -- <4 dashes render as plain text
6901 Horizontal ruler -- Supports content following dashes on same line
6910 ### Block-level elements
6958 ***#Number on level 4
6960 **#Number on level 3
6961 **#Number on level 3
6965 #** Level 3, but ordered
6988 <li>Number on level 4
6996 <li>Number on level 3
6998 <li>Number on level 3
7021 <li> Level 3, but ordered
7067 Nested lists 3 (first element empty)
7084 Nested lists 4 (first element empty)
7102 Nested lists 5 (both elements empty)
7120 Nested lists 6 (both elements empty)
7137 Nested lists 7 (skip initial nesting levels)
7155 Nested lists 8 (multiple nesting transitions)
7181 1. Lists with start-of-line-transparent tokens before bullets: Comments
7199 2. Lists with start-of-line-transparent tokens before bullets: Template close
7214 List items are not parsed correctly following a <pre> block (bug 785)
7232 List items from template
7243 * notSOL{{inner list}}
7274 List interrupted by empty line or heading
7293 <h2><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>
7295 <li> Another list item
7302 Multiple list tags generated by templates
7317 Single-comment whitespace lines dont break lists, and neither do multi-comment whitespace lines
7320 <!--This line will NOT split the list-->
7322 <!--This line will NOT split the list either-->
7324 <!--foo--> <!----> <!--This line NOT split the list either-->
7341 Replacing whitespace with tabs still doesn't break the list (gerrit 78327)
7344 <!--This line will NOT split the list-->
7346 <!--This line will NOT split the list either-->
7348 <!--foo--> <!----> <!--This line NOT split the list
7367 (Cannot test this with PHP parser since it relies on Tidy for the hack)
7369 parsoid=wt2html,wt2wt
7373 * {{echo|<li>templated li-hack}}
7374 * <!--foo--> <li> unsupported li-hack with preceding comments
7377 <li><li>not a li-hack
7384 <li about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"<li>templated li-hack"}}}}]}'>templated li-hack</li>
7385 <li> <!--foo--> </li>
7386 <li> li-hack with preceding comments</li>
7397 Parsoid: Make sure nested lists are serialized on their own line even if HTML contains no newlines
7424 Parsoid: Test of whitespace serialization with Templated bullets
7431 <li> </li><li about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"bullet","href":"./Template:Bullet"},"params":{},"i":0}}]}'> Bar</li>
7435 # ------------------------------------------------------------------------
7436 # The next set of tests are about Parsoid's ability to handle badly nested
7437 # tags (parse, minimize scope of fixup, and roundtrip back)
7438 # ------------------------------------------------------------------------
7441 Unbalanced closing block tags break a list
7442 (Parsoid-only since php parser generates broken html -- relies on Tidy to fix up)
7460 Unbalanced closing non-block tags don't break a list
7461 (Parsoid-only since php parser generates broken html -- relies on Tidy to fix up)
7478 Unclosed formatting tags that straddle lists are closed and reopened
7479 (Parsoid-only since php parser generates broken html -- relies on Tidy to fix up)
7493 List embedded in a non-block tag
7494 (Ugly Parsoid output -- worth fixing; Disabled for PHP parser since it relies on Tidy)
7500 <p><small></small></p>
7506 <p><small></small></p>
7510 Table with missing opening <tr> tag
7512 parsoid=wt2html,wt2wt
7530 # Note that the current date is hard-coded as
7531 # 1970-01-01T00:02:03Z (a Thursday)
7532 # when running parser tests. The timezone is also fixed to GMT, so
7533 # local date will be identical to current date.
7536 Magic Word: {{CURRENTDAY}}
7545 Magic Word: {{CURRENTDAY2}}
7554 Magic Word: {{CURRENTDAYNAME}}
7563 Magic Word: {{CURRENTDOW}}
7572 Magic Word: {{CURRENTMONTH}}
7581 Magic Word: {{CURRENTMONTH1}}
7590 Magic Word: {{CURRENTMONTHABBREV}}
7592 {{CURRENTMONTHABBREV}}
7599 Magic Word: {{CURRENTMONTHNAME}}
7601 {{CURRENTMONTHNAME}}
7608 Magic Word: {{CURRENTMONTHNAMEGEN}}
7610 {{CURRENTMONTHNAMEGEN}}
7617 Magic Word: {{CURRENTTIME}}
7626 Magic Word: {{CURRENTHOUR}}
7635 Magic Word: {{CURRENTWEEK}} (@bug 4594)
7644 Magic Word: {{CURRENTYEAR}}
7653 Magic Word: {{CURRENTTIMESTAMP}}
7655 {{CURRENTTIMESTAMP}}
7662 Magic Words LOCAL (UTC)
7666 * {{LOCALMONTHNAME}}
7667 * {{LOCALMONTHNAMEGEN}}
7668 * {{LOCALMONTHABBREV}}
7677 * {{LOCALTIMESTAMP}}
7713 Magic Word: {{FULLPAGENAME}}
7715 title=[[User:Ævar Arnfjörð Bjarmason]]
7719 <p>User:Ævar Arnfjörð Bjarmason
7724 Magic Word: {{FULLPAGENAMEE}}
7726 title=[[User:Ævar Arnfjörð Bjarmason]]
7730 <p>User:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
7735 Magic Word: {{TALKSPACE}}
7737 title=[[User:Ævar Arnfjörð Bjarmason]]
7746 Magic Word: {{TALKSPACE}}, same namespace
7748 title=[[User talk:Ævar Arnfjörð Bjarmason]]
7757 Magic Word: {{TALKSPACE}}, main namespace
7759 title=[[Parser Test]]
7768 Magic Word: {{TALKSPACEE}}
7770 title=[[User:Ævar Arnfjörð Bjarmason]]
7779 Magic Word: {{SUBJECTSPACE}}
7781 title=[[User talk:Ævar Arnfjörð Bjarmason]]
7790 Magic Word: {{SUBJECTSPACE}}, same namespace
7792 title=[[User:Ævar Arnfjörð Bjarmason]]
7801 Magic Word: {{SUBJECTSPACE}}, main namespace
7803 title=[[Parser Test]]
7811 Magic Word: {{SUBJECTSPACEE}}
7813 title=[[User talk:Ævar Arnfjörð Bjarmason]]
7822 Magic Word: {{NAMESPACE}}
7824 title=[[User:Ævar Arnfjörð Bjarmason]]
7833 Magic Word: {{NAMESPACEE}}
7835 title=[[User:Ævar Arnfjörð Bjarmason]]
7844 Magic Word: {{NAMESPACENUMBER}}
7846 title=[[User:Ævar Arnfjörð Bjarmason]]
7855 Magic Word: {{SUBPAGENAME}}
7857 title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
7866 Magic Word: {{SUBPAGENAMEE}}
7868 title=[[Ævar Arnfjörð Bjarmason/sub ö]] subpage
7877 Magic Word: {{ROOTPAGENAME}}
7879 title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
7883 <p>Ævar Arnfjörð Bjarmason
7888 Magic Word: {{ROOTPAGENAMEE}}
7890 title=[[Ævar Arnfjörð Bjarmason/sub/sub2]] subpage
7894 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
7899 Magic Word: {{BASEPAGENAME}}
7901 title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
7905 <p>Ævar Arnfjörð Bjarmason
7910 Magic Word: {{BASEPAGENAMEE}}
7912 title=[[Ævar Arnfjörð Bjarmason/sub]] subpage
7916 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
7921 Magic Word: {{TALKPAGENAME}}
7923 title=[[User:Ævar Arnfjörð Bjarmason]]
7927 <p>User talk:Ævar Arnfjörð Bjarmason
7932 Magic Word: {{TALKPAGENAMEE}}
7934 title=[[User:Ævar Arnfjörð Bjarmason]]
7938 <p>User_talk:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
7943 Magic Word: {{SUBJECTPAGENAME}}
7945 title=[[User talk:Ævar Arnfjörð Bjarmason]]
7949 <p>User:Ævar Arnfjörð Bjarmason
7954 Magic Word: {{SUBJECTPAGENAMEE}}
7956 title=[[User talk:Ævar Arnfjörð Bjarmason]]
7958 {{SUBJECTPAGENAMEE}}
7960 <p>User:%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
7965 Magic Word: {{NUMBEROFFILES}}
7974 Magic Word: {{PAGENAME}}
7976 title=[[User:Ævar Arnfjörð Bjarmason]]
7980 <p>Ævar Arnfjörð Bjarmason
7985 Magic Word: {{PAGENAME}} with metacharacters
7987 title=[['foo & bar = baz']]
7991 <p><i>'foo & bar = baz'</i>
7996 Magic Word: {{PAGENAME}} with metacharacters (bug 26781)
7998 title=[[*RFC 1234 http://example.com/]]
8002 <p>*RFC 1234 http://example.com/
8007 Magic Word: {{PAGENAMEE}}
8009 title=[[User:Ævar Arnfjörð Bjarmason]]
8013 <p>%C3%86var_Arnfj%C3%B6r%C3%B0_Bjarmason
8018 Magic Word: {{PAGENAMEE}} with metacharacters (bug 26781)
8020 title=[[*RFC 1234 http://example.com/]]
8024 <p>*RFC_1234_http://example.com/
8029 Magic Word: {{REVISIONID}}
8038 Magic Word: {{SCRIPTPATH}}
8047 Magic Word: {{STYLEPATH}}
8056 Magic Word: {{SERVER}}
8060 <p><a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>
8065 Magic Word: {{SERVERNAME}}
8074 Magic Word: {{SITENAME}}
8083 Case-sensitive magic words, when cased differently, should just be template transclusions
8090 <p><a href="/index.php?title=Template:CurrentMonth&action=edit&redlink=1" class="new" title="Template:CurrentMonth (page does not exist)">Template:CurrentMonth</a>
8091 <a href="/index.php?title=Template:Currentday&action=edit&redlink=1" class="new" title="Template:Currentday (page does not exist)">Template:Currentday</a>
8092 <a href="/index.php?title=Template:CURreNTweEK&action=edit&redlink=1" class="new" title="Template:CURreNTweEK (page does not exist)">Template:CURreNTweEK</a>
8093 <a href="/index.php?title=Template:CurrentHour&action=edit&redlink=1" class="new" title="Template:CurrentHour (page does not exist)">Template:CurrentHour</a>
8098 Case-insensitive magic words should still work with weird casing.
8108 <a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>
8113 Namespace 1 {{ns:1}}
8122 Namespace 1 {{ns:01}}
8131 Namespace 0 {{ns:0}} (bug 4783)
8139 Namespace 0 {{ns:00}} (bug 4783)
8147 Namespace -1 {{ns:-1}}
8156 Namespace User {{ns:User}}
8165 Namespace User talk {{ns:User_talk}}
8174 Namespace User talk {{ns:uSeR tAlK}}
8183 Namespace File {{ns:File}}
8192 Namespace File {{ns:Image}}
8201 Namespace (lang=de) Benutzer {{ns:User}}
8212 Namespace (lang=de) Benutzer Diskussion {{ns:3}}
8218 <p>Benutzer Diskussion
8226 {{urlencode:hi world?!}}
8227 {{urlencode:hi world?!|WIKI}}
8228 {{urlencode:hi world?!|PATH}}
8229 {{urlencode:hi world?!|QUERY}}
8239 Magic Word: prioritize type info over data-parsoid
8245 <meta property="mw:PageProp/forcetoc" data-parsoid='{"src":"__NOTOC__","magicSrc":"__NOTOC__"}'/>
8249 Magic Word: serialize on separate line (parsoid)
8251 parsoid=wt2wt,html2wt
8257 foo<meta property="mw:PageProp/notoc"/>bar
8261 Magic Word: rt non-english wikis
8268 <meta property="mw:PageProp/noeditsection" data-parsoid='{"src":"__NOEDITSECTION__","magicSrc":"__NOEDITSECTION__"}'/>
8275 Magic links: internal link to RFC (bug 479)
8279 <p><a href="/index.php?title=RFC_123&action=edit&redlink=1" class="new" title="RFC 123 (page does not exist)">RFC 123</a>
8284 Magic links: RFC (bug 479)
8288 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc822">RFC 822</a>
8293 Magic links: ISBN (bug 1937)
8297 <p><a href="/wiki/Special:BookSources/0306406152" class="internal mw-magiclink-isbn">ISBN 0-306-40615-2</a>
8302 Magic links: PMID incorrectly converts space to underscore
8306 <p><a class="external mw-magiclink-pmid" rel="nofollow" href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract">PMID 1234</a>
8315 Nonexistent template
8317 {{thistemplatedoesnotexist}}
8319 <p><a href="/index.php?title=Template:Thistemplatedoesnotexist&action=edit&redlink=1" class="new" title="Template:Thistemplatedoesnotexist (page does not exist)">Template:Thistemplatedoesnotexist</a>
8324 Template with invalid target containing tags
8326 {{a<b>b</b>|{{echo|foo}}|{{echo|a}}={{echo|b}}|a = b}}
8328 <p>{{a<b>b</b>|foo|a=b|a = b}}
8333 Template with invalid target containing unclosed tag
8335 {{a<b>|{{echo|foo}}|{{echo|a}}={{echo|b}}|a = b}}
8337 <p>{{a<b>|foo|a=b|a = b}}</b>
8342 Template with invalid target containing wikilink
8346 <p>{{<a href="/wiki/Main_Page" title="Main Page">Main Page</a>}}
8349 <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>
8355 This is a test template
8363 <p>This is a test template
8368 Template with explicit namespace
8372 <p>This is a test template
8380 This is a test template with parameter {{{param}}}
8386 {{paramtest|param=foo}}
8388 <p>This is a test template with parameter foo
8393 Template:paramtestnum
8399 Template unnamed parameter
8401 {{paramtestnum|Main Page|the main page}}
8403 <p><a href="/wiki/Main_Page" title="Main Page">the main page</a>
8408 Template:templatesimple
8414 Template:templateredirect
8416 #redirect [[Template:templatesimple]]
8420 Template:templateasargtestnum
8426 Template:templateasargtest
8428 {{template{{{templ}}}}}
8432 Template:templateasargtest2
8438 Template with template name as unnamed argument
8440 {{templateasargtestnum|templatesimple}}
8447 Template with template name as argument
8449 {{templateasargtest|templ=simple}}
8456 Template with template name as argument (2)
8458 {{templateasargtest2|templ=templatesimple}}
8465 Template:templateasargtestdefault
8467 {{{{{templ|templatesimple}}}}}
8477 Template with default value
8479 {{templateasargtestdefault}}
8486 Template with default value (value set)
8488 {{templateasargtestdefault|templ=templa}}
8497 {{templateredirect}}
8504 Template with argument in separate line
8506 {{ templateasargtest |
8514 Template with complex template as argument
8517 param ={{ templateasargtest |
8520 <p>This is a test template with parameter (test)
8525 Template with thumb image (with link in description)
8528 param =[[Image:noimage.png|thumb|[[no link|link]] [[no link|caption]]]]}}
8530 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>
8535 Template:complextemplate
8537 {{{1}}} {{paramtest|
8538 param ={{{param}}}}}
8542 Template with complex arguments
8545 param ={{ templateasargtest |
8546 templ = simple }}|[[Template:complextemplate|link]]}}
8548 <p><a href="/wiki/Template:Complextemplate" title="Template:Complextemplate">link</a> This is a test template with parameter (test)
8553 BUG 553: link with two variables in a piped link
8556 |[[{{{1}}}|{{{2}}}]]
8561 <td>[[{{{1}}}|{{{2}}}]]
8567 Magic variable as template parameter
8569 {{paramtest|param={{SITENAME}}}}
8571 <p>This is a test template with parameter MediaWiki
8578 [[{{{param}}}|link]]
8582 Template parameter as link source
8584 {{linktest|param=Main Page}}
8586 <p><a href="/wiki/Main_Page" title="Main Page">link</a>
8591 Template-generated attribute string (k='v')
8593 <span {{attr_str|id|v1}}>bar</span>
8595 <p><span id="v1">bar</span>
8602 including another template, {{paramtest|param={{{arg}}}}}
8606 Template passing argument to another template
8608 {{paramtest2|arg='hmm'}}
8610 <p>including another template, This is a test template with parameter 'hmm'
8621 Template as link source
8625 [[{{linktest2}}|Main Page]]
8627 [[{{linktest2}}]]Page
8629 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
8630 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
8631 </p><p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>Page
8649 Template infinite loop
8653 <p><span class="error">Template loop detected: <a href="/wiki/Template:Loop1" title="Template:Loop1">Template:Loop1</a></span>
8658 Template from main namespace
8677 BUG 529: Template with table, not included at beginning of line
8696 BUG 523: Template shouldn't eat newline (or add an extra one before table)
8716 BUG 41: Template parameters shown as broken links
8725 Template with targets containing wikilinks
8729 {{[[{{echo|foo}}]]}}
8731 {{{{echo|[[foo}}]]}}
8733 <p>{{<a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">foo</a>}}
8734 </p><p>{{<a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">foo</a>}}
8742 ''None'' of '''this''' should be
8744 but rather passed unmodified
8748 # hmm, fix this or just deprecate msgnw and document its behavior?
8754 {{msgnw:MSGNW test}}
8756 <p>''None'' of '''this''' should be
8758 but rather passed unmodified
8766 {{int:youhavenewmessages|lots of money|not!}}
8768 <p>You have lots of money (not!).
8775 Foo<noinclude>zar</noinclude><includeonly>bar</includeonly>
8779 <includeonly> and <noinclude> being included
8790 <onlyinclude>Foo</onlyinclude>bar
8794 <onlyinclude> being included
8806 <onlyinclude>Foo</onlyinclude>bar<includeonly>zar</includeonly>
8810 <onlyinclude> and <includeonly> being included
8819 <includeonly> and <noinclude> on a page
8821 Foo<noinclude>zar</noinclude><includeonly>bar</includeonly>
8828 Un-closed <noinclude>
8835 <onlyinclude> on a page
8837 <onlyinclude>Foo</onlyinclude>bar
8844 Un-closed <onlyinclude>
8851 Self-closed noinclude, includeonly, onlyinclude tags
8862 Unbalanced includeonly and noinclude tags
8866 |b</noinclude></noinclude>
8867 |c</noinclude></includeonly>
8868 |d</includeonly></includeonly>
8877 <td>c</includeonly>
8879 <td>d</includeonly></includeonly>
8885 Template:Includeonly section
8888 ==Includeonly section==
8894 Bug 6563: Edit link generation for section shown by <includeonly>
8896 {{includeonly section}}
8898 <h2><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>
8899 <h2><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>
8903 # Uses same input as the contents of [[Template:Includeonly section]]
8905 Bug 6563: Section extraction for section shown by <includeonly>
8910 ==Includeonly section==
8918 Bug 6563: Edit link generation for section suppressed by <includeonly>
8921 ==Includeonly section==
8925 <h2><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>
8930 Bug 6563: Section extraction for section suppressed by <includeonly>
8935 ==Includeonly section==
8943 Un-closed <includeonly>
8949 # TODO: test with DOM fragment reuse!
8951 Parsoid: DOM fragment reuse
8953 parsoid=wt2wt,wt2html
8955 a{{echo|b<table></table>c}}d
8967 a<span about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b
8968 <table></table>c"}},"i":0}}]}'>b</span>
8969 <table about="#mwt1"></table><span about="#mwt1">c</span>d
8972 <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"]}'>ab</p><span about="#mwt2">
8974 <table about="#mwt2"></table><span about="#mwt2">
8976 <p about="#mwt2">cd</p>
8979 <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}}]}'>a</p><span about="#mwt3">
8982 <table about="#mwt3"></table><span about="#mwt3">
8985 <p about="#mwt3">b</p>
8989 Parsoid: Merge double tds (bug 50603)
8998 <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>
9003 Parsoid: Merge double tds in nested transclusion content (bug 50603)
9013 <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}}]}'>
9015 <tr><td data-mw='{"parts":["|"]}'> foo</td></tr>
9021 ### <includeonly> and <noinclude> in attributes
9024 0. includeonly around the entire attribute
9026 <span <includeonly>id="v1"</includeonly><noinclude>id="v2"</noinclude>>bar</span>
9028 <p><span id="v2">bar</span>
9033 1. includeonly in html attr key
9035 <span <noinclude>id</noinclude><includeonly>about</includeonly>="foo">bar</span>
9037 <p><span id="foo">bar</span>
9042 2. includeonly in html attr value
9044 <span id="<noinclude>v1</noinclude><includeonly>v2</includeonly>">bar</span>
9045 <span id=<noinclude>"v1"</noinclude><includeonly>"v2"</includeonly>>bar</span>
9047 <p><span id="v1">bar</span>
9048 <span id="v1">bar</span>
9053 3. includeonly in part of an attr value
9055 <span style="color:<noinclude>red</noinclude><includeonly>blue</includeonly>;">bar</span>
9057 <p><span style="color:red;">bar</span>
9062 4. includeonly in table attributes
9086 ### Token Stream Patcher tests
9088 ### These tests won't always pass wt2wt and other modes because
9089 ### on serialization, the table will be output on a new line.
9090 ### For now, we are blacklisting them, and using this to test selser.
9094 1. Table tag in SOL posn. should get reparsed correctly with valid TSR
9096 parsoid=wt2html,wt2wt
9098 {{echo|}}{| width = '100%'
9102 <span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":""}},"i":0}}]}'></span>
9103 <table width="100%">
9106 <td>foo</td></tr></tbody></table>
9110 2. Table tag in SOL posn. should get reparsed correctly with valid TSR
9112 parsoid=wt2html,wt2wt
9114 <includeonly>a</includeonly>{| {{{b}}}
9118 <meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"<includeonly>a</includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":"</includeonly>"}'/><span typeof="mw:Param" about="#mwt1" id="mwt1" data-mw="{}">{{{b}}}</span><table about="#mwt1">
9119 <tbody><tr><td>c</td></tr>
9124 ### Testing parsing of templates where a template arg
9125 ### has the same name as the template itself.
9135 Templates: Template Name/Arg clash: 1. Use of positional param
9144 Templates: Template Name/Arg clash: 2. Use of named param
9153 Templates: Template Name/Arg clash: 3. Use of named param with empty input
9162 ### Parsoid-centric tests to stress Parsoid's ability to RT them unchanged
9166 Templates: 1. Simple use
9175 Templates: 2. Inside a block tag
9177 <div>{{echo|Foo}}</div>
9178 <blockquote>{{echo|Foo}}</blockquote>
9181 <blockquote>Foo</blockquote>
9186 Templates: P-wrapping: 1a. Templates on consecutive lines
9197 Templates: P-wrapping: 1b. Templates on consecutive lines
9211 Templates: P-wrapping: 1c. Templates on consecutive lines
9214 {{echo|bar}} <div>baz</div>
9223 Templates: P-wrapping: 1d. Template preceded by comment-only line
9232 <p about="#mwt223" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"Bar"}},"i":0}}]}'>Bar</p>
9236 Templates: Inline Text: 1. Multiple template uses
9238 {{echo|Foo}}bar{{echo|baz}}
9245 Templates: Inline Text: 2. Back-to-back template uses
9247 {{echo|Foo}}{{echo|bar}}
9254 Templates: Block Tags: 1. Multiple template uses
9256 {{echo|<div>Foo</div>}}<div>bar</div>{{echo|<div>baz</div>}}
9258 <div>Foo</div><div>bar</div><div>baz</div>
9263 Templates: Block Tags: 2. Back-to-back template uses
9265 {{echo|<div>Foo</div>}}{{echo|<div>bar</div>}}
9267 <div>Foo</div><div>bar</div>
9272 Templates: Links: 1. Simple example
9274 {{echo|[[Foo|bar]]}}
9276 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">bar</a>
9281 Templates: Links: 2. Generation of link href
9283 [[{{echo|Foo}}|bar]]
9285 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">bar</a>
9290 Templates: Links: 3. Generation of part of a link href
9292 [[Fo{{echo|o}}|bar]]
9296 [[Foo{{echo|bar}}baz]]
9298 [[Foo{{echo|bar}}|bar]]
9300 [[:Foo{{echo|bar}}]]
9302 [[:Foo{{echo|bar}}|bar]]
9304 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">bar</a>
9305 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
9306 </p><p><a href="/index.php?title=Foobarbaz&action=edit&redlink=1" class="new" title="Foobarbaz (page does not exist)">Foobarbaz</a>
9307 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">bar</a>
9308 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
9309 </p><p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">bar</a>
9314 Templates: Links: 4. Multiple templates generating link href
9316 [[{{echo|F}}{{echo|o}}ob{{echo|ar}}]]
9318 <p><a href="/index.php?title=Foobar&action=edit&redlink=1" class="new" title="Foobar (page does not exist)">Foobar</a>
9323 Templates: Links: 5. Generation of link text
9325 [[Foo|{{echo|bar}}]]
9327 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">bar</a>
9332 Templates: Links: 5. Nested templates (only outermost template should be marked)
9334 {{echo|[[{{echo|Foo}}|bar]]}}
9336 <p><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">bar</a>
9341 Templates: HTML Tag: 1. Generation of HTML attr. key
9343 <div {{echo|style}}="color:red;">foo</div>
9345 <div style="color:red;">foo</div>
9350 Templates: HTML Tag: 2. Generation of HTML attr. value
9352 <div style={{echo|'color:red;'}}>foo</div>
9354 <div style="color:red;">foo</div>
9359 Templates: HTML Tag: 3. Generation of HTML attr key and value
9361 <div {{echo|style}}={{echo|'color:red;'}}>foo</div>
9363 <div style="color:red;">foo</div>
9368 Templates: HTML Tag: 4. Generation of starting piece of HTML attr value
9370 <div title="{{echo|This is a long title}} with just one piece templated">foo</div>
9372 <div title="This is a long title with just one piece templated">foo</div>
9377 Templates: HTML Tag: 5. Generation of middle piece of HTML attr value
9379 <div title="This is a long title with just {{echo|one piece}} templated">foo</div>
9381 <div title="This is a long title with just one piece templated">foo</div>
9386 Templates: HTML Tag: 6. Generation of end piece of HTML attr value
9388 <div title="This is a long title with just one piece {{echo|templated}}">foo</div>
9390 <div title="This is a long title with just one piece templated">foo</div>
9395 Templates: HTML Tag: 7. Generation of partial attribute key string
9397 <div st{{echo|yle}}="color:red;">foo</div>
9399 <div style="color:red;">foo</div>
9404 Templates: HTML Tables: 1. Generating start of a HTML table
9406 {{echo|<table><tr><td>foo</td>}}</tr></table>
9408 <table><tr><td>foo</td></tr></table>
9413 Templates: HTML Tables: 2a. Generating middle of a HTML table
9415 <table><tr>{{echo|<td>foo</td>}}</tr></table>
9417 <table><tr><td>foo</td></tr></table>
9422 Templates: HTML Tables: 2b. Generating middle of a HTML table
9424 <table>{{echo|<tr><td>foo</td></tr>}}</table>
9426 <table><tr><td>foo</td></tr></table>
9431 Templates: HTML Tables: 3. Generating end of a HTML table
9433 <table><tr>{{echo|<td>foo</td></tr></table>}}
9435 <table><tr><td>foo</td></tr></table>
9440 Templates: HTML Tables: 4a. Generating a single tag of a HTML table
9442 {{echo|<table>}}<tr><td>foo</td></tr></table>
9444 <table><tr><td>foo</td></tr></table>
9449 Templates: HTML Tables: 4b. Generating a single tag of a HTML table
9451 <table>{{echo|<tr>}}<td>foo</td></tr></table>
9453 <table><tr><td>foo</td></tr></table>
9458 Templates: HTML Tables: 4c. Generating a single tag of a HTML table
9460 <table><tr>{{echo|<td>}}foo</td></tr></table>
9462 <table><tr><td>foo</td></tr></table>
9467 Templates: HTML Tables: 4d. Generating a single tag of a HTML table
9469 <table><tr><td>foo{{echo|</td>}}</tr></table>
9471 <table><tr><td>foo</td></tr></table>
9476 Templates: HTML Tables: 4e. Generating a single tag of a HTML table
9478 <table><tr><td>foo</td>{{echo|</tr>}}</table>
9480 <table><tr><td>foo</td></tr></table>
9485 Templates: HTML Tables: 4f. Generating a single tag of a HTML table
9487 <table><tr><td>foo</td></tr>{{echo|</table>}}
9489 <table><tr><td>foo</td></tr></table>
9494 Templates: HTML Tables: 5. Proper fostering of categories from inside
9496 parsoid=wt2html,wt2wt
9498 <table>[[Category:foo1]]<tr><td>foo</td></tr></table>
9499 <!--Two categories (Bug 50330)-->
9500 <table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>
9502 <link rel="mw:PageProp/Category" href="./Category:Foo1"><table><tbody><tr><td>foo</td></tr></tbody></table>
9503 <!--Two categories (Bug 50330)-->
9504 <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>
9508 Templates: Wiki Tables: 1a. Fostering of entire template content
9516 <tr><td></td></tr></table>
9521 Templates: Wiki Tables: 1b. Fostering of entire template content
9534 <tr><td></td></tr></table>
9539 Templates: Wiki Tables: 2. Fostering of partial template content
9549 <tr><td></td></tr></table>
9554 Templates: Wiki Tables: 3. td-content via multiple templates
9557 {{echo|{{pipe}}a}}{{echo|b}}
9568 Templates: Wiki Tables: 4. Templated tags, no content
9574 <tr><td></td></tr></table>
9579 Templates: Wiki Tables: 5. Templated tags, regular td-tags
9593 Templates: Wiki Tables: 6. Templated tags, templated td-tags
9607 Templates: Lists: Multi-line list-items via templates
9609 *{{echo|a {{nonexistent|
9611 *{{echo|b {{nonexistent|
9615 <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>
9617 <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>
9624 Templates: Ugly nesting: 1. Quotes opened/closed across templates (echo)
9626 {{echo|''a}}{{echo|b''c''d}}{{echo|''e}}
9628 <p><i>ab</i>c<i>d</i>e
9633 Templates: Ugly nesting: 2. Quotes opened/closed across templates (echo_with_span)
9634 (PHP parser generates misnested html)
9636 {{echo_with_span|''a}}{{echo_with_span|b''c''d}}{{echo_with_span|''e}}
9638 <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>
9642 Templates: Ugly nesting: 3. Quotes opened/closed across templates (echo_with_div)
9643 (PHP parser generates misnested html; Parsoid html2wt mode adds newlines between {{echo}}s)
9645 parsoid=wt2html,wt2wt
9647 {{echo_with_div|''a}}{{echo_with_div|b''c''d}}{{echo_with_div|''e}}
9649 <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>
9650 <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>
9651 <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>
9655 Templates: Ugly nesting: 4. Divs opened/closed across templates
9657 a<div>b{{echo|c</div>d}}e
9664 Templates: Ugly templates: 1. Navbox template parses badly leading to table misnesting
9670 |{{echo|foo</table>}}
9674 <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|}"]}'>
9678 <td>foo</td></tr></tbody></table><span about="#mwt1">
9679 </span><span about="#mwt1">|bar</span><span about="#mwt1">
9684 Templates: Ugly templates: 2. Navbox template parses badly leading to table misnesting
9694 <td>1. {{echo|foo </table>}}</td>
9696 <td>2. {{echo|baz </table>}}</td>
9709 <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>"]}'>
9714 <td>1. foo </td></tr></tbody></table></td>
9716 <td>2. baz </td></tr></tbody></table><span about="#mwt2">
9717 </span><span about="#mwt2">
9718 </span><span about="#mwt2">
9719 </span><span about="#mwt2">abc</span><span about="#mwt2">
9720 </span><span about="#mwt2">
9721 </span><span about="#mwt2">
9722 </span><span about="#mwt2">
9723 </span><span about="#mwt2">
9724 </span><span about="#mwt2">
9725 </span><span about="#mwt2">xyz</span><span about="#mwt2">
9726 </span><span about="#mwt2">
9731 Templates: Ugly templates: 3. newline-only template parameter
9740 # This looks like a bug: a single newline triggers p/br for some reason.
9742 Templates: Ugly templates: 4. newline-only template parameter inconsistency
9751 # Bug 64017 -- ugly wikitext with fostered content generates two template ranges that
9752 # have a true overlap (T1-start - T2-start - T1-end - T2-end).
9754 Templates: Ugly templates: 5. Template encapsulation test: Non-trivial overlap of template ranges is properly handled
9760 <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
9761 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
9765 # Bug 64017 -- ugly wikitext with fostered content generates two template ranges
9766 # that are "identical" and generate nesting cycles in the algorithm
9768 Templates: Ugly templates: 6. Template encapsulation test: Cyclical nesting of template ranges is properly handled
9770 {{echo|<table><tr><td><table>}}
9774 <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"}'>
9775 </div><table about="#mwt1" data-parsoid='{"stx":"html"}'>
9776 </table></td></tr></tbody></table>
9780 Parser Functions: 1. Simple example
9789 Parser Functions: 2. Nested use (only outermost should be marked up)
9798 ### Pre-save transform tests
9801 pre-save transform: subst:
9807 This is a test template
9811 pre-save transform: normal template
9821 pre-save transform: nonexistent template
9825 {{thistemplatedoesnotexist}}
9827 {{thistemplatedoesnotexist}}
9832 pre-save transform: subst magic variables
9841 # This is bug 89, which I fixed. -- wtm
9843 pre-save transform: subst: templates with parameters
9847 {{subst:paramtest|param="something else"}}
9849 This is a test template with parameter "something else"
9855 <nowiki>'''not wiki'''</nowiki>
9859 pre-save transform: nowiki in subst (bug 1188)
9863 {{subst:nowikitest}}
9865 <nowiki>'''not wiki'''</nowiki>
9870 Template:commenttest
9872 This template has <!-- a comment --> in it.
9876 pre-save transform: comment in subst (bug 1936)
9880 {{subst:commenttest}}
9882 This template has <!-- a comment --> in it.
9886 pre-save transform: unclosed tag
9890 <nowiki>'''not wiki'''
9892 <nowiki>'''not wiki'''
9896 pre-save transform: mixed tag case
9900 <NOwiki>'''not wiki'''</noWIKI>
9902 <NOwiki>'''not wiki'''</noWIKI>
9906 pre-save transform: unclosed comment in <nowiki>
9910 wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
9912 wiki<nowiki>nowiki<!--nowiki</nowiki>wiki
9915 # Leading @ in this template definition works around a limitation
9916 # in parsoid's parserTests which otherwise strips the <span> from the
9917 # result (confusing it for a template wrapper)
9921 @<span onmouseover="alert('crap')">Oh no</span>
9925 (confirming safety of fix for subst bug 1936)
9927 {{Template:dangerous}}
9929 <p>@<span>Oh no</span>
9934 pre-save transform: comment containing gallery (bug 5024)
9938 <!-- <gallery>data</gallery> -->
9940 <!-- <gallery>data</gallery> -->
9944 pre-save transform: comment containing extension
9948 <!-- <tag>data</tag> -->
9950 <!-- <tag>data</tag> -->
9954 pre-save transform: comment containing nowiki
9958 <!-- <nowiki>data</nowiki> -->
9960 <!-- <nowiki>data</nowiki> -->
9964 pre-save transform: <noinclude> in subst (bug 3298)
9974 pre-save transform: <onlyinclude> in subst (bug 3298)
9986 {{<includeonly>subst:</includeonly>Includes}}
9990 Template:SafeSubstTest
9992 {{<includeonly>safesubst:</includeonly>Includes}}
9996 bug 22297: safesubst: works during PST
10000 {{subst:SafeSubstTest}}{{safesubst:SubstTest}}
10006 bug 22297: safesubst: works during normal parse
10015 subst: does not work during normal parse
10019 <p>{{subst:Includes}}
10024 pre-save transform: context links ("pipe trick")
10028 [[Article (context)|]]
10031 [[Bar:Article (context)|]]
10032 [[:Bar:Article (context)|]]
10034 [[|Article (context)]]
10038 [[Article (context)|Article]]
10039 [[Bar:Article|Article]]
10040 [[:Bar:Article|Article]]
10041 [[Bar:Article (context)|Article]]
10042 [[:Bar:Article (context)|Article]]
10044 [[Article (context)]]
10045 [[Bar:X (Y) Z|X (Y) Z]]
10046 [[:Bar:X (Y) Z|X (Y) Z]]
10050 pre-save transform: context links ("pipe trick") with interwiki prefix
10054 [[interwiki:Article|]]
10055 [[:interwiki:Article|]]
10056 [[interwiki:Bar:Article|]]
10057 [[:interwiki:Bar:Article|]]
10059 [[interwiki:Article|Article]]
10060 [[:interwiki:Article|Article]]
10061 [[interwiki:Bar:Article|Bar:Article]]
10062 [[:interwiki:Bar:Article|Bar:Article]]
10066 pre-save transform: context links ("pipe trick") with parens in title
10068 pst title=[[Somearticle (context)]]
10072 [[Article (context)|Article]]
10076 pre-save transform: context links ("pipe trick") with comma in title
10078 pst title=[[Someplace, Somewhere]]
10081 [[Otherplace, Elsewhere|]]
10082 [[Otherplace, Elsewhere, Anywhere|]]
10084 [[Otherplace, Somewhere|Otherplace]]
10085 [[Otherplace, Elsewhere|Otherplace]]
10086 [[Otherplace, Elsewhere, Anywhere|Otherplace]]
10090 pre-save transform: context links ("pipe trick") with parens and comma
10092 pst title=[[Someplace (IGNORED), Somewhere]]
10095 [[Otherplace (place), Elsewhere|]]
10097 [[Otherplace, Somewhere|Otherplace]]
10098 [[Otherplace (place), Elsewhere|Otherplace]]
10102 pre-save transform: context links ("pipe trick") with comma and parens
10104 pst title=[[Who, me? (context)]]
10107 [[Me, Myself, and I (1937 song)|]]
10109 [[Yes, you. (context)|Yes, you.]]
10110 [[Me, Myself, and I (1937 song)|Me, Myself, and I]]
10114 pre-save transform: context links ("pipe trick") with namespace
10116 pst title=[[Ns:Somearticle]]
10120 [[Ns:Article|Article]]
10124 pre-save transform: context links ("pipe trick") with namespace and parens
10126 pst title=[[Ns:Somearticle (context)]]
10130 [[Ns:Article (context)|Article]]
10134 pre-save transform: context links ("pipe trick") with namespace and comma
10136 pst title=[[Ns:Somearticle, Context, Whatever]]
10140 [[Ns:Article, Context, Whatever|Article]]
10144 pre-save transform: context links ("pipe trick") with namespace, comma and parens
10146 pst title=[[Ns:Somearticle, Context (context)]]
10150 [[Ns:Article (context)|Article]]
10154 pre-save transform: context links ("pipe trick") with namespace, parens and comma
10156 pst title=[[Ns:Somearticle (IGNORED), Context]]
10160 [[Ns:Article, Context|Article]]
10164 pre-save transform: context links ("pipe trick") with full-width parens and no space (Japanese and Chinese style, bug 30149)
10168 [[Article(context)|]]
10169 [[Bar:Article(context)|]]
10170 [[:Bar:Article(context)|]]
10171 [[|Article(context)]]
10175 [[Article(context)|Article]]
10176 [[Bar:Article(context)|Article]]
10177 [[:Bar:Article(context)|Article]]
10178 [[Article(context)]]
10179 [[Bar:X(Y)Z|X(Y)Z]]
10180 [[:Bar:X(Y)Z|X(Y)Z]]
10184 pre-save transform: context links ("pipe trick") with full-width parens and space (Japanese and Chinese style, bug 30149)
10188 [[Article (context)|]]
10189 [[Bar:Article (context)|]]
10190 [[:Bar:Article (context)|]]
10191 [[|Article (context)]]
10195 [[Article (context)|Article]]
10196 [[Bar:Article (context)|Article]]
10197 [[:Bar:Article (context)|Article]]
10198 [[Article (context)]]
10199 [[Bar:X (Y) Z|X (Y) Z]]
10200 [[:Bar:X (Y) Z|X (Y) Z]]
10204 pre-save transform: context links ("pipe trick") with parens and no space (Korean style, bug 30149)
10208 [[Article(context)|]]
10209 [[Bar:Article(context)|]]
10210 [[:Bar:Article(context)|]]
10211 [[|Article(context)]]
10215 [[Article(context)|Article]]
10216 [[Bar:Article(context)|Article]]
10217 [[:Bar:Article(context)|Article]]
10218 [[Article(context)]]
10219 [[Bar:X(Y)Z|X(Y)Z]]
10220 [[:Bar:X(Y)Z|X(Y)Z]]
10224 pre-save transform: context links ("pipe trick") with commas (bug 21660)
10228 [[Article (context), context|]]
10229 [[Article (context),context|]]
10230 [[Bar:Article (context), context|]]
10231 [[Bar:Article (context),context|]]
10232 [[:Bar:Article (context), context|]]
10233 [[:Bar:Article (context),context|]]
10235 [[Article (context), context|Article]]
10236 [[Article (context),context|Article]]
10237 [[Bar:Article (context), context|Article]]
10238 [[Bar:Article (context),context|Article]]
10239 [[:Bar:Article (context), context|Article]]
10240 [[:Bar:Article (context),context|Article]]
10244 pre-save transform: trim trailing empty lines
10248 Empty lines are trimmed
10254 Empty lines are trimmed
10258 pre-save transform: Signature expansion
10263 * <noinclude>~~~</noinclude>
10264 * <includeonly>~~~</includeonly>
10265 * <onlyinclude>~~~</onlyinclude>
10267 * [[Special:Contributions/127.0.0.1|127.0.0.1]]
10268 * <noinclude>[[Special:Contributions/127.0.0.1|127.0.0.1]]</noinclude>
10269 * <includeonly>[[Special:Contributions/127.0.0.1|127.0.0.1]]</includeonly>
10270 * <onlyinclude>[[Special:Contributions/127.0.0.1|127.0.0.1]]</onlyinclude>
10275 pre-save transform: Signature expansion in nowiki tags (bug 93)
10281 <nowiki>~~~~</nowiki>
10283 <includeonly><nowiki>~~~~</nowiki></includeonly>
10285 <noinclude><nowiki>~~~~</nowiki></noinclude>
10287 <onlyinclude><nowiki>~~~~</nowiki></onlyinclude>
10289 {{subst:Foo}} shall be converted to FOO
10291 As well as inside noinclude/onlyinclude
10292 <noinclude>{{subst:Foo}}</noinclude>
10293 <onlyinclude>{{subst:Foo}}</onlyinclude>
10295 But not inside includeonly
10296 <includeonly>{{subst:Foo}}</includeonly>
10300 <nowiki>~~~~</nowiki>
10302 <includeonly><nowiki>~~~~</nowiki></includeonly>
10304 <noinclude><nowiki>~~~~</nowiki></noinclude>
10306 <onlyinclude><nowiki>~~~~</nowiki></onlyinclude>
10308 FOO shall be converted to FOO
10310 As well as inside noinclude/onlyinclude
10311 <noinclude>FOO</noinclude>
10312 <onlyinclude>FOO</onlyinclude>
10314 But not inside includeonly
10315 <includeonly>{{subst:Foo}}</includeonly>
10319 Parsoid: Recognize nowiki with trailing space in tags
10323 <nowiki ><div>[[foo]]</nowiki >
10331 <p><span typeof="mw:Nowiki"><div>[[foo]]</span></p>
10338 Parsoid: Recognize nowiki with odd capitalization
10342 <noWikI ><div>[[foo]]</Nowiki >
10344 <p><span typeof="mw:Nowiki"><div>[[foo]]</span></p>
10349 Parsoid: Escape nowiki with trailing space in tags
10353 <nowiki > foo </nowiki >
10359 <p><nowiki > foo </nowiki ></p>
10360 <p>a<nowiki />b</p>
10361 <p>c<nowiki/ >d</p>
10365 Parsoid: Escape weird noWikI capitalizations
10369 <noWikI > foo </NoWikI >
10371 <p><noWikI > foo </NoWikI ></p>
10375 ### Message transform tests
10378 message transform: magic variables
10388 message transform: should not transform wiki markup
10398 message transform: <noinclude> in transcluded template (bug 4926)
10408 message transform: <onlyinclude> in transcluded template (bug 4926)
10418 {{#special:}} page name, known
10422 {{#special:Recentchanges}}
10424 Special:RecentChanges
10428 {{#special:}} page name with subpage, known
10432 {{#special:Recentchanges/param}}
10434 Special:RecentChanges/param
10438 {{#special:}} page name, unknown
10442 {{#special:foobar nonexistent}}
10444 Special:Foobar nonexistent
10448 {{#speciale:}} page name, known
10452 {{#speciale:Recentchanges}}
10454 Special:RecentChanges
10458 {{#speciale:}} page name with subpage, known
10462 {{#speciale:Recentchanges/param}}
10464 Special:RecentChanges/param
10468 {{#speciale:}} page name, unknown
10472 {{#speciale:foobar nonexistent}}
10474 Special:Foobar_nonexistent
10480 ### For Parsoid-specific tests, see
10481 #### https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
10486 parsoid=wt2html,wt2wt,html2html
10488 [[Image:foobar.jpg]]
10490 <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>
10493 <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>
10498 Simple image (using File: namespace, now canonical)
10500 [[File:Foobar.jpg]]
10502 <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>
10505 <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>
10510 Right-aligned image
10512 [[File:Foobar.jpg|right]]
10514 <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>
10517 <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>
10523 [[File:Foobar.jpg|right|Caption text]]
10525 <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>
10528 <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>
10532 Image with caption, bug 53312 #1
10534 [[File:Foobar.jpg|right|Caption page stuff]]
10536 <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>
10539 <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>
10543 Image with caption, bug 53312 #2
10545 [[File:Foobar.jpg|right|Caption page=]]
10547 <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>
10550 <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>
10554 Image with caption, bug 53312 #3
10556 [[File:Foobar.jpg|right|Caption page=stuff]]
10558 <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>
10561 <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>
10565 Allow empty links in image captions (Bug 60753)
10569 [[File:Foobar.jpg|thumb|Caption [[Link1]]
10574 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></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>
10577 <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"}],"dsr":[0,59,2,2]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"dsr":[2,null,null,null]}'><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 data-parsoid='{"dsr":[null,57,null,null]}'>Caption <a rel="mw:WikiLink" href="./Link1" data-parsoid='{"stx":"simple","a":{"href":"./Link1"},"sa":{"href":"Link1"},"dsr":[32,41,2,2]}'>Link1</a>
10579 <a rel="mw:WikiLink" href="./Link2" data-parsoid='{"stx":"simple","a":{"href":"./Link2"},"sa":{"href":"Link2"},"dsr":[47,56,2,2]}'>Link2</a>
10580 </figcaption></figure>
10584 Link with empty target
10593 Image with empty attribute
10595 parsoid=wt2html,wt2wt,html2html
10597 [[File:Foobar.jpg|right||Caption text]]
10599 <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>
10602 <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>
10606 1. Block image with individual attributes from templates
10608 [[File:Foobar.jpg|thumb|{{echo|137px}}|This is a caption]]
10610 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption</div></div></div>
10613 <figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"thumb"}],["width",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 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}}]}\" 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]}\">137px</span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
10617 2. Block Image with individual attributes from templates
10619 [[File:Foobar.jpg|{{echo|thumb}}|{{echo|137px}}|This is a caption]]
10621 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption</div></div></div>
10624 <figure typeof="mw:Image/Thumb mw:ExpandedAttrs" data-mw='{"attribs":[["thumbnail",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 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}}]}\" 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]}\">thumb</span>"}],["width",{"html":"<span about=\"#mwt2\" typeof=\"mw:Transclusion\" 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}}]}\" 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]}\">137px</span>"}]]}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="16" width="137"/></a><figcaption>This is a caption</figcaption></figure>
10628 3. Inline image with individual attributes from templates
10630 [[File:Foobar.jpg|{{echo|50px}}]]
10632 <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>
10635 <p><span typeof="mw:Image mw:ExpandedAttrs" about="#mwt2" data-mw='{"attribs":[["width",{"html":"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 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}}]}\" 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]}\">50px</span>"}]]}' data-parsoid='{"optList":[{"ck":"width","ak":"{{echo|50px}}"}]}'><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>
10638 ## Parsoid does not provide editing support for images where templates produce multiple image attributes.
10639 ## To signal this, we add a 'mw:Placeholder' type to such images. This could change in the future.
10641 Image with multiple attributes from the same template
10643 [[File:Foobar.jpg|{{image_attribs}}]]
10645 <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>
10648 <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>
10652 Image with link tails
10656 123[[File:Foobar.jpg]]456
10657 123[[File:Foobar.jpg|right]]456
10658 123[[File:Foobar.jpg|thumb]]456
10660 <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
10662 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
10663 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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>456
10666 <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>
10667 123<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>456
10668 123<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>456
10672 Image with multiple captions -- only last one is accepted
10674 [[File:Foobar.jpg|right|Caption1 - ignored|[[Caption2]] - ignored|Caption3 - accepted]]
10676 <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>
10679 <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>
10683 Image with multiple widths -- use last
10685 [[File:Foobar.jpg|200px|300px|caption]]
10687 <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>
10690 <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>
10694 Image with multiple alignments -- use first (bug 48664)
10698 [[File:Foobar.jpg|thumb|left|right|center|caption]]
10700 [[File:Foobar.jpg|middle|text-top|caption]]
10702 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
10703 <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>
10706 <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>
10707 <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>
10711 Image with width attribute at different positions
10713 [[File:Foobar.jpg|200px|right|Caption]]
10714 [[File:Foobar.jpg|right|200px|Caption]]
10715 [[File:Foobar.jpg|right|Caption|200px]]
10717 <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>
10718 <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>
10719 <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>
10722 <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>
10723 <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>
10724 <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>
10727 # a sad bit of backward-compatibility
10729 Image with size specified with pxpx (bug 13500, 51628)
10731 parsoid=wt2html,wt2wt,html2html
10733 [[File:Foobar.jpg|20pxpx]]
10734 [[File:Foobar.jpg|200x20pxpx]]
10736 <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>
10737 <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>
10740 <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>
10744 Image with link parameter, wiki target
10746 [[File:Foobar.jpg|link=Main Page]]
10748 <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>
10751 <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>
10754 # parsoid bug 49293 (part 1)
10756 Image with link parameter, URL target
10758 [[File:Foobar.jpg|link=http://example.com/]]
10760 <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>
10763 <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>
10766 # parsoid bug 49293 (part 2)
10768 Image with link parameter, protocol-less URL target
10770 [[File:Foobar.jpg|link=//example.com/]]
10772 <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>
10775 <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>
10779 Image with link parameter, wgExternalLinkTarget
10781 [[Image:foobar.jpg|link=http://example.com/]]
10783 wgExternalLinkTarget='foobar'
10785 <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>
10790 Image with link parameter, wgNoFollowLinks set to false
10792 [[Image:foobar.jpg|link=http://example.com/]]
10794 wgNoFollowLinks=false
10796 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
10801 Image with link parameter, wgNoFollowDomainExceptions
10803 [[Image:foobar.jpg|link=http://example.com/]]
10805 wgNoFollowDomainExceptions='example.com'
10807 <p><a href="http://example.com/"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
10812 Image with link parameter, wgExternalLinkTarget, unnamed parameter
10814 [[Image:foobar.jpg|link=http://example.com/|Title]]
10816 wgExternalLinkTarget='foobar'
10818 <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>
10823 Image with empty link parameter
10825 [[File:Foobar.jpg|link=]]
10827 <p><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" />
10830 <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>
10834 Image with link parameter (wiki target) and unnamed parameter
10836 [[File:Foobar.jpg|link=Main_Page|Title]]
10838 <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>
10841 <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>
10845 Image with link parameter (URL target) and unnamed parameter
10847 [[File:Foobar.jpg|link=http://example.com/|Title]]
10849 <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>
10852 <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>
10856 Thumbnail image with link parameter
10859 parsoid=wt2html,wt2wt,html2html
10861 [[File:Foobar.jpg|thumb|link=http://example.com/|Title]]
10863 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10866 <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>
10870 Manually-specified thumbnail image
10874 [[File:Foobar.jpg|thumb=Thumb.png|Title]]
10876 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10879 <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>
10883 Manually-specified thumbnail image with explicit link to wiki page
10886 parsoid=wt2html,wt2wt,html2html
10888 [[File:Foobar.jpg|thumb=Thumb.png|link=Main_Page|Title]]
10890 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10893 <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>
10897 Manually-specified thumbnail image with explicit link to url
10900 parsoid=wt2html,wt2wt,html2html
10902 [[File:Foobar.jpg|thumb=Thumb.png|link=http://example.com|Title]]
10904 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10907 <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>
10911 Manually-specified thumbnail image with explicit no link
10914 parsoid=wt2html,wt2wt,html2html
10916 [[File:Foobar.jpg|thumb=Thumb.png|link=|Title]]
10918 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10921 <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>
10925 Manually-specified thumbnail image with explicit link and alt text
10928 parsoid=wt2html,wt2wt,html2html
10930 [[File:Foobar.jpg|thumb=Thumb.png|link=Main_Page|alt=alttext|Title]]
10932 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Title</div></div></div>
10935 <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>
10939 Image with frame and link
10941 parsoid=wt2html,wt2wt,html2html
10943 [[File:Foobar.jpg|frame|left|This is a test image [[Main Page]]]]
10945 <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>
10948 <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">Main Page</a></figcaption></figure>
10952 Image with frame and link and explicit alt
10954 parsoid=wt2html,wt2wt,html2html
10956 [[Image:Foobar.jpg|frame|left|This is a test image [[Main Page]]|alt=Altitude]]
10958 <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>
10961 <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">Main Page</a></figcaption></figure>
10965 Image with wiki markup in implicit alt
10967 parsoid=wt2html,wt2wt,html2html
10969 [[Image:Foobar.jpg|testing '''bold''' in alt]]
10971 [[Image:Foobar.jpg|alt=testing '''bold''' in alt]]
10973 <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>
10974 </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>
10977 <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>
10978 <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>
10981 ###################
10982 # Conflicting image format options.
10983 # First option specified should 'win'.
10984 # All three cases in each test should be identical.
10987 Image with 'frameless' first.
10989 parsoid=wt2html,wt2wt,html2html
10991 [[File:Foobar.jpg|frameless|caption]]
10993 [[File:Foobar.jpg|frameless|frame|caption]]
10995 [[File:Foobar.jpg|frameless|thumb|caption]]
10997 <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>
10998 </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>
10999 </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>
11002 <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>
11003 <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>
11004 <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>
11008 Image with 'frame' first.
11010 parsoid=wt2html,wt2wt,html2html
11012 [[File:Foobar.jpg|frame|caption]]
11013 [[File:Foobar.jpg|frame|frameless|caption]]
11014 [[File:Foobar.jpg|frame|thumb|caption]]
11016 <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>
11017 <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>
11018 <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>
11021 <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><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><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>
11025 Image with 'thumb' first.
11027 parsoid=wt2html,wt2wt,html2html
11029 [[File:Foobar.jpg|thumb|caption]]
11030 [[File:Foobar.jpg|thumb|frameless|caption]]
11031 [[File:Foobar.jpg|thumb|frame|caption]]
11033 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11034 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11035 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11038 <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><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><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>
11041 ###################
11043 # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
11044 # and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
11045 # Foobar has actual size of 1941x220
11046 # 1. Thumbs & frameless always reduce, can't be enlarged unless it's
11047 # a scalable format.
11048 # 2. Framed images always ignore size options; always render at default size.
11049 # 3. "Unspecified format" and border are the only types which can be
11053 Image: "unspecified format" and border enlarge
11055 parsoid=wt2html,wt2wt,html2html
11057 [[File:Foobar.jpg|2000px]]
11059 [[File:Foobar.jpg|border|2000px]]
11061 <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>
11062 </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>
11065 <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>
11066 <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>
11070 Image: "unspecified format" and border reduce
11072 parsoid=wt2html,wt2wt,html2html
11074 [[File:Foobar.jpg|1000px]]
11076 [[File:Foobar.jpg|border|1000px]]
11078 <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>
11079 </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>
11082 <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>
11083 <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>
11087 Image: thumbs reduce
11089 parsoid=wt2html,wt2wt,html2html
11091 [[File:Foobar.jpg|thumb|50px]]
11093 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
11096 <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>
11100 Image: bitmap thumbs can't be enlarged past original size, but vector can.
11102 parsoid=wt2html,wt2wt,html2html
11104 [[File:Foobar.jpg|thumb|2000px]]
11106 [[File:Foobar.svg|thumb|2000px]]
11108 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
11109 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
11112 <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>
11113 <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>
11117 Image: frameless can reduce in size
11119 parsoid=wt2html,wt2wt,html2html
11121 [[File:Foobar.jpg|frameless|50px]]
11123 <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>
11126 <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>
11130 Image: bitmap frameless can't be enlarged past original size, but vector can
11132 parsoid=wt2html,wt2wt,html2html
11134 [[File:Foobar.jpg|frameless|2000px]]
11136 [[File:Foobar.svg|frameless|2000px]]
11138 <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>
11139 </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>
11142 <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>
11143 <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>
11147 Image: framed images are always unscaled.
11149 parsoid=wt2html,wt2wt,html2html
11151 [[File:Foobar.jpg|frame]]
11153 [[File:Foobar.jpg|frame|50px]]
11155 [[File:Foobar.jpg|frame|50x50px]]
11157 [[File:Foobar.jpg|frame|2000px]]
11159 <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>
11160 <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>
11161 <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>
11162 <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>
11165 <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><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><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><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>
11168 ###################
11171 Link to image page- image page normally doesn't exists, hence edit link
11172 Add test with existing image page
11173 #<p><a href="/wiki/File:Test" title="Image:Test">Image:test</a>
11177 <p><a href="/index.php?title=File:Test&action=edit&redlink=1" class="new" title="File:Test (page does not exist)">Image:test</a>
11182 bug 18784 Link to non-existent image page with caption should use caption as link text
11184 [[:Image:test|caption]]
11186 <p><a href="/index.php?title=File:Test&action=edit&redlink=1" class="new" title="File:Test (page does not exist)">caption</a>
11191 Frameless image caption with a free URL
11193 [[File:Foobar.jpg|http://example.com]]
11195 <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>
11198 <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>
11202 Thumbnail image caption with a free URL
11206 [[File:Foobar.jpg|thumb|http://example.com]]
11208 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
11211 <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>
11215 Thumbnail image caption with a free URL and explicit alt
11218 parsoid=wt2html,wt2wt,html2html
11220 [[File:Foobar.jpg|thumb|http://example.com|alt=Alteration]]
11222 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a></div></div></div>
11225 <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>
11229 SVG thumbnails with no language set
11232 [[File:Foobar.svg|thumb|caption]]
11234 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11237 <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>
11241 SVG thumbnails with language de
11243 parsoid=wt2html,wt2wt,html2html
11245 [[File:Foobar.svg|thumb|caption|lang=de]]
11247 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11250 <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>
11254 SVG thumbnails with invalid language code
11256 parsoid=wt2html,wt2wt,html2html
11258 [[File:Foobar.svg|thumb|caption|lang=invalid.language.code]]
11260 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>lang=invalid.language.code</div></div></div>
11263 <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>
11267 BUG 1887: A ISBN with a thumbnail
11269 [[File:Foobar.jpg|thumb|ISBN 1235467890]]
11271 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div><a href="/wiki/Special:BookSources/1235467890" class="internal mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
11274 <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>
11278 BUG 1887: A RFC with a thumbnail
11280 [[File:Foobar.jpg|thumb|This is RFC 12354]]
11282 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
11285 <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>
11289 BUG 1887: A mailto link with a thumbnail
11291 [[File:Foobar.jpg|thumb|Please mailto:nobody@example.com]]
11293 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
11296 <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>
11299 # Pending resolution to bug 368
11301 BUG 648: Frameless image caption with a link
11303 [[File:Foobar.jpg|text with a [[link]] in it]]
11305 <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>
11308 <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>
11312 BUG 648: Frameless image caption with a link (suffix)
11314 [[File:Foobar.jpg|text with a [[link]]foo in it]]
11316 <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>
11319 <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>
11323 BUG 648: Frameless image caption with an interwiki link
11325 [[File:Foobar.jpg|text with a [[MeatBall:Link]] in it]]
11327 <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>
11330 <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>
11334 BUG 648: Frameless image caption with a piped interwiki link
11336 [[File:Foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
11338 <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>
11341 <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>
11345 Escape HTML special chars in image alt text
11347 [[File:Foobar.jpg|& < > "]]
11349 <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>
11352 <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>
11356 BUG 499: Alt text should have Ӓ, not &1234;
11358 [[File:Foobar.jpg|♀]]
11360 <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>
11363 <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>
11367 Broken image caption with link
11369 parsoid=wt2html,wt2wt,html2html
11371 [[Image:Foobar.jpg|thumb|This is a broken caption. But [[Main Page|this]] is just an ordinary link.
11373 <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.
11376 <p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a rel="mw:WikiLink" href="Main_Page">this</a> is just an ordinary link.</p>
11380 Image caption containing another image
11382 [[File:Foobar.jpg|thumb|This is a caption with another [[File:Thumb.png|image]] inside it!]]
11384 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></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>
11387 <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>
11391 Image: caption containing a newline
11393 [[File:Foobar.jpg|This
11396 <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>
11399 <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>
11403 Image: caption containing leading space
11404 (The leading space should not trigger nowiki escaping in wt2wt mode)
11406 [[File:Foobar.jpg|thumb| bar]]
11408 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>bar</div></div></div>
11411 <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>
11415 Image: caption containing a table
11417 parsoid=wt2html,wt2wt,html2html
11419 [[Image:Foobar.jpg|thumb|200px|This is an example image thumbnail caption with a table
11425 and some more text.]]
11427 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></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>
11430 <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
11433 <tr><th>Foo </th><th>Bar</th></tr>
11436 <td>Bar1</td></tr></tbody></table>and some more text.</figcaption></figure>
11440 Bug 3090: External links other than http: in image captions
11442 [[File:Foobar.jpg|thumb|200x200px|This caption has [irc://example.net irc] and [https://example.com Secure] ext links in it.]]
11444 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></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>
11447 <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>
11453 parsoid=wt2html,wt2wt,html2html
11455 [[Image:foobar.jpg|a|class=b]]
11457 <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>
11460 <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>
11464 Localized image handling (1).
11466 parsoid=wt2html,wt2wt,html2html
11469 [[Archivo:Foobar.jpg|izquierda|enlace=foo|caption]]
11471 <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>
11474 <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>
11478 Localized image handling (2).
11481 parsoid=wt2html,wt2wt,html2html
11484 [[Archivo:Foobar.jpg|miniatura|izquierda|enlace=foo|caption]]
11486 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11489 <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>
11493 "border", "frameless" and "class" attributes on an image.
11496 parsoid=wt2html,wt2wt,html2html
11498 [[File:Foobar.jpg|frameless|border|class=extra|caption]]
11500 <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>
11503 <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>
11506 # Note that 'right' is the default alignment, despite the misspelled 'righ' below
11508 Invalid image attributes (bug 62500)
11511 parsoid=wt2html,wt2wt,html2html
11513 [[File:Foobar.jpg|thumb|float|left|caption]]
11515 [[File:Foobar.jpg|thumb|righ|caption]]
11517 [[File:Foobar.jpg|bogus1|thumb|bogus2|left|bogus3|caption]]
11519 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11520 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11521 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
11524 <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><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><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>
11530 #REDIRECT [[File:Barfoo.jpg]]
11536 [[Image:Barfoo.jpg]]
11538 <p><a href="/wiki/File:Barfoo.jpg" title="File:Barfoo.jpg">File:Barfoo.jpg</a>
11543 Missing image with uploads disabled
11547 [[Image:Foobaz.jpg]]
11549 <p><a href="/wiki/File:Foobaz.jpg" title="File:Foobaz.jpg">File:Foobaz.jpg</a>
11553 # Parsoid-specific testing for images
11554 # https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
11555 # Currently imperfect due to a flaw in the Parsoid testrunner
11557 # THESE TESTS SHOULD BE MOVED UP and merged with the php-specific
11561 Parsoid-specific image handling - simple image with size and middle alignment
11563 [[File:Foobar.jpg|middle|50px]]
11565 <p><span class="mw-valign-middle" typeof="mw:Image">
11566 <a href="File:Foobar.jpg">
11567 <img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
11574 Parsoid-specific image handling - simple image with size, middle alignment,
11575 non-standard namespace alias
11577 parsoid=wt2wt,wt2html,html2html
11579 [[Image:Foobar.jpg|middle|50px]]
11581 <p><span class="mw-valign-middle" typeof="mw:Image">
11582 <a href="File:Foobar.jpg">
11583 <img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
11590 Parsoid-specific image handling - simple image with size and middle alignment
11593 [[File:Foobar.jpg|50px|middle]]
11595 <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>
11599 Parsoid-specific image handling - simple image with size and middle alignment
11600 and non-standard namespace name
11602 parsoid=wt2html,wt2wt,html2html
11604 [[Image:Foobar.jpg|50px|middle]]
11606 <p><span class="mw-valign-middle" typeof="mw:Image">
11607 <a href="File:Foobar.jpg">
11608 <img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
11615 Parsoid-specific image handling - simple image with both sizes, a baseline alignment, and a caption
11617 [[File:Foobar.jpg|500x10px|baseline|caption]]
11619 <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>
11623 Parsoid-specific image handling - simple image with border and size spec
11625 [[File:Foobar.jpg|50px|border|caption]]
11627 <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>
11631 Parsoid-specific image handling - thumbnail with halign, valign, and caption
11633 [[File:Foobar.jpg|left|baseline|thumb|caption content]]
11635 <figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb">
11636 <a href="File:Foobar.jpg">
11637 <img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="25" width="220" />
11639 <figcaption>caption content</figcaption>
11644 Parsoid-specific image handling - thumbnail with halign, valign, and caption
11647 [[File:Foobar.jpg|thumb|left|baseline|caption content]]
11649 <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>
11653 Parsoid-specific image handling - thumbnail with specific size, halign, valign, and caption
11655 [[Image:Foobar.jpg|right|middle|thumb|50x50px|caption]]
11657 <figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb">
11658 <a href="File:Foobar.jpg">
11659 <img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" />
11661 <figcaption>caption</figcaption>
11666 Parsoid-specific image handling - thumbnail with specific size, halign,
11667 valign, and caption (existing content)
11669 [[File:Foobar.jpg|thumb|50x50px|right|middle|caption]]
11671 <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>
11675 Parsoid-specific image handling - framed image with specific size and caption
11678 parsoid=wt2html,wt2wt,html2html
11680 [[File:Foobar.jpg|frame|500x50px|caption]]
11682 <figure typeof="mw:Image/Frame">
11683 <a href="File:Foobar.jpg">
11684 <img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941" />
11686 <figcaption>caption</figcaption>
11691 Parsoid-specific image handling - framed image with specific size, halign, valign, and caption
11694 parsoid=wt2html,wt2wt,html2html
11696 [[File:Foobar.jpg|left|baseline|frame|500x50px|caption]]
11698 <figure class="mw-halign-left mw-valign-baseline" typeof="mw:Image/Frame">
11699 <a href="File:Foobar.jpg">
11700 <img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941" />
11702 <figcaption>caption</figcaption>
11707 Parsoid-specific image handling - frameless image with specific size, border, and caption
11709 [[File:Foobar.jpg|frameless|442x50px|border|caption]]
11711 <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>
11715 Parsoid-specific image handling - simple image with a formatted caption
11717 [[File:Foobar.jpg|<table><tr><td>a</td><td>b</td></tr><tr><td>c</td></tr></table>]]
11719 <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>"}'>
11720 <a href="File:Foobar.jpg">
11721 <img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941">
11726 Parsoid-specific image handling - caption with a template in it
11728 [[File:Foobar.jpg|thumb|200x23px|This caption has a {{echo|transclusion}} in it.]]
11730 <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>
11734 Parsoid-specific image handling - caption with unbalanced tags in it
11736 parsoid=wt2html,wt2wt,html2html
11739 [[File:Foobar.jpg|thumb|200x200px|This caption has a <center>unbalanced tag in it.]]
11743 <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>
11748 Parsoid-specific image handling - empty caption (1)
11750 parsoid=wt2html,wt2wt
11752 [[File:Foobar.jpg|thumb|]]
11754 <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>
11757 # empty captions don't get serialized unless we're in the "round trip" case
11759 Parsoid-specific image handling - empty caption (2)
11763 <figure class="mw-default-size" typeof="mw:Image/Thumb">
11764 <a href="File:Foobar.jpg">
11765 <img resource="./File:Foobar.jpg"
11766 src="//example.com/images/3/3a/Foobar.jpg"
11767 height="25" width="220"/>
11769 <figcaption></figcaption>
11772 [[File:Foobar.jpg|thumb]]
11776 Parsoid-specific image handling - whitespace caption
11778 [[File:Foobar.jpg|thumb| ]]
11780 <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>
11784 Parsoid-specific image handling - lang option
11787 [[File:Foobar.svg|lang=de|caption]]
11791 <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>
11800 Subpage test/subpage
11808 subpage title=[[Subpage test]]
11812 <p><a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">/subpage</a>
11817 Subpage noslash link
11819 subpage title=[[Subpage test]]
11823 <p><a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">subpage</a>
11827 # TODO: make this PHP-parser compatible!
11829 Relative subpage noslash link
11831 parsoid=wt2wt,wt2html,html2html
11832 subpage title=[[Subpage test/1/2/3/4]]
11838 <p><a rel="mw:WikiLink" href="Subpage_test/1/2/subpage/">subpage</a></p>
11839 <p><a rel="mw:WikiLink" href="Subpage_test/1/2/subpage">Subpage_test/1/2/subpage</a></p>
11843 Parsoid: dot-slash prefixed wikilinks
11853 </p><p>[[././baz/]]
11858 </p><p>[[././baz/]]
11863 Render invalid page names as plain text (bug 51090)
11876 [[{{echo|./../foo}}|bar]]
11877 [[{{echo|foo/.}}|bar]]
11878 [[{{echo|foo/..}}|bar]]
11879 [[{{echo|foo~~~~bar}}]]
11880 [[{{echo|foo>bar}}]]
11881 [[{{echo|foo././bar}}]]
11882 [[{{echo|foo{bar}}]]
11883 [[{{echo|foo}bar}}]]
11884 [[{{echo|foo[bar}}]]
11885 [[{{echo|foo]bar}}]]
11886 [[{{echo|foo<bar}}]]
11888 <p>[[./../foo|bar]]
11898 </p><p>[[./../foo|bar]]
11911 <p>[[./../foo|bar]][[foo�|bar]][[foo/.|bar]][[foo/..|bar]][[foo~~~bar]][[foo>bar]][[foo[bar]][[.]][[..]][[foo././bar]]</p>
11912 <p>[[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"./../foo"}},"i":0}}]}'>./../foo</span>|bar]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo/."}},"i":0}}]}'>foo/.</span>|bar]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo/.."}},"i":0}}]}'>foo/..</span>|bar]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo~~~~bar"}},"i":0}}]}'>foo~~~~bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo>bar"}},"i":0}}]}'>foo>bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo././bar"}},"i":0}}]}'>foo././bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo{bar"}},"i":0}}]}'>foo{bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo}bar"}},"i":0}}]}'>foo}bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo[bar"}},"i":0}}]}'>foo[bar</span>]][[<span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo]bar"}},"i":0}}]}'>foo]bar</span>]][[<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>
11920 <p><a href="/index.php?title=/subpage&action=edit&redlink=1" class="new" title="/subpage (page does not exist)">/subpage</a>
11925 BUG 561: {{/Subpage}}
11927 subpage title=[[Page]]
11931 <p><a href="/index.php?title=Page/Subpage&action=edit&redlink=1" class="new" title="Page/Subpage (page does not exist)">Page/Subpage</a>
11939 Category:MediaWiki User's Guide
11947 [[:Category:MediaWiki User's Guide]]
11949 <p><a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">Category:MediaWiki User's Guide</a>
11958 [[Category:MediaWiki User's Guide]]
11960 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
11964 PAGESINCATEGORY invalid title fatal (r33546 fix)
11966 {{PAGESINCATEGORY:<bogus>}}
11973 Category with different sort key
11977 [[Category:MediaWiki User's Guide|Foo]]
11979 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
11983 Category with identical sort key
11987 [[Category:MediaWiki User's Guide|MediaWiki User's Guide]]
11989 <a href="/wiki/Category:MediaWiki_User%27s_Guide" title="Category:MediaWiki User's Guide">MediaWiki User's Guide</a>
11993 Category with empty sort key
11998 [[Category:MediaWiki User's Guide|]]
12000 [[Category:MediaWiki User's Guide|MediaWiki User's Guide]]
12004 Category with empty sort key and parentheses
12009 [[Category:Foo (bar)|]]
12011 [[Category:Foo (bar)|Foo]]
12015 Category with link tail
12020 123[[Category:Foo]]456
12022 123[[Category:Foo]]456
12026 Category with template
12031 [[Category:{{echo|Foo}}]]
12033 [[Category:{{echo|Foo}}]]
12037 Category with template in sort key
12042 [[Category:Foo|{{echo|Bar}}]]
12044 [[Category:Foo|{{echo|Bar}}]]
12048 Category with template in sort key and title
12053 [[Category:{{echo|Foo}}|{{echo|Bar}}]]
12055 [[Category:{{echo|Foo}}|{{echo|Bar}}]]
12059 Category / paragraph interactions
12061 Foo [[Category:Baz]] Bar
12063 Foo [[Category:Baz]]
12071 [[Category:Baz]] Bar
12084 {{echo|[[Category:Baz]]}}
12099 Parsoid: Serialize link to category page with colon escape
12105 [[:Category:Foo|Bar]]
12108 <a rel="mw:WikiLink" href="Category:Foo">Category:Foo</a>
12109 <a rel="mw:WikiLink" href="Category:Foo">Bar</a>
12114 Parsoid: Link prefix/suffixes aren't applied to category links
12116 parsoid=wt2html,wt2wt,html2html
12121 <p>x<link rel="mw:PageProp/Category" href="Category:Foo">y</p>
12125 Parsoid: Serialize link to file page with colon escape
12131 [[:File:Foo.png|Bar]]
12134 <a rel="mw:WikiLink" href="File:Foo.png">File:Foo.png</a>
12135 <a rel="mw:WikiLink" href="File:Foo.png">Bar</a>
12140 Parsoid: Serialize a genuine category link without colon escape
12145 [[Category:Foo|Bar]]
12147 <link rel="mw:PageProp/Category" href="Category:Foo">
12148 <link rel="mw:PageProp/Category" href="Category:Foo#Bar">
12152 Parsoid: Defaultsort
12156 {{DEFAULTSORT:Foo}}
12158 <meta property="mw:PageProp/categorydefaultsort" content="Foo"/>
12162 ### Inter-language links
12165 Inter-language links
12171 [[zh:食品]]
12173 es:Alimento fr:Nourriture zh:食品
12177 Duplicate interlanguage links (bug 24502)
12193 Basic section headings
12200 ===Smaller headline===
12203 <h2><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>
12206 <h2><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>
12209 <h3><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>
12215 Section headings with TOC
12218 === Subheadline 1 ===
12219 ===== Skipping a level =====
12220 ====== Skipping a level ======
12224 ===Another headline===
12226 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12228 <li class="toclevel-1 tocsection-1"><a href="#Headline_1"><span class="tocnumber">1</span> <span class="toctext">Headline 1</span></a>
12230 <li class="toclevel-2 tocsection-2"><a href="#Subheadline_1"><span class="tocnumber">1.1</span> <span class="toctext">Subheadline 1</span></a>
12232 <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>
12234 <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>
12241 <li class="toclevel-1 tocsection-5"><a href="#Headline_2"><span class="tocnumber">2</span> <span class="toctext">Headline 2</span></a>
12243 <li class="toclevel-2 tocsection-6"><a href="#Another_headline"><span class="tocnumber">2.1</span> <span class="toctext">Another headline</span></a></li>
12249 <h2><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>
12250 <h3><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>
12251 <h5><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>
12252 <h6><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>
12253 <h2><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>
12256 <h3><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>
12260 # perl -e 'print "="x$_," Level $_ heading","="x$_,"\n" for 1..10'
12262 Handling of sections up to level 6 and beyond
12265 == Level 2 Heading==
12266 === Level 3 Heading===
12267 ==== Level 4 Heading====
12268 ===== Level 5 Heading=====
12269 ====== Level 6 Heading======
12270 ======= Level 7 Heading=======
12271 ======== Level 8 Heading========
12272 ========= Level 9 Heading=========
12273 ========== Level 10 Heading==========
12275 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12277 <li class="toclevel-1 tocsection-1"><a href="#Level_1_Heading"><span class="tocnumber">1</span> <span class="toctext">Level 1 Heading</span></a>
12279 <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>
12281 <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>
12283 <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>
12285 <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>
12287 <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>
12288 <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>
12289 <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>
12290 <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>
12291 <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>
12305 <h1><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>
12306 <h2><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>
12307 <h3><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>
12308 <h4><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>
12309 <h5><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>
12310 <h6><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>
12311 <h6><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>
12312 <h6><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>
12313 <h6><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>
12314 <h6><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>
12319 TOC regression (bug 9764)
12323 ==== title 1.1.1 ====
12328 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12330 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
12332 <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>
12334 <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>
12337 <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>
12340 <li class="toclevel-1 tocsection-5"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a>
12342 <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>
12348 <h2><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>
12349 <h3><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>
12350 <h4><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>
12351 <h3><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>
12352 <h2><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>
12353 <h3><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>
12358 TOC with wgMaxTocLevel=3 (bug 6204)
12364 ==== title 1.1.1 ====
12369 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12371 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
12373 <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>
12374 <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>
12377 <li class="toclevel-1 tocsection-5"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a>
12379 <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>
12385 <h2><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>
12386 <h3><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>
12387 <h4><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>
12388 <h3><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>
12389 <h2><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>
12390 <h3><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>
12395 TOC with wgMaxTocLevel=3 and two level four headings (bug 6204)
12401 ====Section 1.1.1====
12402 ====Section 1.1.1.1====
12405 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12407 <li class="toclevel-1 tocsection-1"><a href="#Section_1"><span class="tocnumber">1</span> <span class="toctext">Section 1</span></a>
12409 <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>
12412 <li class="toclevel-1 tocsection-5"><a href="#Section_2"><span class="tocnumber">2</span> <span class="toctext">Section 2</span></a></li>
12416 <h2><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>
12417 <h3><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>
12418 <h4><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>
12419 <h4><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>
12420 <h2><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>
12426 Resolving duplicate section names
12431 <h2><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>
12432 <h2><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>
12437 Resolving duplicate section names with differing case (bug 10721)
12442 <h2><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>
12443 <h2><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>
12455 Template with sections, __NOTOC__
12462 <h2><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>
12463 <h3><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>
12464 <h2><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>
12465 <h2><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>
12470 __NOEDITSECTION__ keyword
12476 <h2><span class="mw-headline" id="Section_1">Section 1</span></h2>
12477 <h2><span class="mw-headline" id="Section_2">Section 2</span></h2>
12482 Link inside a section heading
12484 ==Section with a [[Main Page|link]] in it==
12486 <h2><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>
12491 TOC regression (bug 12077)
12498 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12500 <li class="toclevel-1 tocsection-1"><a href="#title_1"><span class="tocnumber">1</span> <span class="toctext">title 1</span></a>
12502 <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>
12505 <li class="toclevel-1 tocsection-3"><a href="#title_2"><span class="tocnumber">2</span> <span class="toctext">title 2</span></a></li>
12509 <h2><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>
12510 <h3><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>
12511 <h2><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>
12516 BUG 1219 URL next to image (good)
12518 http://example.com [[Image:foobar.jpg]]
12520 <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>
12525 Short headings with trailing space should match behavior of Parser::doHeadings (bug 19910)
12528 The line above must have a trailing space!
12531 But just in case it doesn't...
12533 <h1><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>
12534 <p>The line above must have a trailing space!
12536 <h1><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>
12537 <p>But just in case it doesn't...
12542 Header with special characters (bug 25462)
12544 The tooltips shall not show entities to the user (ie. be double escaped)
12561 <p>The tooltips shall not show entities to the user (ie. be double escaped)
12563 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12565 <li class="toclevel-1 tocsection-1"><a href="#text_.3E_text"><span class="tocnumber">1</span> <span class="toctext">text > text</span></a></li>
12566 <li class="toclevel-1 tocsection-2"><a href="#text_.3C_text"><span class="tocnumber">2</span> <span class="toctext">text < text</span></a></li>
12567 <li class="toclevel-1 tocsection-3"><a href="#text_.26_text"><span class="tocnumber">3</span> <span class="toctext">text & text</span></a></li>
12568 <li class="toclevel-1 tocsection-4"><a href="#text_.27_text"><span class="tocnumber">4</span> <span class="toctext">text ' text</span></a></li>
12569 <li class="toclevel-1 tocsection-5"><a href="#text_.22_text"><span class="tocnumber">5</span> <span class="toctext">text " text</span></a></li>
12573 <h2><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>
12576 <h2><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>
12579 <h2><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>
12582 <h2><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>
12585 <h2><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>
12591 Headers with excess '=' characters
12592 (Are similar tests necessary beyond the 1st level?)
12596 =''italic'' heading==
12597 ==''italic'' heading=
12599 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12601 <li class="toclevel-1 tocsection-1"><a href="#foo.3D"><span class="tocnumber">1</span> <span class="toctext">foo=</span></a></li>
12602 <li class="toclevel-1 tocsection-2"><a href="#.3Dfoo"><span class="tocnumber">2</span> <span class="toctext">=foo</span></a></li>
12603 <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>
12604 <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>
12608 <h1><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>
12609 <h1><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>
12610 <h1><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>
12611 <h1><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>
12616 HTML headers vs TOC (bug 23393)
12617 (__NOEDITSECTION__ for clearer output, doesn't matter here)
12629 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
12631 <li class="toclevel-1"><a href="#Header_1"><span class="tocnumber">1</span> <span class="toctext">Header 1</span></a>
12633 <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>
12634 <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>
12637 <li class="toclevel-1"><a href="#Header_2"><span class="tocnumber">2</span> <span class="toctext">Header 2</span></a>
12639 <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>
12640 <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>
12646 <h1><span class="mw-headline" id="Header_1">Header 1</span></h1>
12647 <h2><span class="mw-headline" id="Header_1.1">Header 1.1</span></h2>
12648 <h2><span class="mw-headline" id="Header_1.2">Header 1.2</span></h2>
12649 <h1><span class="mw-headline" id="Header_2">Header 2</span></h1>
12650 <h2><span class="mw-headline" id="Header_2.1">Header 2.1</span></h2>
12651 <h2><span class="mw-headline" id="Header_2.2">Header 2.2</span></h2>
12656 Single-line or multiline-comments can follow headings
12658 parsoid=wt2html,wt2wt
12666 <h2><span class="mw-headline" id="foo">foo</span></h2>
12667 <h2><span class="mw-headline" id="bar">bar</span></h2>
12668 <h2><span class="mw-headline" id="baz">baz</span></h2>
12673 BUG 1219 URL next to image (broken)
12675 http://example.com[[Image:foobar.jpg]]
12677 <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>
12682 Bug 1186 news: in the middle of text
12684 http://en.wikinews.org/wiki/Wikinews:Workplace
12686 <p><a rel="nofollow" class="external free" href="http://en.wikinews.org/wiki/Wikinews:Workplace">http://en.wikinews.org/wiki/Wikinews:Workplace</a>
12692 Namespaced link must have a title
12701 Namespaced link must have a title (bad fragment version)
12703 [[Project:#fragment]]
12705 <p>[[Project:#fragment]]
12711 ### HTML tags and HTML attributes
12715 div with no attributes
12717 <div>HTML rocks</div>
12719 <div>HTML rocks</div>
12724 div with double-quoted attribute
12726 <div id="rock">HTML rocks</div>
12728 <div id="rock">HTML rocks</div>
12733 div with single-quoted attribute
12735 <div id='rock'>HTML rocks</div>
12737 <div id="rock">HTML rocks</div>
12742 div with unquoted attribute
12744 <div id=rock>HTML rocks</div>
12746 <div id="rock">HTML rocks</div>
12751 div with illegal double attributes
12753 <div id="a" id="b">HTML rocks</div>
12755 <div id="b">HTML rocks</div>
12759 # FIXME: produce empty string instead of "class" in the PHP parser, following
12762 div with empty attribute value, space before equals
12766 <div class =>HTML rocks</div>
12768 <div class="">HTML rocks</div>
12772 # The PHP parser escapes the opening brace to { for some reason, so
12773 # disabled this test for it.
12775 div with braces in attribute value
12779 <div title="{}">Foo</div>
12781 <div title="{}">Foo</div>
12784 # This it very inconsistent in the PHP parser: it returns
12785 # class="class" if there is a space between the name and the equal sign (see
12786 # 'div with empty attribute value, space before equals'), but strips the
12787 # attribute completely if the space is missing. We hope that not much content
12788 # depends on this, so are implementing the behavior below in Parsoid for
12789 # consistencies' sake. Disabled for the PHP parser.
12790 # FIXME: fix this behavior in the PHP parser?
12792 div with empty attribute value, no space before equals
12796 <div class=>HTML rocks</div>
12798 <div class="">HTML rocks</div>
12803 HTML multiple attributes correction
12805 <p class="error" class="awesome">Awesome!</p>
12807 <p class="awesome">Awesome!</p>
12812 Table multiple attributes correction
12815 !+ class="error" class="awesome"| status
12820 <th class="awesome"> status
12828 <DIV ID="x">HTML ROCKS</DIV>
12830 <div id="x">HTML ROCKS</div>
12835 Non-ASCII pseudo-tags are rendered as text
12844 Pseudo-tag with URL 'name' renders as url link
12846 <http://example.com/>
12848 <p><<a rel="nofollow" class="external free" href="http://example.com/">http://example.com/</a>>
12853 text with amp in the middle of nowhere
12857 <p>Remember AT&T?
12862 text with character entity: eacute
12864 I always thought é was a cute letter.
12866 <p>I always thought é was a cute letter.
12871 text with entity-escaped character entity-like string: eacute
12873 I always thought &eacute; was a cute letter.
12875 <p>I always thought &eacute; was a cute letter.
12880 text with undefined character entity: xacute
12882 I always thought &xacute; was a cute letter.
12884 <p>I always thought &xacute; was a cute letter.
12888 # TODO: generalize to PHP parser?
12894 <data value="5">five</data>
12895 <time datetime="2000-01-01T00:00Z">The new millenium started</time>
12896 <mark>This highlighted text</mark>
12898 <p><data value="5">five</data>
12899 <time datetime="2000-01-01T00:00Z">The new millenium started</time>
12900 <mark>This highlighted text</mark></p>
12904 HTML tag with leading space is parsed as text
12908 <p>< div>foo< /div>
12913 ### Nesting tests (see bug 41545, 50604, 51081)
12916 # This test case is fixed in Parsoid by domino 1.0.12. (bug 50604)
12917 # Note that html2wt is considerably more difficult if we use <b> in
12918 # the test case, instead of <big>
12920 Ensure that HTML adoption agency algorithm is properly implemented.
12922 <big>X<big>Y</big>Z</big>
12924 <p><big>X<big>Y</big>Z</big>
12928 # This was bug 41545 in the PHP parser.
12932 <kbd>X<kbd>Y</kbd>Z</kbd>
12934 <p><kbd>X<kbd>Y</kbd>Z</kbd>
12938 # The following cases were bug 51081 in the PHP parser.
12939 # Note that there are some other nestable tags (b, i, etc) which are
12940 # not covered; see bug 51081 for discussion.
12944 <em>X<em>Y</em>Z</em>
12946 <p><em>X<em>Y</em>Z</em>
12951 Nesting of <strong>
12953 <strong>X<strong>Y</strong>Z</strong>
12955 <p><strong>X<strong>Y</strong>Z</strong>
12964 <p><q>X<q>Y</q>Z</q>
12971 <ruby>X<ruby>Y</ruby>Z</ruby>
12973 <p><ruby>X<ruby>Y</ruby>Z</ruby>
12980 <bdo>X<bdo>Y</bdo>Z</bdo>
12982 <p><bdo>X<bdo>Y</bdo>Z</bdo>
12994 [[Media:Foobar.jpg]]
12996 <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">Media:Foobar.jpg</a>
13001 Media link with text
13003 [[Media:Foobar.jpg|A neat file to look at]]
13005 <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">A neat file to look at</a>
13009 # FIXME: this is still bad HTML tag nesting
13011 Media link with nasty text
13012 fixme: doBlockLevels won't wrap this in a paragraph because it contains a div
13014 [[Media:Foobar.jpg|Safe Link<div style=display:none>" onmouseover="alert(document.cookie)" onfoo="</div>]]
13016 <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>
13021 Media link to nonexistent file (bug 1702)
13023 [[Media:No such.jpg]]
13025 <p><a href="/index.php?title=Special:Upload&wpDestFile=No_such.jpg" class="new" title="No such.jpg">Media:No such.jpg</a>
13030 Image link to nonexistent file (bug 1850 - good)
13032 [[Image:No such.jpg]]
13034 <p><a href="/index.php?title=Special:Upload&wpDestFile=No_such.jpg" class="new" title="File:No such.jpg">File:No such.jpg</a>
13039 :Image link to nonexistent file (bug 1850 - bad)
13041 [[:Image:No such.jpg]]
13043 <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>
13050 Character reference normalization in link text (bug 1938)
13052 [[Main Page|this&that]]
13054 <p><a href="/wiki/Main_Page" title="Main Page">this&that</a>
13061 Test for unicode normalization
13063 The page's name is U+05d0 U+05b7, with non-canonical form U+FB2E
13067 (bug 19451) Links should refer to the normalized form.
13075 <p><a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
13076 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
13077 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
13078 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
13079 <a href="/wiki/%D7%90%D6%B7" title="אַ">אַ</a>
13084 Empty attribute crash test (bug 2067)
13086 <font color="">foo</font>
13088 <p><font color="">foo</font>
13093 Empty attribute crash test single-quotes (bug 2067)
13095 <font color=''>foo</font>
13097 <p><font color="">foo</font>
13102 Attribute test: equals, then nothing
13104 <font color=>foo</font>
13106 <p><font>foo</font>
13111 Attribute test: unquoted value
13113 <font color=x>foo</font>
13115 <p><font color="x">foo</font>
13120 Attribute test: unquoted but illegal value (hash)
13122 <font color=#x>foo</font>
13124 <p><font color="#x">foo</font>
13129 Attribute test: no value
13131 <font color>foo</font>
13133 <p><font color="color">foo</font>
13138 Bug 2095: link with three closing brackets
13142 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>]
13145 <p><a rel="mw:WikiLink" href="./Main_Page">Main Page</a>]</p>
13149 Bug 2095: link with pipe and three closing brackets
13151 [[Main Page|link]]]
13153 <p><a href="/wiki/Main_Page" title="Main Page">link</a>]
13156 <p><a rel="mw:WikiLink" href="./Main_Page">link</a>]</p>
13160 Bug 2095: link with pipe and three closing brackets, version 2
13162 [[Main Page|[http://example.com/]]]
13164 <p><a href="/wiki/Main_Page" title="Main Page">[http://example.com/]</a>
13167 <p><a rel="mw:WikiLink" href="./Main_Page">[http://example.com/]</a></p>
13176 Template:Dangerous attribute
13178 " onmouseover="alert(document.cookie)
13182 Template:Dangerous style attribute
13184 border-size: expression(alert(document.cookie))
13190 <div style="float: right; {{{1}}}">Magic div</div>
13194 Bug 2304: HTML attribute safety (safe template; regression bug 2309)
13196 <div title="{{test}}"></div>
13198 <div title="This is a test template"></div>
13203 Bug 2304: HTML attribute safety (dangerous template; 2309)
13205 <div title="{{dangerous attribute}}"></div>
13207 <div title=""></div>
13212 Bug 2304: HTML attribute safety (dangerous style template; 2309)
13214 <div style="{{dangerous style attribute}}"></div>
13216 <div style="/* insecure input */"></div>
13221 Bug 2304: HTML attribute safety (safe parameter; 2309)
13223 {{div style|width: 200px}}
13225 <div style="float: right; width: 200px">Magic div</div>
13230 Bug 2304: HTML attribute safety (unsafe parameter; 2309)
13232 {{div style|width: expression(alert(document.cookie))}}
13234 <div style="/* insecure input */">Magic div</div>
13239 Bug 2304: HTML attribute safety (unsafe breakout parameter; 2309)
13241 {{div style|"><script>alert(document.cookie)</script>}}
13243 <div style="float: right;"><script>alert(document.cookie)</script>">Magic div</div>
13248 Bug 2304: HTML attribute safety (unsafe breakout parameter 2; 2309)
13250 {{div style|" ><script>alert(document.cookie)</script>}}
13252 <div style="float: right;"><script>alert(document.cookie)</script>">Magic div</div>
13257 Bug 2304: HTML attribute safety (link)
13259 <div title="[[Main Page]]"></div>
13261 <div title="[[Main Page]]"></div>
13266 Bug 2304: HTML attribute safety (italics)
13268 <div title="''foobar''"></div>
13270 <div title="''foobar''"></div>
13275 Bug 2304: HTML attribute safety (bold)
13277 <div title="'''foobar'''"></div>
13279 <div title="'''foobar'''"></div>
13285 Bug 2304: HTML attribute safety (ISBN)
13287 <div title="ISBN 1234567890"></div>
13289 <div title="ISBN 1234567890"></div>
13294 Bug 2304: HTML attribute safety (RFC)
13296 <div title="RFC 1234"></div>
13298 <div title="RFC 1234"></div>
13303 Bug 2304: HTML attribute safety (PMID)
13305 <div title="PMID 1234567890"></div>
13307 <div title="PMID 1234567890"></div>
13312 Bug 2304: HTML attribute safety (web link)
13314 <div title="http://example.com/"></div>
13316 <div title="http://example.com/"></div>
13321 Bug 2304: HTML attribute safety (named web link)
13323 <div title="[http://example.com/ link]"></div>
13325 <div title="[http://example.com/ link]"></div>
13330 Bug 3244: HTML attribute safety (extension; safe)
13332 <div style="<nowiki>background:blue</nowiki>"></div>
13334 <div style="background:blue"></div>
13339 Bug 3244: HTML attribute safety (extension; unsafe)
13341 <div style="<nowiki>border-left:expression(alert(document.cookie))</nowiki>"></div>
13343 <div style="/* insecure input */"></div>
13347 # More MSIE fun discovered by Tom Gilder
13350 MSIE CSS safety test: spurious slash
13352 <div style="background-image:u\rl(javascript:alert('boo'))">evil</div>
13354 <div style="/* insecure input */">evil</div>
13359 MSIE CSS safety test: hex code
13361 <div style="background-image:u\72l(javascript:alert('boo'))">evil</div>
13363 <div style="/* insecure input */">evil</div>
13368 MSIE CSS safety test: comment in url
13370 <div style="background-image:u/**/rl(javascript:alert('boo'))">evil</div>
13372 <div style="background-image:u rl(javascript:alert('boo'))">evil</div>
13377 MSIE CSS safety test: comment in expression
13379 <div style="background-image:expres/**/sion(alert('boo4'))">evil4</div>
13381 <div style="background-image:expres sion(alert('boo4'))">evil4</div>
13386 CSS safety test (all browsers): vertical tab (bug 55332 / CVE-2013-4567)
13388 <p style="font-size: 100px; background-image:url\b(https://www.google.com/images/srpr/logo6w.png)">A</p>
13390 <p style="/* invalid control char */">A</p>
13395 MSIE 6 CSS safety test: Fullwidth (bug 55332)
13397 <p style="font-size: 100px; color: expression((title='XSSed'),'red')">A</p>
13398 <div style="top:EXPRESSION(alert())">B</div>
13400 <p style="/* insecure input */">A</p>
13401 <div style="/* insecure input */">B</div>
13406 MSIE 6 CSS safety test: IPA extensions (bug 55332)
13408 <div style="background-image:uʀʟ(javascript:alert())">A</div>
13409 <p style="font-size: 100px; color: expʀessɪoɴ((title='XSSed'),'red')">B</p>
13411 <div style="/* insecure input */">A</div>
13412 <p style="/* insecure input */">B</p>
13417 MSIE 6 CSS safety test: sup/sub script (bug 55332)
13419 <div style="background-image:url⁽javascript:alert())">A</div>
13420 <div style="background-image:url₍javascript:alert())">B</div>
13421 <p style="font-size: 100px; color: expressioⁿ((title='XSSed'),'red')">C</p>
13423 <div style="/* insecure input */">A</div>
13424 <div style="/* insecure input */">B</div>
13425 <p style="/* insecure input */">C</p>
13433 title="data:text/html,<img src=1 onerror=alert(1)>"
13434 style="-o-link:attr(title);-o-link-source:current">X</div>
13436 <div title="data:text/html,<img src=1 onerror=alert(1)>" style="/* insecure input */">X</div>
13441 MSIE 6 CSS safety test: Repetition markers (bug 55332)
13443 <p style="font-size: 100px; color: expres〱ion((title='XSSed'),'red')">A</p>
13444 <p style="font-size: 100px; color: expresゝion((title='XSSed'),'red')">B</p>
13445 <p style="font-size: 100px; color: expresーion((title='XSSed'),'red')">C</p>
13446 <p style="font-size: 100px; color: expresヽion((title='XSSed'),'red')">D</p>
13447 <p style="font-size: 100px; color: expresﹽion((title='XSSed'),'red')">E</p>
13448 <p style="font-size: 100px; color: expresﹼion((title='XSSed'),'red')">F</p>
13449 <p style="font-size: 100px; color: expresーion((title='XSSed'),'red')">G</p>
13451 <p style="/* insecure input */">A</p>
13452 <p style="/* insecure input */">B</p>
13453 <p style="/* insecure input */">C</p>
13454 <p style="/* insecure input */">D</p>
13455 <p style="/* insecure input */">E</p>
13456 <p style="/* insecure input */">F</p>
13457 <p style="/* insecure input */">G</p>
13462 Table attribute legitimate extension
13465 !+ style="<nowiki>color:blue</nowiki>"| status
13470 <th style="color:blue"> status
13476 Table attribute safety
13479 !+ style="<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>"| status
13484 <th style="/* insecure input */"> status
13490 CSS line continuation 1
13492 <div style="background-image: u\ rl(test.jpg);"></div>
13494 <div style="/* insecure input */"></div>
13499 CSS line continuation 2
13501 <div style="background-image: u\ rl(test.jpg); "></div>
13503 <div style="/* insecure input */"></div>
13514 Expansion of multi-line templates in attribute values (bug 6255)
13516 <div style="background: {{identity|#00FF00}}">-</div>
13518 <div style="background: #00FF00">-</div>
13524 Expansion of multi-line templates in attribute values (bug 6255 sanity check)
13526 <div style="background:
13529 <div style="background: #00FF00">-</div>
13534 Expansion of multi-line templates in attribute values (bug 6255 sanity check 2)
13536 <div style="background: #00FF00">-</div>
13538 <div style="background: #00FF00">-</div>
13543 ### Parser hooks (see tests/parser/parserTestsParserHook.php for the <tag> extension)
13546 Parser hook: empty input
13559 Parser hook: empty input using terminated empty elements
13572 Parser hook: empty input using terminated empty elements (space before)
13585 Parser hook: basic input
13599 Parser hook: case insensitive
13613 Parser hook: case insensitive, redux
13626 Parser hook: nested tags
13630 <tag><tag></tag></tag>
13641 Parser hook: basic arguments
13643 <tag width=200 height = "100" depth = '50' square></tag>
13651 'square' => 'square',
13658 Parser hook: argument containing a forward slash (bug 5344)
13660 <tag filename='/tmp/bla'></tag>
13665 'filename' => '/tmp/bla',
13672 Parser hook: empty input using terminated empty elements (bug 2374)
13685 # </tag> should be output literally since there is no matching tag that begins it
13687 Parser hook: basic arguments using terminated empty elements (bug 2374)
13689 <tag width=200 height = "100" depth = '50' square/>
13699 'square' => 'square',
13708 ### (see tests/parser/parserTestsParserHook.php for the <statictag> extension)
13712 Parser hook: static parser hook not inside a comment
13714 <statictag>hello, world</statictag>
13715 <statictag action=flush/>
13723 Parser hook: static parser hook inside a comment
13725 <!-- <statictag>hello, world</statictag> -->
13726 <statictag action=flush/>
13732 # Nested template calls; this case was broken by Parser.php rev 1.506,
13736 Template:One-parameter
13738 (My parameter is: {{{1}}})
13742 Template:Map-one-parameter
13744 {{{{{1}}}|{{{2}}}}}
13748 Nested template calls
13750 {{Map-one-parameter|One-parameter|param}}
13752 <p>(My parameter is: param)
13761 Sanitizer: Closing of open tags
13763 <s></s><table></table>
13765 <s></s><table></table>
13770 Sanitizer: Closing of open but not closed tags
13779 Sanitizer: Closing of closed but not open tags
13788 Sanitizer: Closing of closed but not open table tags
13790 Table not started</td></tr></table>
13792 <p>Table not started</td></tr></table>
13797 Sanitizer: Escaping of spaces, multibyte characters, colons & other stuff in id=""
13799 <span id="æ: v">byte</span>[[#æ: v|backlink]]
13801 <p><span id=".C3.A6:_v">byte</span><a href="#.C3.A6:_v">backlink</a>
13806 Sanitizer: Validating the contents of the id attribute (bug 4515)
13812 Something, but definitely not <br id="9" />...
13816 Sanitizer: Validating id attribute uniqueness (bug 4515, bug 6301)
13820 <br id="foo" /><br id="foo" />
13822 Something need to be done. foo-2 ?
13826 Sanitizer: Validating that <meta> and <link> work, but only for Microdata
13829 <meta itemprop="hello" content="world">
13830 <meta http-equiv="refresh" content="5">
13831 <meta itemprop="hello" http-equiv="refresh" content="5">
13832 <link itemprop="hello" href="{{SERVER}}">
13833 <link rel="stylesheet" href="{{SERVER}}">
13834 <link rel="stylesheet" itemprop="hello" href="{{SERVER}}">
13837 <div itemscope="itemscope">
13838 <p> <meta itemprop="hello" content="world" />
13839 <meta http-equiv="refresh" content="5">
13840 <meta itemprop="hello" content="5" />
13842 <link itemprop="hello" href="http://example.org" />
13843 <link rel="stylesheet" href="<a rel="nofollow" class="external free" href="http://example.org">http://example.org</a>">
13844 <link itemprop="hello" href="http://example.org" />
13850 Language converter: output gets cut off unexpectedly (bug 5757)
13854 this bit is safe: }-
13856 but if we add a conversion instance: -{zh-cn:xxx;zh-tw:yyy}-
13858 then we get cut off here: }-
13860 all additional text is vanished
13862 <p>this bit is safe: }-
13863 </p><p>but if we add a conversion instance: xxx
13864 </p><p>then we get cut off here: }-
13865 </p><p>all additional text is vanished
13870 Self closed html pairs (bug 5487)
13873 <center><font id="bug" />Centered text</center>
13874 <div><font id="bug2" />In div text</div>
13876 <center><font id="bug" />Centered text</center>
13877 <div><font id="bug2" />In div text</div>
13886 Punctuation: nbsp before exclamation
13890 <p>C'est grave !
13895 Punctuation: CSS !important (bug 11874)
13897 <div style="width:50% !important">important</div>
13899 <div style="width:50% !important">important</div>
13904 Punctuation: CSS ! important (bug 11874; with space after)
13906 <div style="width:50% ! important">important</div>
13908 <div style="width:50% ! important">important</div>
13914 HTML bullet list, closed tags (bug 5497)
13929 HTML bullet list, unclosed tags (bug 5497)
13948 HTML ordered list, closed tags (bug 5497)
13963 HTML ordered list, unclosed tags (bug 5497)
13982 HTML nested bullet list, closed tags (bug 5497)
14007 HTML nested bullet list, open tags (bug 5497)
14036 HTML nested ordered list, closed tags (bug 5497)
14061 HTML nested ordered list, open tags (bug 5497)
14090 HTML ordered list item with parameters oddity
14092 <ol><li id="fragment">One</li>
14095 <ol><li id="fragment">One</li>
14100 # parsoid doesn't explicitly mark autonumbered links, see bug 53505
14102 bug 5918: autonumbering
14104 [http://first/] [http://second] [ftp://ftp]
14108 [mailto:enclosed@mail.tld With target]
14110 [mailto:enclosed@mail.tld]
14112 mailto:inline@mail.tld
14114 <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>
14115 </p><p><a rel="nofollow" class="external free" href="ftp://inlineftp">ftp://inlineftp</a>
14116 </p><p><a rel="nofollow" class="external text" href="mailto:enclosed@mail.tld">With target</a>
14117 </p><p><a rel="nofollow" class="external autonumber" href="mailto:enclosed@mail.tld">[4]</a>
14118 </p><p><a rel="nofollow" class="external free" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a>
14121 <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>
14122 <p><a rel="mw:ExtLink" href="ftp://inlineftp">ftp://inlineftp</a></p>
14123 <p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld">With target</a></p>
14124 <p><a rel="mw:ExtLink" href="mailto:enclosed@mail.tld"></a></p>
14125 <p><a rel="mw:ExtLink" href="mailto:inline@mail.tld">mailto:inline@mail.tld</a></p>
14130 # Security and HTML correctness
14131 # From Nick Jenkins' fuzz testing
14135 Fuzz testing: Parser13
14150 Fuzz testing: Parser14
14155 <h2><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>
14156 http://<div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
14158 <li class="toclevel-1 tocsection-1"><a href="#onmouseover.3D"><span class="tocnumber">1</span> <span class="toctext">onmouseover=</span></a></li>
14166 Fuzz testing: Parser14-table
14171 <h2><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>
14172 <table style="__TOC__">
14178 # Known to produce bogus xml (extra </td>)
14180 Fuzz testing: Parser16
14200 Fuzz testing: Parser21
14203 ! irc://{{ftp://a" onmouseover="alert('hello world');"
14208 <th> <a rel="nofollow" class="external free" href="irc://{{ftp://a">irc://{{ftp://a</a>" onmouseover="alert('hello world');"
14218 Fuzz testing: Parser22
14220 http://===r:::https://b
14224 <p><a rel="nofollow" class="external free" href="http://===r:::https://b">http://===r:::https://b</a>
14232 # Known to produce bad XML for now
14234 Fuzz testing: Parser24
14241 | {{{{SSSll!!!!!!!VVVV)]]][[Special:*xxxxxxx--><noinclude>}}}} >
14242 <br style="onmouseover='alert(document.cookie);' " />
14244 MOVE YOUR MOUSE CURSOR OVER THIS TEXT
14249 <u class="|">}}}} >
14250 <br style="onmouseover='alert(document.cookie);'" />
14252 MOVE YOUR MOUSE CURSOR OVER THIS TEXT
14261 # Note: the current result listed for this is not what the original one was,
14262 # but the original bug was JavaScript injection, which is fixed in any case.
14263 # It's not clear that the original result listed was any more correct than the
14264 # current one. Original result:
14267 # <li class="||">
14268 # }}}blah" onmouseover="alert('hello world');" align="left"<b>MOVE MOUSE CURSOR OVER HERE</b>
14270 Fuzz testing: Parser25 (bug 6055)
14276 }}}blah" onmouseover="alert('hello world');" align="left"'''MOVE MOUSE CURSOR OVER HERE
14278 <p><LI CLASS=blah" onmouseover="alert('hello world');" align="left"<b>MOVE MOUSE CURSOR OVER HERE</b>
14283 Fuzz testing: URL adjacent extension (with space, clean)
14286 http://example.com <nowiki>junk</nowiki>
14288 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a> junk
14293 Fuzz testing: URL adjacent extension (no space, dirty; nowiki)
14296 http://example.com<nowiki>junk</nowiki>
14298 <p><a rel="nofollow" class="external free" href="http://example.com">http://example.com</a>junk
14303 Fuzz testing: URL adjacent extension (no space, dirty; pre)
14306 http://example.com<pre>junk</pre>
14308 <a rel="nofollow" class="external free" href="http://example.com">http://example.com</a><pre>junk</pre>
14313 Fuzz testing: image with bogus manual thumbnail
14315 [[Image:foobar.jpg|thumbnail= ]]
14317 <div class="thumb tright"><div class="thumbinner" style="width:182px;">Error creating thumbnail: <div class="thumbcaption"></div></div></div>
14320 <meta typeof="mw:Placeholder" data-parsoid='{"src":"[[Image:foobar.jpg|thumbnail= ]]","optList":[{"ck":"manualthumb","ak":"thumbnail= "}],"dsr":[0,32,null,null]}'/>
14324 Fuzz testing: encoded newline in generated HTML replacements (bug 6577)
14326 <pre dir=" "></pre>
14328 <pre dir=" "></pre>
14333 Parsing optional HTML elements (Bug 6171)
14338 <td> Some tabular data</td>
14339 <td> More tabular data ...
14340 <td> And yet som tabular data</td>
14346 <td> Some tabular data</td>
14347 <td> More tabular data ...
14348 </td><td> And yet som tabular data</td>
14355 Correct handling of <td>, <tr> (Bug 6171)
14360 <td> Some tabular data</td>
14361 <td> More tabular data ...</td>
14362 <td> And yet som tabular data</td>
14368 <td> Some tabular data</td>
14369 <td> More tabular data ...</td>
14370 <td> And yet som tabular data</td>
14378 Parsing crashing regression (fr:JavaScript)
14382 <p></body></x>
14387 Inline wiki vs wiki block nesting
14393 <p><b>Bold paragraph</b>
14394 </p><p>New wiki paragraph
14399 Inline HTML vs wiki block nesting
14407 <p><b>Bold paragraph</b>
14408 </p><p>New wiki paragraph
14412 # Original result was this:
14413 # <p><b>bold</b><b>bold<i>bolditalics</i></b>
14415 # While that might be marginally more intuitive, maybe, the six-apostrophe
14416 # construct is clearly pathological and the result stated here (which is what
14417 # the parser actually does) is about as reasonable as anything.
14419 Mixing markup for italics and bold
14422 '''bold''''''bold''bolditalics'''''
14424 <p>'<i>bold'</i><b>bold<i>bolditalics</i></b>
14432 Article for special page transclusion test
14436 Special page transclusion
14439 {{Special:Prefixindex/Xyzzyx}}
14441 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
14446 Special page transclusion twice (bug 5021)
14449 {{Special:Prefixindex/Xyzzyx}}
14450 {{Special:Prefixindex/Xyzzyx}}
14452 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
14453 <table class="mw-prefixindex-list-table"><tr><td><a href="/wiki/Xyzzyx" title="Xyzzyx">Xyzzyx</a></td></tr></table>
14458 Transclusion of default MediaWiki message
14460 {{MediaWiki:Mainpage}}
14467 Transclusion of nonexistent MediaWiki message
14469 {{MediaWiki:Mainpagexxx}}
14471 <p><a href="/index.php?title=MediaWiki:Mainpagexxx&action=edit&redlink=1" class="new" title="MediaWiki:Mainpagexxx (page does not exist)">MediaWiki:Mainpagexxx</a>
14476 Transclusion of MediaWiki message with underscore
14478 {{MediaWiki:history_short}}
14485 Transclusion of MediaWiki message with space
14487 {{MediaWiki:history short}}
14494 Invalid header with following text
14504 Section extraction test (section 0)
14524 Section extraction test (section 1)
14546 Section extraction test (section 2)
14567 Section extraction test (section 3)
14587 Section extraction test (section 4)
14611 Section extraction test (section 5)
14631 Section extraction test (section 6)
14652 Section extraction test (section 7)
14672 Section extraction test (section 8)
14692 Section extraction test (section 9)
14713 Section extraction test (section 10)
14733 Section extraction test (nonexistent section 11)
14752 Section extraction test with bogus heading (section 1)
14757 ==bogus== not a legal section
14761 ==bogus== not a legal section
14765 Section extraction test with bogus heading (section 2)
14770 ==bogus== not a legal section
14777 Section extraction test with comment after heading (section 1)
14789 Section extraction test with comment after heading (section 2)
14801 Section extraction test with bogus <nowiki> heading (section 1)
14806 ==bogus== <nowiki>not a legal section</nowiki>
14810 ==bogus== <nowiki>not a legal section</nowiki>
14814 Section extraction test with bogus <nowiki> heading (section 2)
14819 ==bogus== <nowiki>not a legal section</nowiki>
14826 # Formerly testing for bug 2587, now resolved by the use of unmarked sections
14827 # instead of respecting commented sections
14829 Section extraction prefixed by comment (section 1)
14840 Section extraction prefixed by comment (section 2)
14851 # Formerly testing for bug 2607, now resolved by the use of unmarked sections
14852 # instead of respecting HTML-style headings
14854 Section extraction, mixed wiki and html (section 1)
14870 Section extraction, mixed wiki and html (section 2)
14886 # Formerly testing for bug 3342
14888 Section extraction, heading surrounded by <noinclude>
14892 <noinclude>==unmarked==</noinclude>
14898 # Test behavior of bug 19910
14900 Sectiion with all-equals
14905 The line above must have a trailing space
14908 But just in case it doesn't...
14912 But just in case it doesn't...
14916 Section replacement test (section 0)
14947 Section replacement test (section 1)
14976 Section replacement test (section 2)
15006 Section replacement test (section 3)
15037 Section replacement test (section 4)
15064 Section replacement test (section 5)
15095 Section replacement test (section 6)
15125 Section replacement test (section 7)
15156 Section replacement test (section 8)
15187 Section replacement test (section 9)
15216 Section replacement test (section 10)
15246 Section replacement test with initial whitespace (bug 13728)
15250 Preformatted initial line
15254 Preformatted initial line
15261 Section extraction, heading followed by pre with 20 spaces (bug 6398)
15273 Section extraction, heading followed by pre with 19 spaces (bug 6398 sanity check)
15286 Section extraction, <pre> around bogus header (bug 10309)
15303 Section replacement, <pre> around bogus header (bug 10309)
15305 noxml replace=2,"xxx"
15326 Handling of 
 in URLs
15332 <li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a>
15339 <ul><li><ul><li> <a rel="mw:ExtLink" href="irc://
15341 a</a></li></ul></li></ul>
15345 Handling of %0A in URLs
15351 <li> <a rel="nofollow" class="external free" href="irc://%0Aa">irc://%0Aa</a>
15358 <ul><li><ul><li> <a rel="mw:ExtLink" href="irc://%0Aa">irc://%0Aa</a></li></ul></li></ul>
15362 # The PHP parser strips the empty tags out for giggles; parsoid doesn't.
15364 5 quotes, code coverage +1 line
15371 <p><b><i></i></b></p>
15374 # same html as previous, but wikitext adjusted to match parsoid html2wt
15375 # note that wt2html and html2html will put the <i> before the <b>
15377 5 quotes, code coverage +1 line w/ nowiki (1)
15379 parsoid=wt2wt,html2wt
15381 '''''<nowiki/>'''''
15386 <p><b><i></i></b></p>
15389 # same as previous, just swapping the <i> and <b>
15391 5 quotes, code coverage +1 line w/ nowiki (2)
15393 '''''<nowiki/>'''''
15398 <p><i><b></b></i></p>
15402 Special:Search page linking.
15406 <p><a href="/wiki/Special:Search" title="Special:Search">Special:Search</a>
15413 title=[[Parser test]]
15418 * {{FULLPAGENAMEE}}
15420 * {{BASEPAGENAMEE}}
15424 * {{ROOTPAGENAMEE}}
15426 * {{TALKPAGENAMEE}}
15427 * {{SUBJECTPAGENAME}}
15428 * {{SUBJECTPAGENAMEE}}
15431 * {{NAMESPACENUMBER}}
15435 * {{SUBJECTSPACEE}}
15436 * {{Dynamic|{{NUMBEROFUSERS}}|{{NUMBEROFPAGES}}|{{CURRENTVERSION}}|{{CONTENTLANGUAGE}}|{{DIRECTIONMARK}}|{{CURRENTTIMESTAMP}}|{{NUMBEROFARTICLES}}}}
15459 <li> Talk:Parser test
15461 <li> Talk:Parser_test
15481 <li> <a href="/index.php?title=Template:Dynamic&action=edit&redlink=1" class="new" title="Template:Dynamic (page does not exist)">Template:Dynamic</a>
15486 ### Note: Above tests excludes the "{{NUMBEROFADMINS}}" magic word because it generates a MySQL error when included.
15496 image4 |300px| centre
15497 image5.svg| http://///////
15502 <ul class="gallery mw-gallery-traditional">
15503 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15504 <div class="thumb" style="height: 150px;">Image1.png</div>
15505 <div class="gallerytext">
15508 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15509 <div class="thumb" style="height: 150px;">Image2.gif</div>
15510 <div class="gallerytext">
15515 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15516 <div class="thumb" style="height: 150px;">Image3</div>
15517 <div class="gallerytext">
15520 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15521 <div class="thumb" style="height: 150px;">Image4</div>
15522 <div class="gallerytext">
15527 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15528 <div class="thumb" style="height: 150px;">Image5.svg</div>
15529 <div class="gallerytext">
15530 <p><a rel="nofollow" class="external free" href="http://///////">http://///////</a>
15534 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15535 <div class="thumb" style="height: 150px;">* image6</div>
15536 <div class="gallerytext">
15544 Gallery (with options)
15546 <gallery widths='70px' heights='40px' perrow='2' caption='Foo [[Main Page]]' >
15547 File:Nonexistant.jpg|caption
15548 File:Nonexistant.jpg
15549 image:foobar.jpg|some '''caption''' [[Main Page]]
15551 image:foobar.jpg|Blabla|alt=This is a foo-bar.|blabla.
15554 <ul class="gallery mw-gallery-traditional" style="max-width: 226px;_width: 226px;">
15555 <li class='gallerycaption'>Foo <a href="/wiki/Main_Page" title="Main Page">Main Page</a></li>
15556 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
15557 <div class="thumb" style="height: 70px;">Nonexistant.jpg</div>
15558 <div class="gallerytext">
15563 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
15564 <div class="thumb" style="height: 70px;">Nonexistant.jpg</div>
15565 <div class="gallerytext">
15568 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
15569 <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" /></a></div></div>
15570 <div class="gallerytext">
15571 <p>some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
15575 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
15576 <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" /></a></div></div>
15577 <div class="gallerytext">
15580 <li class="gallerybox" style="width: 105px"><div style="width: 105px">
15581 <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" /></a></div></div>
15582 <div class="gallerytext">
15592 Gallery with wikitext inside caption
15595 File:foobar.jpg|[[File:foobar.jpg|20px|desc|alt=inneralt]]|alt=galleryalt
15596 File:foobar.jpg|{{Test|unamedParam|alt=param}}|alt=galleryalt
15599 <ul class="gallery mw-gallery-traditional">
15600 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15601 <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" /></a></div></div>
15602 <div class="gallerytext">
15603 <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>
15607 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15608 <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" /></a></div></div>
15609 <div class="gallerytext">
15610 <p>This is a test template
15619 gallery (with showfilename option)
15621 <gallery showfilename>
15622 File:Nonexistant.jpg|caption
15623 File:Nonexistant.jpg
15624 image:foobar.jpg|some '''caption''' [[Main Page]]
15628 <ul class="gallery mw-gallery-traditional">
15629 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15630 <div class="thumb" style="height: 150px;">Nonexistant.jpg</div>
15631 <div class="gallerytext">
15632 <p><a href="/wiki/File:Nonexistant.jpg" title="File:Nonexistant.jpg">Nonexistant.jpg</a><br />
15637 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15638 <div class="thumb" style="height: 150px;">Nonexistant.jpg</div>
15639 <div class="gallerytext">
15640 <p><a href="/wiki/File:Nonexistant.jpg" title="File:Nonexistant.jpg">Nonexistant.jpg</a><br />
15644 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15645 <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" /></a></div></div>
15646 <div class="gallerytext">
15647 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
15648 some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
15652 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15653 <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" /></a></div></div>
15654 <div class="gallerytext">
15655 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
15664 Gallery (with namespace-less filenames)
15667 File:Nonexistant.jpg
15673 <ul class="gallery mw-gallery-traditional">
15674 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15675 <div class="thumb" style="height: 150px;">Nonexistant.jpg</div>
15676 <div class="gallerytext">
15679 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15680 <div class="thumb" style="height: 150px;">Nonexistant.jpg</div>
15681 <div class="gallerytext">
15684 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15685 <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" /></a></div></div>
15686 <div class="gallerytext">
15689 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
15690 <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" /></a></div></div>
15691 <div class="gallerytext">
15699 HTML Hex character encoding (spells the word "JavaScript")
15701 parsoid=wt2html,wt2wt,html2html
15703 JavaScript
15705 <p>JavaScript
15708 <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>
15712 HTML Hex character encoding bogus encoding (bug 26437 regression check)
15716 <p>&#xsee;&#XSEE;
15719 <p>&#xsee;&#XSEE;</p>
15723 HTML Hex character encoding mixed case
15725 parsoid=wt2html,wt2wt,html2html
15732 <p><span typeof="mw:Entity">î</span><span typeof="mw:Entity">î</span></p>
15736 __FORCETOC__ override
15748 ISBN 978-0-1234-56 789
15750 <p><a href="/wiki/Special:BookSources/9780123456" class="internal mw-magiclink-isbn">ISBN 978-0-1234-56</a> 789
15755 ISBN followed by 5 spaces
15766 ISBN ISBN 1234567890
15768 <p>ISBN <a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>
15777 <p><a href="/wiki/Special:BookSources/346204561X" class="internal mw-magiclink-isbn">ISBN 3-462-04561-X</a>
15782 ISBN with empty prefix (parsoid test)
15786 <p><a href="Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 1234567890</a></p>
15790 Bug 22905: <abbr> followed by ISBN followed by </a>
15792 <abbr>(fr)</abbr> ISBN 2753300917 [http://www.example.com example.com]
15794 <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>
15803 <p>RFC <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc1234">RFC 1234</a>
15808 Double RFC with a wiki link
15812 <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>
15821 <p><a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc983">RFC 983</a> 987
15826 Centre-aligned image
15828 [[Image:foobar.jpg|centre]]
15830 <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>
15837 [[Image:foobar.jpg|none]]
15839 <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>
15844 Width + Height sized image (using px) (height is ignored)
15846 [[Image:foobar.jpg|640x480px]]
15848 <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>
15853 Width-sized image (using px, no following whitespace)
15855 [[Image:foobar.jpg|640px]]
15857 <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>
15862 Width-sized image (using px, with following whitespace - test regression from r39467)
15864 [[Image:foobar.jpg|640px ]]
15866 <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>
15871 Width-sized image (using px, with preceding whitespace - test regression from r39467)
15873 [[Image:foobar.jpg| 640px]]
15875 <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>
15880 Image with page parameter
15884 [[File:LoremIpsum.djvu|page=2]]
15886 <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>
15891 Another italics / bold test
15899 # Note the results may be incorrect, as parserTest output included this:
15900 # XML error: Mismatched tag at byte 6120:
15901 # ...<dd> </dt></dl> </dd...
15932 # Images with the "|" character in external URLs in comment tags; Eats half the comment, leaves unmatched "</a>" tag.
15934 Images with the "|" character in the comment
15936 [[File:Foobar.jpg|thumb|An [http://test/?param1=|left|¶m2=|x external] URL]]
15938 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>An <a rel="nofollow" class="external text" href="http://test/?param1=%7Cleft%7C&param2=%7Cx">external</a> URL</div></div></div>
15941 <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>
15945 [Before] HTML without raw HTML enabled ($wgRawHtml==false)
15947 <html><script>alert(1);</script></html>
15949 <p><html><script>alert(1);</script></html>
15954 HTML with raw HTML ($wgRawHtml==true)
15958 <html><script>alert(1);</script></html>
15960 <p><script>alert(1);</script>
15965 Parents of subpages, one level up
15967 subpage title=[[Subpage test/L1/L2/L3]]
15971 <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>
15977 Parents of subpages, one level up, not named
15979 subpage title=[[Subpage test/L1/L2/L3]]
15983 <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>
15990 Parents of subpages, two levels up
15992 subpage title=[[Subpage test/L1/L2/L3]]
15998 <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
15999 </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>
16004 Parents of subpages, two levels up, without trailing slash or name.
16006 subpage title=[[Subpage test/L1/L2/L3]]
16015 Parents of subpages, two levels up, with lots of extra trailing slashes.
16017 subpage title=[[Subpage test/L1/L2/L3]]
16021 <p><a href="/index.php?title=Subpage_test/L1////&action=edit&redlink=1" class="new" title="Subpage test/L1//// (page does not exist)">///</a>
16026 Subpage test/L1/L2/L3Sibling
16032 Transclusion of a sibling page (one level up)
16034 subpage title=[[Subpage test/L1/L2/L3]]
16043 Transclusion of a child page
16045 subpage title=[[Subpage test/L1/L2]]
16054 Non-transclusion because of too many up levels
16056 subpage title=[[Subpage test/L1/L2/L3]]
16058 {{../../../../More than parent}}
16060 <p>{{../../../../More than parent}}
16065 Definition list code coverage
16072 <dt> title  </dt>
16075 <dt> title </dt>
16086 Don't fall for the self-closing div
16088 <div>hello world</div/>
16090 <div>hello world</div>
16099 <p>[[:Template:Msg]]
16108 <p><a href="/index.php?title=Template:QUERTY&action=edit&redlink=1" class="new" title="Template:QUERTY (page does not exist)">Template:QUERTY</a>
16112 # This isn't needed for XHTML conformance, but would be handy as a fallback security measure
16114 Always escape literal '>' in output, not just after '<'
16128 <p>This is a test template
16129 This is a test template
16141 Inclusion of !userCanEdit() content
16145 <h2><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>
16151 Out-of-order TOC heading levels
16160 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
16162 <li class="toclevel-1 tocsection-1"><a href="#2"><span class="tocnumber">1</span> <span class="toctext">2</span></a>
16164 <li class="toclevel-2 tocsection-2"><a href="#6"><span class="tocnumber">1.1</span> <span class="toctext">6</span></a></li>
16165 <li class="toclevel-2 tocsection-3"><a href="#3"><span class="tocnumber">1.2</span> <span class="toctext">3</span></a></li>
16168 <li class="toclevel-1 tocsection-4"><a href="#1"><span class="tocnumber">2</span> <span class="toctext">1</span></a>
16170 <li class="toclevel-2 tocsection-5"><a href="#5"><span class="tocnumber">2.1</span> <span class="toctext">5</span></a></li>
16171 <li class="toclevel-2 tocsection-6"><a href="#2_2"><span class="tocnumber">2.2</span> <span class="toctext">2</span></a></li>
16177 <h2><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>
16178 <h6><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>
16179 <h3><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>
16180 <h1><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>
16181 <h5><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>
16182 <h2><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>
16188 ISBN with a dummy number
16198 ISBN with space-delimited number
16202 <p><a href="/wiki/Special:BookSources/9290170328" class="internal mw-magiclink-isbn">ISBN 92 9017 032 8</a>
16208 ISBN with multiple spaces, no number
16227 </p><p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1234567890</a>
16228 </p><p>ISBN 12345678901
16234 ISBN with trailing year (bug 8110)
16236 ISBN 1-234-56789-0 - 2006
16238 ISBN 1 234 56789 0 - 2006
16240 <p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1-234-56789-0</a> - 2006
16241 </p><p><a href="/wiki/Special:BookSources/1234567890" class="internal mw-magiclink-isbn">ISBN 1 234 56789 0</a> - 2006
16249 {{anchorencode:foo bar©#%n}}
16251 <p>foo_bar.C2.A9.23.25n
16256 anchorencode trims spaces
16258 {{anchorencode: __pretty__please__}}
16265 anchorencode deals with links
16267 {{anchorencode: [[hello|world]] [[hi]]}}
16274 anchorencode deals with templates
16276 {{anchorencode: {{Foo}} }}
16283 anchorencode encodes like the TOC generator: (bug 18431)
16285 === _ +:.3A%3A&&]] ===
16286 {{anchorencode: _ +:.3A%3A&&]] }}
16289 <h3><span class="mw-headline" id=".2B:.3A.253A.26.26.5D.5D">_ +:.3A%3A&&]]</span></h3>
16290 <p>.2B:.3A.253A.26.26.5D.5D
16295 Bug 6200: blockquotes and paragraph formatting
16316 Bug 8293: Use of center tag ruins paragraph formatting
16337 Parsing of overlapping (improperly nested) inline html tags
16339 <span><s>x</span></s>
16341 <p><span><s>x</span></s></span>
16344 <p><span><s>x</s></span>
16349 ### Language variants related tests
16352 Self-link in language variants
16354 title=[[Dunav]] language=sr
16356 Both [[Dunav]] and [[Дунав]] are names for this river.
16358 <p>Both <strong class="selflink">Dunav</strong> and <strong class="selflink">Дунав</strong> are names for this river.
16369 Link to another existing title shouldn't be parsed as self-link even if it's a variant of this title
16371 title=[[Duna]] language=sr
16373 [[Дуна]] is not a self-link while [[Duna]] and [[Dуна]] are still self-links.
16375 <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.
16380 Link to a section of a variant of this title shouldn't be parsed as self-link
16382 title=[[Duna]] language=sr
16384 [[Dуна]] is a self-link while [[Dunа#Foo]] and [[Dуна#Foo]] are not self-links.
16386 <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.
16391 Link to pages in language variants
16395 Main Page can be written as [[Маин Паге]]
16397 <p>Main Page can be written as <a href="/wiki/Main_Page" title="Main Page">Маин Паге</a>
16403 Multiple links to pages in language variants
16407 [[Main Page]] can be written as [[Маин Паге]] same as [[Маин Паге]].
16409 <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>.
16415 Simple template in language variants
16421 <p>This is a test template
16427 Template with explicit namespace in language variants
16433 <p>This is a test template
16439 Basic test for template parameter in language variants
16443 {{парамтест|param=foo}}
16445 <p>This is a test template with parameter foo
16451 Simple category in language variants
16455 [[Category:МедиаWики Усер'с Гуиде]]
16457 <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>
16474 Don't convert blue categorylinks to another variant (bug 33210)
16478 [[A]][[Category:分类]]
16480 <a href="/wiki/Category:%E5%88%86%E7%B1%BB" title="Category:分类">分类</a>
16485 Stripping -{}- tags (language variants)
16489 Latin proverb: -{Ne nuntium necare}-
16491 <p>Latin proverb: Ne nuntium necare
16497 Prevent conversion with -{}- tags (language variants)
16499 language=sr variant=sr-ec
16501 Latinski: -{Ne nuntium necare}-
16503 <p>Латински: Ne nuntium necare
16509 Prevent conversion of text with -{}- tags (language variants)
16511 language=sr variant=sr-ec
16513 Latinski: -{Ne nuntium necare}-
16515 <p>Латински: Ne nuntium necare
16521 Prevent conversion of links with -{}- tags (language variants)
16523 language=sr variant=sr-ec
16527 <p><a href="/wiki/Main_Page" title="Main Page">Main Page</a>
16533 -{}- tags within headlines (within html for parserConvert())
16535 language=sr variant=sr-ec
16539 <h2><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>
16545 Explicit definition of language variant alternatives
16547 language=zh variant=zh-tw
16549 -{zh:China;zh-tw:Taiwan}-, not China
16551 <p>Taiwan, not China
16557 Conversion around HTML tags
16559 language=sr variant=sr-ec
16561 -{H|span=>sr-ec:script;title=>sr-ec:src;}-
16562 <span title="La-{sr-el:L;sr-ec:C;}-tin">ski</span>
16565 <span title="ЛаCтин">ски</span>
16571 Explicit session-wise language variant mapping (A flag and - flag)
16573 language=zh variant=zh-tw
16575 Taiwan is not China.
16576 But -{A|zh:China;zh-tw:Taiwan}- is China,
16577 (This-{-|zh:China;zh-tw:Taiwan}- should be stripped!)
16578 and -{China}- is China.
16580 <p>Taiwan is not China.
16581 But Taiwan is Taiwan,
16582 (This should be stripped!)
16583 and China is China.
16588 Explicit session-wise language variant mapping (H flag for hide)
16590 language=zh variant=zh-tw
16592 (This-{H|zh:China;zh-tw:Taiwan}- should be stripped!)
16595 <p>(This should be stripped!)
16601 Adding explicit conversion rule for title (T flag)
16603 language=zh variant=zh-tw showtitle
16605 Should be stripped-{T|zh:China;zh-tw:Taiwan}-!
16608 <p>Should be stripped!
16613 Testing that changing the language variant here in the tests actually works
16615 language=zh variant=zh showtitle
16617 Should be stripped-{T|zh:China;zh-tw:Taiwan}-!
16620 <p>Should be stripped!
16625 Recursive conversion of alt and title attrs shouldn't clear converter state
16627 language=zh variant=zh-cn showtitle
16629 -{H|zh-cn:Exclamation;zh-tw:exclamation;}-
16630 Should be stripped-{T|zh-cn:China;zh-tw:Taiwan}-<span title="exclamation">!</span>
16634 Should be stripped<span title="Exclamation">!</span>
16639 Bug 24072: more test on conversion rule for title
16641 language=zh variant=zh-tw showtitle
16643 This should be stripped-{T|zh:China;zh-tw:Taiwan}-!
16644 This won't take interferes with the title rule-{H|zh:Beijing;zh-tw:Taipei}-.
16647 <p>This should be stripped!
16648 This won't take interferes with the title rule.
16653 Partly disable title conversion if variant == main language code
16655 language=zh variant=zh title=[[ZH]] showtitle
16657 -{T|zh-cn:CN;zh-tw:TW}-
16665 Partly disable title conversion if variant == main language code, more
16667 language=zh variant=zh title=[[ZH]] showtitle
16677 Raw output of variant escape tags (R flag)
16679 language=zh variant=zh-tw
16681 Raw: -{R|zh:China;zh-tw:Taiwan}-
16683 <p>Raw: zh:China;zh-tw:Taiwan
16688 Nested using of manual convert syntax
16690 language=zh variant=zh-hk
16692 Nested: -{zh-hans:Hi -{zh-cn:China;zh-sg:Singapore;}-;zh-hant:Hello -{zh-tw:Taiwan;zh-hk:H-{ong}- K-{}-ong;}-;}-!
16694 <p>Nested: Hello Hong Kong!
16699 Proper conversion of text in external links
16701 language=sr variant=sr-ec
16703 http://www.google.com
16704 gopher://www.google.com
16705 [http://www.google.com http://www.google.com]
16706 [gopher://www.google.com gopher://www.google.com]
16707 [https://www.google.com irc://www.google.com]
16708 [ftp://www.google.com www.google.com/ftp://dir]
16709 [//www.google.com www.google.com]
16711 <p><a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
16712 <a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
16713 <a rel="nofollow" class="external free" href="http://www.google.com">http://www.google.com</a>
16714 <a rel="nofollow" class="external free" href="gopher://www.google.com">gopher://www.google.com</a>
16715 <a rel="nofollow" class="external text" href="https://www.google.com">irc://www.google.com</a>
16716 <a rel="nofollow" class="external text" href="ftp://www.google.com">www.гоогле.цом/фтп://дир</a>
16717 <a rel="nofollow" class="external text" href="//www.google.com">www.гоогле.цом</a>
16722 Do not convert roman numbers to language variants
16724 language=sr variant=sr-ec
16728 <p>Фридрих IV је цар.
16733 Unclosed language converter markup "-{"
16744 Don't convert raw rule "-{R|=>}-" to "=>"
16755 Don't break link parsing if language converter markup is in the caption.
16757 language=sr variant=sr-ec
16759 [[Main Page|-{R|main page}-]]
16761 <p><a href="/wiki/Main_Page" title="Маин Паге">main page</a>
16765 # This test is currently broken in the PHP parser (bug 52661)
16767 Don't break image parsing if language converter markup is in the caption.
16772 [[File:Foobar.jpg|-{R|caption}-]]
16774 <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>
16778 # This test is currently broken in the PHP parser (bug 52661)
16780 Don't break list handling if language converter markup is in the item.
16782 language=zh variant=zh-cn
16785 ;-{zh-cn:AAA;zh-tw:BBB}-
16792 # This test is currently broken in the PHP parser (bug 52661)
16794 Don't break table handling if language converter markup is in the cell.
16796 language=sr variant=sr-ec
16813 Bug 529: Uncovered bullet
16826 # Plain MediaWiki does not remove empty lists, but tidy actually does.
16827 # Templates in Wikipedia rely on this behavior, as tidy has always been
16828 # enabled there. These tests are normally run *without* tidy, so specify the
16829 # full output here.
16830 # To test realistic parsing behavior, apply a tidy-like transformation to both
16831 # the expected output and your parser's output.
16833 Bug 529: Uncovered bullet leaving empty list, normally removed by tidy
16835 ******* Foo {{bullet}}
16865 Bug 529: Uncovered table already at line-start
16888 Bug 529: Uncovered bullet in parser function result
16890 * Foo {{lc:{{bullet}} }}
16902 Bug 5678: Double-parsed template argument
16904 {{lc:{{{1}}}|hello}}
16911 Bug 5678: Double-parsed template invocation
16913 {{lc:{{paramtest {{!}} param = hello }} }}
16915 <p>{{paramtest | param = hello }}
16920 Case insensitivity of parser functions for non-ASCII characters (bug 8143)
16923 title=[[Main Page]]
16925 {{PRVNÍVELKÉ:ěščř}}
16926 {{prvnívelké:ěščř}}
16946 Morwen/13: Unclosed link followed by heading
16953 <h2><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>
16958 HHP2.1: Heuristics for headings in preprocessor parenthetical structures
16965 <h1><span class="mw-headline" id="heading">heading</span></h1>
16970 HHP2.2: Heuristics for headings in preprocessor parenthetical structures
16977 <h2><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>
16992 Paragraphs inside divs (no extra line breaks)
17004 Paragraphs inside divs (extra line break on open)
17019 Paragraphs inside divs (extra line break on close)
17034 Paragraphs inside divs (extra line break on open and close)
17051 Nesting tags, paragraphs on lines which begin with <div>
17055 <div></div><strong>A
17064 # Bug 6200: <blockquote> should behave like <div> with respect to line breaks
17066 Bug 6200: paragraphs inside blockquotes (no extra line breaks)
17068 <blockquote>Line one
17070 Line two</blockquote>
17072 <blockquote>Line one
17073 Line two</blockquote>
17078 Bug 6200: paragraphs inside blockquotes (extra line break on open)
17083 Line two</blockquote>
17088 Line two</blockquote>
17093 Bug 6200: paragraphs inside blockquotes (extra line break on close)
17095 <blockquote>Line one
17100 <blockquote>Line one
17108 Bug 6200: paragraphs inside blockquotes (extra line break on open and close)
17125 Paragraphs inside blockquotes/divs (no extra line breaks)
17127 <blockquote><div>Line one
17129 Line two</div></blockquote>
17131 <blockquote><div>Line one
17132 Line two</div></blockquote>
17137 Paragraphs inside blockquotes/divs (extra line break on open)
17142 Line two</div></blockquote>
17147 Line two</div></blockquote>
17152 Paragraphs inside blockquotes/divs (extra line break on close)
17154 <blockquote><div>Line one
17157 </div></blockquote>
17159 <blockquote><div>Line one
17162 </div></blockquote>
17167 Paragraphs inside blockquotes/divs (extra line break on open and close)
17173 </div></blockquote>
17179 </div></blockquote>
17184 Interwiki links trounced by replaceExternalLinks after early LinkHolderArray expansion
17186 wgLinkHolderBatchSize=0
17192 <p><a href="http://www.usemod.com/cgi-bin/mb.pl?1" class="extiw" title="meatball:1">meatball:1</a>
17193 <a href="http://www.usemod.com/cgi-bin/mb.pl?2" class="extiw" title="meatball:2">meatball:2</a>
17194 <a href="http://www.usemod.com/cgi-bin/mb.pl?3" class="extiw" title="meatball:3">meatball:3</a>
17199 Free external link invading image caption
17201 [[Image:Foobar.jpg|thumb|http://x|hello]]
17203 <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"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>hello</div></div></div>
17208 Bug 15196: localised external link numbers
17212 [http://en.wikipedia.org/]
17214 <p><a rel="nofollow" class="external autonumber" href="http://en.wikipedia.org/">[۱]</a>
17217 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/"></a></p>
17221 Multibyte character in padleft
17223 {{padleft:-Hello|7|Æ}}
17230 Multibyte character in padright
17232 {{padright:Hello-|7|Æ}}
17239 formatdate parser function
17241 {{#formatdate:2009-03-24}}
17243 <p><span class="mw-formatted-date" title="2009-03-24">2009-03-24</span>
17248 formatdate parser function, with default format
17250 {{#formatdate:2009-03-24|mdy}}
17252 <p><span class="mw-formatted-date" title="2009-03-24">March 24, 2009</span>
17257 Spacing of numbers in formatted dates
17259 {{#formatdate:January 15}}
17261 <p><span class="mw-formatted-date" title="01-15">January 15</span>
17266 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
17268 language=nl title=[[MediaWiki:Common.css]]
17270 {{#formatdate:2009-03-24|dmy}}
17272 <p><span class="mw-formatted-date" title="2009-03-24">24 March 2009</span>
17285 Edit comment with link
17289 I like the [[Main Page]] a lot
17291 I like the <a href="/wiki/Main_Page" title="Main Page">Main Page</a> a lot
17295 Edit comment with link and link text
17299 I like the [[Main Page|best pages]] a lot
17301 I like the <a href="/wiki/Main_Page" title="Main Page">best pages</a> a lot
17305 Edit comment with link and link text with suffix
17309 I like the [[Main Page|best page]]s a lot
17311 I like the <a href="/wiki/Main_Page" title="Main Page">best pages</a> a lot
17315 Edit comment with section link (non-local, eg in history list)
17317 comment title=[[Main Page]]
17319 /* External links */ removed bogus entries
17321 <a href="/wiki/Main_Page#External_links" title="Main Page">→</a><span dir="auto"><span class="autocomment">External links: </span> removed bogus entries</span>
17325 Edit comment with section link and text before it (non-local, eg in history list)
17327 comment title=[[Main Page]]
17329 pre-comment text /* External links */ removed bogus entries
17331 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>
17335 Edit comment with section link (local, eg in diff view)
17337 comment local title=[[Main Page]]
17339 /* External links */ removed bogus entries
17341 <a href="#External_links">→</a><span dir="auto"><span class="autocomment">External links: </span> removed bogus entries</span>
17345 Edit comment with subpage link (bug 14080)
17349 title=[[Subpage test]]
17351 Poked at a [[/subpage]] here...
17353 Poked at a <a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">/subpage</a> here...
17357 Edit comment with subpage link and link text (bug 14080)
17361 title=[[Subpage test]]
17363 Poked at a [[/subpage|neat little page]] here...
17365 Poked at a <a href="/wiki/Subpage_test/subpage" title="Subpage test/subpage">neat little page</a> here...
17369 Edit comment with bogus subpage link in non-subpage NS (bug 14080)
17372 title=[[Subpage test]]
17374 Poked at a [[/subpage]] here...
17376 Poked at a <a href="/index.php?title=/subpage&action=edit&redlink=1" class="new" title="/subpage (page does not exist)">/subpage</a> here...
17380 Edit comment with bare anchor link (local, as on diff)
17384 title=[[Main Page]]
17388 <a href="#section">#section</a>
17392 Edit comment with bare anchor link (non-local, as on history)
17395 title=[[Main Page]]
17399 <a href="/wiki/Main_Page#section" title="Main Page">#section</a>
17403 Anchor starting with underscore
17407 <p><a href="#_ref">One</a>
17412 Id starting with underscore
17414 <div id="_ref"></div>
17416 <div id="_ref"></div>
17421 Space normalisation on autocomment (bug 22784)
17424 title=[[Main Page]]
17426 /* __hello__world__ */
17428 <a href="/wiki/Main_Page#hello_world" title="Main Page">→</a><span dir="auto"><span class="autocomment">__hello__world__</span></span>
17432 percent-encoding and + signs in comments (Bug 26410)
17436 [[ABC%33D% ++]] [[ABC%33D% ++|+%20]]
17438 <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>
17442 Bad images - basic functionality
17451 Bad images - bug 16039: text after bad image disappears
17465 Verify that displaytitle works (bug #22501) no displaytitle
17469 wgAllowDisplayTitle=true
17470 wgRestrictDisplayTitle=false
17472 this is not the the title
17475 <p>this is not the the title
17480 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=false
17485 wgAllowDisplayTitle=true
17486 wgRestrictDisplayTitle=false
17488 this is not the the title
17489 {{DISPLAYTITLE:whatever}}
17492 <p>this is not the the title
17497 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=true mismatch
17502 wgAllowDisplayTitle=true
17503 wgRestrictDisplayTitle=true
17505 this is not the the title
17506 {{DISPLAYTITLE:whatever}}
17509 <p>this is not the the title
17514 Verify that displaytitle works (bug #22501) RestrictDisplayTitle=true matching
17519 wgAllowDisplayTitle=true
17520 wgRestrictDisplayTitle=true
17522 this is not the the title
17523 {{DISPLAYTITLE:screen}}
17526 <p>this is not the the title
17531 Verify that displaytitle works (bug #22501) AllowDisplayTitle=false
17536 wgAllowDisplayTitle=false
17538 this is not the the title
17539 {{DISPLAYTITLE:screen}}
17542 <p>this is not the the title
17543 <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>
17548 Verify that displaytitle works (bug #22501) AllowDisplayTitle=false no DISPLAYTITLE
17553 wgAllowDisplayTitle=false
17555 this is not the the title
17558 <p>this is not the the title
17563 Verify that displaytitle handles inline CSS styles (bug 26547) - rejected value
17568 wgAllowDisplayTitle=true
17569 wgRestrictDisplayTitle=true
17571 this is not the the title
17572 {{DISPLAYTITLE:<span style="display: none;">s</span>creen}}
17574 <span style="/* attempt to bypass $wgRestrictDisplayTitle */">s</span>creen
17575 <p>this is not the the title
17580 Verify that displaytitle handles inline CSS styles (bug 26547) - accepted value
17585 wgAllowDisplayTitle=true
17586 wgRestrictDisplayTitle=true
17588 this is not the the title
17589 {{DISPLAYTITLE:<span style="color: red;">s</span>creen}}
17591 <span style="color: red;">s</span>creen
17592 <p>this is not the the title
17597 preload: check <noinclude> and <includeonly>
17601 Hello <noinclude>cruel</noinclude><includeonly>kind</includeonly> world.
17607 preload: check <onlyinclude>
17611 Goodbye <onlyinclude>Hello world</onlyinclude>
17617 preload: can pass tags through if we want to
17621 <includeonly><</includeonly>includeonly>Hello world<includeonly><</includeonly>/includeonly>
17623 <includeonly>Hello world</includeonly>
17627 preload: check that it doesn't try to do tricks
17631 * <!-- Hello --> ''{{world}}'' {{<includeonly>subst:</includeonly>How are you}}{{ {{{|safesubst:}}} #if:1|2|3}}
17633 * <!-- Hello --> ''{{world}}'' {{subst:How are you}}{{ {{{|safesubst:}}} #if:1|2|3}}
17637 Play a bit with r67090 and bug 3158
17641 <div style="width:50% !important"> </div>
17642 <div style="width:50% !important"> </div>
17643 <div style="width:50% !important"> </div>
17644 <div style="border : solid;"> </div>
17646 <div style="width:50% !important"> </div>
17647 <div style="width:50% !important"> </div>
17648 <div style="width:50% !important"> </div>
17649 <div style="border : solid;"> </div>
17654 HTML5 data attributes
17656 <span data-foo="bar">Baz</span>
17657 <p data-abc-def_hij="">Quuz</p>
17659 <p><span data-foo="bar">Baz</span>
17661 <p data-abc-def_hij="">Quuz</p>
17666 percent-encoding and + signs in internal links (Bug 26410)
17668 [[User:+%]] [[Page+title%]]
17669 [[%+]] [[%+|%20]] [[%+ ]] [[%+r]]
17670 [[%]] [[+]] [[image:%+abc%39|foo|[[bar]]]]
17671 [[%33%45]] [[%33%45+]]
17673 <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>
17674 <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>
17675 <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>
17676 <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>
17681 Special characters in embedded file links (bug 27679)
17683 [[File:Contains & ampersand.jpg]]
17684 [[File:Does not exist.jpg|Title with & ampersand]]
17686 <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>
17687 <a href="/index.php?title=Special:Upload&wpDestFile=Does_not_exist.jpg" class="new" title="File:Does not exist.jpg">Title with & ampersand</a>
17693 Confirm that 'apos' named character reference doesn't make it to output (not legal in HTML 4)
17695 Text's been normalized?
17697 <p>Text's been normalized?
17702 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate free external links
17704 http://www.example.org/ <-- U+3000 (vim: ^Vu3000)
17706 <p><a rel="nofollow" class="external free" href="http://www.example.org/">http://www.example.org/</a> <-- U+3000 (vim: ^Vu3000)
17711 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate bracketed external links
17713 [http://www.example.org/ ideograms]
17715 <p><a rel="nofollow" class="external text" href="http://www.example.org/">ideograms</a>
17720 Bug 19052 U+3000 IDEOGRAPHIC SPACE should terminate external images links
17722 http://www.example.org/pic.png <-- U+3000 (vim: ^Vu3000)
17724 <p><img src="http://www.example.org/pic.png" alt="pic.png" /> <-- U+3000 (vim: ^Vu3000)
17748 Bug 31098 Template which includes system messages which includes the template
17752 <p><span class="error">Template loop detected: <a href="/wiki/Template:Identical" title="Template:Identical">Template:Identical</a></span>
17753 <span class="error">Template loop detected: <a href="/wiki/Template:Identical" title="Template:Identical">Template:Identical</a></span>
17758 Bug31490 Turkish: ucfirst 'blah'
17769 Bug31490 Turkish: ucfirst 'ix'
17780 Bug31490 Turkish: lcfirst 'BLAH'
17791 Bug31490 Turkish: ucfırst (with a dotless i)
17797 <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>
17802 Bug31490 ucfırst (with a dotless i) with English language
17808 <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>
17813 Bug 26375: TOC with italics
17815 title=[[Main Page]]
17818 == ''Lost'' episodes ==
17820 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17822 <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>
17826 <h2><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>
17831 Bug 26375: TOC with bold
17833 title=[[Main Page]]
17836 == '''should be bold''' then normal text ==
17838 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17840 <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>
17844 <h2><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>
17849 Bug 33845: Headings become cursive in TOC when they contain an image
17851 title=[[Main Page]]
17854 == Image [[Image:foobar.jpg]] ==
17856 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17858 <li class="toclevel-1 tocsection-1"><a href="#Image"><span class="tocnumber">1</span> <span class="toctext">Image</span></a></li>
17862 <h2><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>
17867 Bug 33845 (2): Headings become bold in TOC when they contain a blockquote
17869 title=[[Main Page]]
17872 == <blockquote>Quote</blockquote> ==
17874 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17876 <li class="toclevel-1 tocsection-1"><a href="#Quote"><span class="tocnumber">1</span> <span class="toctext">Quote</span></a></li>
17880 <h2><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>
17885 Unclosed tags in TOC
17887 title=[[Main Page]]
17891 <small>Hanc marginis exiguitas non caperet.</small>
17894 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17896 <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>
17900 <h2><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>
17901 <p><small>Hanc marginis exiguitas non caperet.</small>
17907 Multiple tags in TOC
17910 == <i>Foo</i> <b>Bar</b> ==
17912 == <i>Foo</i> <blockquote>Bar</blockquote> ==
17914 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17916 <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>
17917 <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>
17921 <h2><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>
17922 <h2><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>
17927 Tags with parameters in TOC
17930 == <sup class="in-h2">Hello</sup> ==
17932 == <sup class="a > b">Evilbye</sup> ==
17934 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17936 <li class="toclevel-1 tocsection-1"><a href="#Hello"><span class="tocnumber">1</span> <span class="toctext"><sup>Hello</sup></span></a></li>
17937 <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>
17941 <h2><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>
17942 <h2><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>
17947 span tags with directionality in TOC
17950 == <span dir="ltr">C++</span> ==
17952 == <span dir="rtl">זבנג!</span> ==
17954 == <span style="font-style: italic">The attributes on these span tags must be deleted from the TOC</span> ==
17956 == <span style="font-style: italic" dir="ltr">All attributes on these span tags must be deleted from the TOC</span> ==
17958 == <span dir="ltr" style="font-style: italic">Attributes after dir on these span tags must be deleted from the TOC</span> ==
17960 <div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
17962 <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>
17963 <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>
17964 <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>
17965 <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>
17966 <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>
17970 <h2><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>
17971 <h2><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>
17972 <h2><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>
17973 <h2><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>
17974 <h2><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>
17981 == {{int:headline_sample}} ==
17985 Bug 32057: Title needed when expanding <h> nodes.
17987 title=[[Main Page]]
17991 <h2><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>
17996 Strip marker in urlencode
17998 {{urlencode:x<nowiki/>y}}
17999 {{urlencode:x<nowiki/>y|wiki}}
18000 {{urlencode:x<nowiki/>y|path}}
18027 Strip marker in formatNum
18029 {{formatnum:1<nowiki/>2}}
18030 {{formatnum:1<nowiki/>2|R}}
18038 Check noCommafy in formatNum
18042 {{formatnum:123456.78}}
18043 {{formatnum:123456.78|NOSEP}}
18051 Wrong option for formatNum (bug 56199)
18053 {{formatnum:1,234.56|Random}}
18054 {{formatnum:1,234.56|EVERYTHING}}
18055 {{formatnum:1234.56|any argument that has the string 'NOSEP'}}
18064 Strip marker in grammar
18068 {{grammar:elative|foo<nowiki/>bar}}
18075 Strip marker in padleft
18077 {{padleft:|2|x<nowiki/>y}}
18084 Strip marker in padright
18086 {{padright:|2|x<nowiki/>y}}
18093 Strip marker in anchorencode
18095 {{anchorencode:x<nowiki/>y}}
18102 nowiki inside link inside heading (bug 18295)
18104 ==[[foo|x<nowiki>y</nowiki>z]]==
18106 <h2><span class="mw-headline" id="xyz"><a href="/index.php?title=Foo&action=edit&redlink=1" class="new" title="Foo (page does not exist)">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>
18111 new support for bdi element (bug 31817)
18113 <p dir="rtl" lang="he">ולדימיר לנין (ברוסית: <bdi lang="ru">Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי.</p>
18115 <p dir="rtl" lang="he">ולדימיר לנין (ברוסית: <bdi lang="ru">Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי.</p>
18120 Ignore pipe between table row attributes
18124 |- id=foo | style='color: red'
18132 <tr id="foo" style="color: red">
18139 Gallery override link with WikiLink (bug 34852)
18142 File:foobar.jpg|caption|alt=galleryalt|link=InterWikiLink
18145 <ul class="gallery mw-gallery-traditional">
18146 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
18147 <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" /></a></div></div>
18148 <div class="gallerytext">
18158 Gallery override link with absolute external link (bug 34852)
18161 File:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org
18164 <ul class="gallery mw-gallery-traditional">
18165 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
18166 <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" /></a></div></div>
18167 <div class="gallerytext">
18177 Gallery override link with malicious javascript (bug 34852)
18180 File:foobar.jpg|caption|alt=galleryalt|link=" onclick="alert('malicious javascript code!');
18183 <ul class="gallery mw-gallery-traditional">
18184 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
18185 <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" /></a></div></div>
18186 <div class="gallerytext">
18196 Gallery with invalid title as link (bug 43964)
18199 File:foobar.jpg|link=<
18202 <ul class="gallery mw-gallery-traditional">
18203 <li class="gallerybox" style="width: 155px"><div style="width: 155px">
18204 <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" /></a></div></div>
18205 <div class="gallerytext">
18213 Language parser function
18222 Padleft and padright as substr
18224 {{padleft:|3|abcde}}
18225 {{padright:|3|abcde}}
18233 Special parser function
18235 {{#special:RandomPage}}
18236 {{#special:BaDtItLe}}
18237 {{#special:Foobar}}
18246 Bug 34939 - Case insensitive link parsing ([HttP://])
18248 [HttP://MediaWiki.Org/]
18250 <p><a rel="nofollow" class="external autonumber" href="HttP://MediaWiki.Org/">[1]</a>
18253 <p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/"></a></p>
18257 Bug 34939 - Case insensitive link parsing ([HttP:// title])
18259 [HttP://MediaWiki.Org/ MediaWiki]
18261 <p><a rel="nofollow" class="external text" href="HttP://MediaWiki.Org/">MediaWiki</a>
18266 Bug 34939 - Case insensitive link parsing (HttP://)
18268 HttP://MediaWiki.Org/
18270 <p><a rel="nofollow" class="external free" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a>
18273 <p><a rel="mw:ExtLink" href="HttP://MediaWiki.Org/">HttP://MediaWiki.Org/</a></p>
18291 <h2><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>
18292 <h2><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>
18293 <h2><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>
18294 <h2><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>
18295 <h2><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>
18301 ### Parsoid-specific tests
18302 ### Parsoid-PHP parser incompatibilities
18305 1. SOL-sensitive wikitext tokens as template-args
18307 parsoid=wt2html,wt2wt
18313 <span about="#mwt1" typeof="mw:Transclusion">
18314 </span><ul about="#mwt1"><li>a</li>
18316 <span about="#mwt2" typeof="mw:Transclusion">
18317 </span><ol about="#mwt2"><li>a</li>
18319 <span about="#mwt3" typeof="mw:Transclusion">
18320 </span><dl about="#mwt3"><dd>a</dd>
18324 #### -----------------------------------------------------------------
18325 #### Parsoid-specific functionality tests
18326 #### -----------------------------------------------------------------
18328 # Bug 63642: Formatting elt fixup is cleaned up.
18329 # We know wt2wt will fail, but we expect selser to pass.
18330 # Due to the nature of our testing, wt2wt and selser tests will enter the
18331 # blacklist and we'll catch selser regressions based on changes to the
18332 # blacklist entries for selser tests.
18334 Bad treebuilder fixup of formatting elt is cleaned up
18336 parsoid=wt2html,wt2wt
18341 [[Image:Foobar.jpg|right|Test]]
18347 <p><small></small></p>
18348 <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><small>Test</small></figcaption></figure>
18353 #### ----------------------------------------------------------------
18354 #### Parsoid-only testing of Parsoid's impl of <ref> and <references>
18355 #### tags. Parsoid's output for these tags differs from that of the
18357 #### ----------------------------------------------------------------
18360 Ref: 1. ref-location should be replaced with an index span
18365 B <ref name="x">foo</ref>
18368 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span>
18369 B <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-2">[2]</a></span>
18370 C <span about="#mwt3" class="reference" data-mw='{"name":"ref","attrs":{"name":"y"}}' id="cite_ref-y-3-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-y-3">[3]</a></span></p>
18374 Ref: 2. ref-tags with identical names should all get the same index
18378 A <ref name="x">foo</ref>
18381 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
18382 B <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span></p>
18386 Ref: 3. spaces in ref-names should be ignored
18390 A <ref name="x">foo</ref>
18391 B <ref name=" x " />
18394 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}' id="cite_ref-x-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
18395 B <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span>
18396 C <span about="#mwt3" class="reference" data-mw='{"name":"ref","attrs":{"name":"x"}}' id="cite_ref-x-1-2" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-x-1">[1]</a></span></p>
18400 Ref: 4. 'constructor' should be accepted as a valid ref-name
18401 (NOTE: constructor is a predefined property in JS and constructor as a ref-name can clash with it if not handled properly)
18405 A <ref name="constructor">foo</ref>
18407 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"constructor"}}' id="cite_ref-constructor-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-constructor-1">[1]</a></span></p>
18411 Ref: 5. body should accept generic wikitext
18416 This is a '''[[bolded link]]''' and this is a {{echo|transclusion}}
18421 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"This is a <b data-parsoid='{\"dsr\":[19,40,3,3]}'><a rel=\"mw:WikiLink\" href=\"./Bolded_link\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded link\"},\"dsr\":[22,37,2,2]}'>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}}]}' data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[55,76,null,null]}'>transclusion</span>\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
18423 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
18424 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> This is a <b><a rel="mw:WikiLink" href="./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>
18430 Ref: 6. indent-pres should not be output in ref-body
18442 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo\n bar\n baz\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
18444 <ol class="references" typeof="mw:Extension/references" about="#mwt3" data-mw='{"name":"references","attrs":{}}'>
18445 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo
18453 Ref: 7. No p-wrapping in ref-body
18472 <p>A <span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo\n\nbar\n\n\nbaz\n\n\n\nbooz\n"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
18474 <ol about="#mwt2" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
18475 <li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo
18490 Ref: 8. transclusion wikitext has lower precedence
18494 A <ref> foo {{echo|</ref> B C}}
18498 <p>A <span class="reference" data-mw="{"name":"ref","body":{"html":"foo <span typeof=\"mw:Nowiki\" data-parsoid='{\"src\":\"{{\",\"dsr\":[12,14,0,0]}'>{{</span>echo|"},"attrs":{}}" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
18499 <ol class="references" typeof="mw:Extension/references" data-mw="{"name":"references","attrs":{}}">
18500 <li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo <span typeof="mw:Nowiki">{{</span>echo|</li>
18505 Ref: 9. unclosed comments should not leak out of ref-body
18509 A <ref> foo <!--</ref> B C
18512 <p>A <span class="reference" data-mw='{"name":"ref","body":{"html":"foo <!---->"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> B C</p>
18513 <ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
18514 <li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo </li>
18519 Ref: 10. Unclosed HTML tags should not leak out of ref-body
18523 A <ref> <b> foo </ref> B C
18527 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"<b data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[8,16,3,0]}'> foo </b>"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref> <b> foo </ref>"}'><a href="#cite_note-1">[1]</a></span> B C</p>
18530 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-parsoid='{"src":"<references />"}' data-mw='{"name":"references","attrs":{}}'>
18531 <li about="#cite_note-1" id="cite_note-1" data-parsoid="{}"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> <b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></li>
18536 Ref: 11. ref-tags acts like an inline element wrt P-wrapping
18543 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>foo</ref>"}'><a href="#cite_note-1">[1]</a></span> B
18544 C <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>bar</ref>"}'><a href="#cite_note-2">[2]</a></span> D</p>
18548 Ref: 12. ref-tags act as trailing newline migration barrier
18552 <!--the newline at the end of this line moves out of the p-tag-->a
18554 b<!--the newline at the end of this line stays inside the p-tag--> <ref />
18559 <p><!--the newline at the end of this line moves out of the p-tag-->a</p>
18562 <p>b<!--the newline at the end of this line stays inside the p-tag--> <span about="#mwt1" class="reference" data-mw='{"name":"ref","attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span>
18563 <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span></p>
18570 Ref: 13. ref-tags are not SOL-transparent and block indent-pres
18578 <p><span about="#mwt1" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> A
18579 <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"bar\n"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[2]</a></span> B</p>
18583 Ref: 14. A nested ref-tag should be emitted as plain text
18587 <ref>foo <ref>bar</ref> baz</ref>
18591 <p><span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo &lt;ref>bar&lt;/ref> baz"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>foo <ref>bar</ref> baz</ref>"}'><a href="#cite_note-1">[1]</a></span></p>
18593 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-parsoid='{"src":"<references />"}' data-mw='{"name":"references","attrs":{}}'>
18594 <li about="#cite_note-1" id="cite_note-1" data-parsoid="{}"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo <ref>bar</ref> baz</li>
18599 Ref: 15. ref-tags with identical names should get identical indexes
18603 A1 <ref name="a">foo</ref> A2 <ref name="a" />
18604 B1 <ref name="b" /> B2 <ref name="b">bar</ref>
18608 <p>A1 <span about="#mwt3" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"a"}}' id="cite_ref-a-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" data-mw='{"name":"ref","attrs":{"name":"a"}}' id="cite_ref-a-1-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-a-1">[1]</a></span>
18609 B1 <span about="#mwt7" class="reference" data-mw='{"name":"ref","attrs":{"name":"b"}}' id="cite_ref-b-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}' id="cite_ref-b-2-1" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-b-2">[2]</a></span></p>
18611 <ol about="#mwt10" class="references" typeof="mw:Extension/references" 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> foo</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> bar</li>
18615 ## We don't bother wt2wt-ing non-standard whitespace
18617 Ref: 16. Tokenizer should accept non-standard whitespace in <ref> and </ref> tags
18625 <p>A <span class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
18627 <ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
18628 <li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo</li></ol>
18632 References: 1. references tag without any refs should be handled properly
18638 <ol about="#mwt2" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'></ol>
18642 References: 2. references tag with group only outputs references from that group
18646 A <ref group="a">foo</ref>
18647 B <ref group="b">bar</ref>
18649 <references group="a" />
18651 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"group":"a"}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[a 1]</a></span>
18652 B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"group":"b"}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[b 1]</a></span></p>
18654 <ol about="#mwt6" class="references" typeof="mw:Extension/references" 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-0">↑</a></span> foo</li>
18659 References: 3. ref list should be cleared after processing references
18671 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span></p>
18673 <ol about="#mwt4" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1-0">↑</a></span> foo</li>
18676 <p>B <span about="#mwt6" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-2">[1]</a></span></p>
18678 <ol about="#mwt8" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2-0">↑</a></span> bar</li>
18683 References: 4. only referenced group should be cleared after processing references
18687 A <ref group="a">afoo</ref>
18690 <references group="a" />
18696 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"afoo"},"attrs":{"group":"a"}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[a 1]</a></span>
18697 B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bfoo"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>bfoo</ref>"}'><a href="#cite_note-2">[1]</a></span></p>
18699 <ol about="#mwt6" class="references" typeof="mw:Extension/references" 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-0">↑</a></span> afoo</li>
18702 <p>C <span about="#mwt8" class="reference" data-mw='{"name":"ref","body":{"html":"cfoo"},"attrs":{}}' id="cite_ref-3-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-3">[2]</a></span></p>
18704 <ol about="#mwt10" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2-0">↑</a></span> bfoo</li><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3-0">↑</a></span> cfoo</li>
18709 References: 5. ref tags in references should be processed while ignoring all other content
18714 B <ref name="b">bar</ref>
18717 <ref name="a">foo</ref>
18718 This should just get lost.
18721 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","attrs":{"name":"a"}}' id="cite_ref-a-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref name=\"a\" />"}'><a href="#cite_note-a-1">[1]</a></span>
18722 B <span about="#mwt4" class="reference" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}' id="cite_ref-b-2-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref name=\"b\">bar</ref>"}'><a href="#cite_note-b-2">[2]</a></span></p>
18725 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-parsoid='{"src":"<references>\n<ref name=\"a\">foo</ref>\nThis should just get lost.\n</references>"}' data-mw='{"name":"references","body":{"extsrc":"<ref name=\"a\">foo</ref>\nThis should just get lost.","html":"\n<span about=\"#mwt8\" class=\"reference\" data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo\"},\"attrs\":{\"name\":\"a\"}}' rel=\"dc:references\" typeof=\"mw:Extension/ref\"><a href=\"#cite_note-a-1\">[1]</a></span>\n"},"attrs":{}}'>
18726 <li about="#cite_note-a-1" id="cite_note-a-1" data-parsoid="{}"><span rel="mw:referencedBy"><a href="#cite_ref-a-1-0">↑</a></span> foo</li>
18727 <li about="#cite_note-b-2" id="cite_note-b-2" data-parsoid="{}"><span rel="mw:referencedBy"><a href="#cite_ref-b-2-0">↑</a></span> bar</li>
18732 References: 6. <references /> from a transclusion
18736 <ref>Foo</ref> {{echo|<references />}}
18738 <span about="#mwt3" class="reference" data-mw='{"name":"ref","body":{"html":"Foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref"><a href="#cite_note-1">[1]</a></span> <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-0">↑</a></span> Foo</li></ol>
18742 References: 7. Multiple references tags (one without and one with nested refs) should be correctly handled
18746 A <ref>foo bar for a</ref>
18747 B <ref group="X" name="b" />
18751 <references group="X">
18752 <ref name="b">foo</ref>
18755 <p>A <span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo bar for a"},"attrs":{}}' id="cite_ref-2-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>foo bar for a</ref>"}'><a href="#cite_note-2" data-parsoid="{}">[2]</a></span>
18756 B <span about="#mwt4" class="reference" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}' id="cite_ref-b-3-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref name=\"b\" group=\"X\" />"}'><a href="#cite_note-b-3" data-parsoid="{}">[X 1]</a></span></p>
18758 <ol class="references" typeof="mw:Extension/references" about="#mwt6" data-parsoid='{"src":"<references />"}' data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-b-1" id="cite_note-b-1" data-parsoid="{}"><span rel="mw:referencedBy" data-parsoid="{}">↑</span> foo</li><li about="#cite_note-2" id="cite_note-2" data-parsoid="{}"><span rel="mw:referencedBy" data-parsoid="{}"><a href="#cite_ref-2-0" data-parsoid="{}">↑</a></span> foo bar for a</li></ol>
18760 <ol class="references" typeof="mw:Extension/references" about="#mwt8" data-parsoid='{"src":"<references group=\"X\">\n<ref name=\"b\">foo</ref>\n</references>","group":"X"}' data-mw='{"name":"references","body":{"extsrc":"<ref name=\"b\">foo</ref>","html":"\n<span about=\"#mwt10\" class=\"reference\" data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo\"},\"attrs\":{\"name\":\"b\"}}' rel=\"dc:references\" typeof=\"mw:Extension/ref\"><a href=\"#cite_note-b-1\">[1]</a></span>\n"},"attrs":{"group":"X"}}'><li about="#cite_note-b-3" id="cite_note-b-3" data-parsoid="{}"><span rel="mw:referencedBy" data-parsoid="{}"><a href="#cite_ref-b-3-0" data-parsoid="{}">↑</a></span> </li></ol>
18764 Entities in ref name
18768 <ref name="test & me">hi</ref>
18770 <p data-parsoid='{}'><span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"hi"},"attrs":{"name":"test & me"}}' id="cite_ref-test & me-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref name=\"test &amp; me\">hi</ref>"}'><a href="#cite_note-test & me-1" data-parsoid="{}">[1]</a></span></p>
18773 # This test is wt2html only because we're permitting the serializer to produce
18774 # dirty diffs, normalizing the unclosed references to the self-closed version.
18776 Generate references for unclosed references tag
18784 <p data-parsoid='{}'>a<span about="#mwt2" class="reference" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-parsoid='{"src":"<ref>foo</ref>"}'><a href="#cite_note-1" data-parsoid="{}">[1]</a></span></p>
18787 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-parsoid='{"src":"<references>"}' data-mw='{"name":"references","attrs":{}}'>
18788 <li about="#cite_note-1" id="cite_note-1" data-parsoid="{}"><span rel="mw:referencedBy" data-parsoid="{}"><a href="#cite_ref-1-0" data-parsoid="{}">↑</a></span> foo</li></ol>
18792 New reference serializes on its own line
18794 parsoid=wt2wt,html2wt
18799 foo<ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
18802 #### ----------------------------------------------------------------
18803 #### The following section of tests are primarily to test
18804 #### wikitext escaping capabilities of Parsoid. Given that
18805 #### escaping can be done any number of ways, the wikitext (input)
18806 #### is always adjusted to reflect how Parsoid adds nowiki
18809 #### We are marking several tests as parsoid-only since the
18810 #### HTML in the result section is different from what the
18811 #### PHP parser generates for it.
18812 #### ----------------------------------------------------------------
18815 #### --------------- Headings ---------------
18817 #### 1. Nested inside html <h1>=foo=</h1>
18818 #### 2. Outside heading nest on a single line <h1>foo</h1>*bar
18819 #### 3. Nested inside html with wikitext split by html tags
18820 #### 4. No escape needed
18821 #### 5. Empty headings <h1></h1>
18822 #### 6. Heading chars in SOL context
18823 #### ----------------------------------------
18825 Headings: 0. Unnested
18829 <nowiki>=foo=</nowiki>
18831 <nowiki> =foo= </nowiki>
18833 <nowiki>=foo=</nowiki>
18835 =foo''a''<nowiki>=</nowiki>
18837 <p><span typeof="mw:Nowiki">=foo=</span></p>
18839 <p><span typeof="mw:Nowiki"> =foo= </span>
18841 <span typeof="mw:Nowiki">=foo=</span></p>
18843 <p>=foo<i>a</i><span typeof="mw:Nowiki">=</span></p>
18847 Headings: 1. Nested inside html
18848 (New headings and existing headings are handled differently)
18858 =<nowiki>=foo=</nowiki>=
18859 ==<nowiki>=foo=</nowiki>==
18860 ===<nowiki>=foo=</nowiki>===
18861 ====<nowiki>=foo=</nowiki>====
18862 =====<nowiki>=foo=</nowiki>=====
18863 ======<nowiki>=foo=</nowiki>======
18870 <h1 data-parsoid='{}'>=foo=</h1>
18871 <h2 data-parsoid='{}'>=foo=</h2>
18872 <h3 data-parsoid='{}'>=foo=</h3>
18873 <h4 data-parsoid='{}'>=foo=</h4>
18874 <h5 data-parsoid='{}'>=foo=</h5>
18875 <h6 data-parsoid='{}'>=foo=</h6>
18879 Headings: 2. Outside heading nest on a single line <h1>foo</h1>*bar
18884 <nowiki>*</nowiki>bar
18890 <nowiki>=bar=</nowiki>
18898 Headings: 3. Nested inside html with wikitext split by html tags
18902 = ='''bold'''<nowiki>foo=</nowiki> =
18904 <h1>=<b>bold</b><span typeof="mw:Nowiki">foo=</span></h1>
18908 Headings: 4a. No escaping needed (testing just h1 and h2)
18926 = <nowiki>=</nowiki> =
18934 <h1><i>=</i>foo=</h1>
18935 <h1><span typeof="mw:Nowiki">=</span></h1>
18939 Headings: 4b. No escaping needed (inside p-tags)
18954 Headings: 5. Empty headings
18966 =====<nowiki/>=====
18968 ======<nowiki/>======
18979 Headings: 6a. Heading chars in SOL context (with trailing spaces)
18983 <nowiki>=a=</nowiki>
18985 <nowiki>=a=</nowiki>
18987 <nowiki>=a=</nowiki>
18989 <nowiki>=a=</nowiki>
18998 Headings: 6b. Heading chars in SOL context (with trailing newlines)
19026 Headings: 6c. Heading chars in SOL context (leading newline break)
19031 <nowiki>=b=</nowiki>
19038 Headings: 6d. Heading chars in SOL context (with interspersed comments)
19042 <!--c0--><nowiki>=a=</nowiki>
19044 <!--c1--><nowiki>=a=</nowiki> <!--c2--> <!--c3-->
19046 <p><!--c0-->=a=</p>
19047 <p><!--c1-->=a= <!--c2--> <!--c3--></p>
19051 Headings: 6d. Heading chars in SOL context (No escaping needed)
19060 #### --------------- Lists ---------------
19061 #### 0. Outside nests (*foo, etc.)
19062 #### 1. Nested inside html <ul><li>*foo</li></ul>
19063 #### 2. Inside definition lists
19064 #### 3. Only bullets at start should be escaped
19065 #### 4. No escapes needed
19066 #### 5. No unnecessary escapes
19067 #### 6. Escape bullets in SOL position
19068 #### 7. Escape bullets in a multi-line context
19069 #### ----------------------------------------
19072 Lists: 0. Outside nests
19074 <nowiki>*</nowiki>foo
19076 <nowiki>#</nowiki>foo
19078 <nowiki>;Foo:</nowiki>bar
19087 Lists: 1. Nested inside html
19089 *<nowiki>*foo</nowiki>
19091 *<nowiki>#foo</nowiki>
19093 *<nowiki>:foo</nowiki>
19095 *<nowiki>;foo</nowiki>
19097 #<nowiki>*foo</nowiki>
19099 #<nowiki>#foo</nowiki>
19101 #<nowiki>:foo</nowiki>
19103 #<nowiki>;foo</nowiki>
19141 Lists: 2. Inside definition lists
19143 ;<nowiki>;foo</nowiki>
19145 ;<nowiki>:foo</nowiki>
19147 ;<nowiki>:foo</nowiki>
19150 :<nowiki>:foo</nowiki>
19174 Lists: 3. Only bullets at start of text should be escaped
19176 *<nowiki>*foo*bar</nowiki>
19178 *<nowiki>*foo</nowiki>''it''*bar
19185 <li>*foo<i>it</i>*bar
19192 Lists: 4. No escapes needed
19213 <li><a rel="mw:WikiLink" href="Foo">Foo</a>: bar
19217 <li><a rel="mw:WikiLink" href="Foo">Foo</a>*bar
19223 Lists: 5. No unnecessary escapes
19225 * bar <span><nowiki>[[foo]]</nowiki></span>
19227 *=bar <span><nowiki>[[foo]]</nowiki></span>
19229 *[[bar <span><nowiki>[[foo]]</nowiki></span>
19231 *]]bar <span><nowiki>[[foo]]</nowiki></span>
19233 *=bar <span>foo]]</span>=
19238 <li> bar <span>[[foo]]</span>
19242 <li>=bar <span>[[foo]]</span>
19246 <li>[[bar <span>[[foo]]</span>
19250 <li>]]bar <span>[[foo]]</span>
19254 <li>=bar <span>foo]]</span>=
19265 Lists: 6. Escape bullets in SOL position
19269 <!--cmt--><nowiki>*foo</nowiki>
19271 <p><!--cmt--><span typeof="mw:Nowiki">*foo</span></p>
19275 Lists: 7. Escape bullets in a multi-line context
19278 <nowiki>*</nowiki>b
19285 #### --------------- HRs ---------------
19286 #### 1. Single line
19287 #### -----------------------------------
19290 HRs: 1. Single line
19294 ----<nowiki>----</nowiki>
19298 <hr><span typeof="mw:Nowiki">----</span>
19303 #### --------------- Tables ---------------
19304 #### 1a. Simple example
19305 #### 1b. No escaping needed (!foo)
19306 #### 1c. No escaping needed (|foo)
19307 #### 1d. No escaping needed (|}foo)
19309 #### 2a. Nested in td (<td>foo|bar</td>)
19310 #### 2b. Nested in td (<td>foo||bar</td>)
19311 #### 2c. Nested in td -- no escaping needed(<td>foo!!bar</td>)
19313 #### 3a. Nested in th (<th>foo!bar</th>)
19314 #### 3b. Nested in th (<th>foo!!bar</th>)
19315 #### 3c. Nested in th -- no escaping needed(<th>foo||bar</th>)
19319 #### 4c. No escaping needed
19320 #### --------------------------------------
19323 Tables: 1a. Simple example
19334 Tables: 1b. No escaping needed
19343 Tables: 1c. No escaping needed
19352 Tables: 1d. No escaping needed
19361 Tables: 2a. Nested in td
19366 |<nowiki>foo|bar</nowiki>
19368 |x<div><nowiki>a|b</nowiki></div>
19372 <td>foo|bar</td></tr>
19373 <tr><td>x<div>a|b</div></td>
19378 Tables: 2b. Nested in td
19383 |<nowiki>foo||bar</nowiki>
19384 |''it''<nowiki>foo||bar</nowiki>
19388 <td><span typeof="mw:Nowiki">foo||bar</span></td>
19389 <td><i>it</i><span typeof="mw:Nowiki">foo||bar</span></td></tr></tbody></table>
19393 Tables: 2c. Nested in td -- no escaping needed
19401 <table><tbody><tr><td>foo!!bar
19402 </td></tr></tbody></table>
19407 Tables: 3a. Nested in th
19415 <table><tbody><tr><th>foo!bar
19416 </th></tr></tbody></table>
19421 Tables: 3b. Nested in th
19426 !<nowiki>foo!!bar</nowiki>
19430 <tbody><tr><th><span typeof="mw:Nowiki">foo!!bar</span></th></tr>
19435 Tables: 3c. Nested in th -- no escaping needed
19440 !<nowiki>foo||bar</nowiki>
19444 <th><span typeof="mw:Nowiki">foo||bar</span></th></tr></tbody></table>
19448 Tables: 4a. Escape -
19455 |<nowiki>-bar</nowiki>
19459 <tr><th>-bar</th></tr>
19461 <td><span typeof="mw:Nowiki">-bar</span></td></tr></tbody></table>
19465 Tables: 4b. Escape +
19472 |<nowiki>+bar</nowiki>
19476 <tr><th>+bar</th></tr>
19478 <td><span typeof="mw:Nowiki">+bar</span></td></tr></tbody></table>
19482 Tables: 4c. No escaping needed
19503 <tr><td>foo-bar</td><td>foo+bar</td></tr>
19504 <tr><td><i>foo</i>-bar</td><td><i>foo</i>+bar</td></tr>
19510 <div>a|b</div></td>
19515 Tables: 4d. No escaping needed
19526 <tbody><tr><td><a rel="mw:WikiLink" href="./Foo">Foo</a>-bar</td>
19527 <td data-parsoid='{"startTagSrc":"|","attrSepSrc":"|"}'>+1</td>
19528 <td data-parsoid='{"startTagSrc":"|","attrSepSrc":"|"}'>-2</td></tr>
19533 Tables: Digest broken attributes on table and tr tag
19549 #### --------------- Links ----------------
19550 #### 1. Quote marks in link text
19551 #### 2. Wikilinks: Escapes needed
19552 #### 3. Wikilinks: No escapes needed
19553 #### 4. Extlinks: Escapes needed
19554 #### 5. Extlinks: No escapes needed
19555 #### --------------------------------------
19557 Links 1. Quote marks in link text
19561 [[Foo|Foo<nowiki>''boo''</nowiki>]]
19563 <a rel="mw:WikiLink" href="Foo">Foo''boo''</a>
19567 Links 2. WikiLinks: Escapes needed
19572 [[Foo|<nowiki>Foobar]</nowiki>]]
19573 [[Foo|x [Foobar] x]]
19574 [[Foo|x <nowiki>[http://google.com g]</nowiki> x]]
19575 [[Foo|<nowiki>[[Bar]]</nowiki>]]
19576 [[Foo|<nowiki>x [[Bar]] x</nowiki>]]
19577 [[Foo|<nowiki>|Bar</nowiki>]]
19578 [[Foo|<nowiki>]]bar</nowiki>]]
19579 [[Foo|<nowiki>[[bar</nowiki>]]
19580 [[Foo|<nowiki>x [[ y</nowiki>]]
19581 [[Foo|<nowiki>x ]] y</nowiki>]]
19582 [[Foo|<nowiki>x ]] y [[ z</nowiki>]]
19584 <a href="Foo" rel="mw:WikiLink">[Foobar]</a>
19585 <a href="Foo" rel="mw:WikiLink">Foobar]</a>
19586 <a href="Foo" rel="mw:WikiLink">x [Foobar] x</a>
19587 <a href="Foo" rel="mw:WikiLink">x [http://google.com g] x</a>
19588 <a href="Foo" rel="mw:WikiLink">[[Bar]]</a>
19589 <a href="Foo" rel="mw:WikiLink">x [[Bar]] x</a>
19590 <a href="Foo" rel="mw:WikiLink">|Bar</a>
19591 <a href="Foo" rel="mw:WikiLink">]]bar</a>
19592 <a href="Foo" rel="mw:WikiLink">[[bar</a>
19593 <a href="Foo" rel="mw:WikiLink">x [[ y</a>
19594 <a href="Foo" rel="mw:WikiLink">x ]] y</a>
19595 <a href="Foo" rel="mw:WikiLink">x ]] y [[ z</a>
19599 Links 3. WikiLinks: No escapes needed
19606 <a href="Foo" rel="mw:WikiLink">[Foobar</a>
19607 <a href="Foo" rel="mw:WikiLink">foo|bar</a>
19611 Links 4. ExtLinks: Escapes needed
19615 [http://google.com <nowiki>[google]</nowiki>]
19616 [http://google.com <nowiki>google]</nowiki>]
19618 <nowiki>[http://google.com]</nowiki>
19620 <nowiki>[http://google.com google]</nowiki>
19623 <p><a href="http://google.com" rel="mw:ExtLink">[google]</a>
19624 <a href="http://google.com" rel="mw:ExtLink">google]</a></p>
19625 <p>[http://google.com]</p>
19626 <p>[http://google.com google]</p>
19630 Links 5. ExtLinks: No escapes needed
19634 [http://google.com [google]
19636 <a href="http://google.com" rel="mw:ExtLink">[google</a>
19640 Links 6. Add <nowiki/>s between text-nodes and url-links when required (bug 64300)
19642 <p>x<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>y
19643 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>?x
19644 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>&x
19645 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>'x
19646 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,x
19647 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.x
19648 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
19649 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>:x
19650 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>;x
19651 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>!x
19652 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>=x
19653 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>(x)
19654 <a rel="mw:ExtLink" href="http://example.com(x" data-parsoid='{"stx":"url"}'>http://example.com(x</a>)
19657 x<nowiki/>http://example.com<nowiki/>y
19658 http://example.com<nowiki/>?x
19659 http://example.com<nowiki/>&x
19660 http://example.com<nowiki/>'x
19661 http://example.com<nowiki/>,x
19662 http://example.com<nowiki/>.x
19663 http://example.com<nowiki/>;x
19664 http://example.com<nowiki/>:x
19665 http://example.com<nowiki/>;x
19666 http://example.com<nowiki/>!x
19667 http://example.com<nowiki/>=x
19668 http://example.com<nowiki/>(x)
19669 http://example.com(x<nowiki/>)
19673 Links 7a. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
19676 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>
19678 "<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>"
19679 (<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>)
19680 (<a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>) foo
19681 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>,
19682 <a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>, foo
19688 "http://example.com"
19689 (http://example.com)
19690 (http://example.com) foo
19691 http://example.com,
19692 http://example.com, foo
19695 ## Parsoid currently fails wt2html on this one!
19697 Links 7b. Don't add spurious <nowiki/>s between text-nodes and url-links (bug 64300)
19699 <p><a rel="mw:ExtLink" href="http://example.com" data-parsoid='{"stx":"url"}'>http://example.com</a>.,;:!?</p>
19701 http://example.com.,;:!?
19705 Links 8. Add <nowiki/>s between text-nodes and RFC-links when required (bug 64300)
19707 <p><a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>4</p>
19713 Links 9. Don't add spurious <nowiki/>s between text-nodes and RFC-links (bug 64300)
19715 <p>x<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y
19716 X<a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>y
19717 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>?foo
19718 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>RFC 123</a>&foo
19728 Links 10. Add <nowiki/>s between text-nodes and PMID-links when required (bug 64300)
19730 <p><a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>4
19736 Links 11. Don't add spurious <nowiki/>s between text-nodes and PMID-links (bug 64300)
19738 <p>x<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
19739 X<a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>y
19740 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>?foo
19741 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>PMID 123</a>&foo
19751 Links 12. Add <nowiki/>s between text-nodes and ISBN-links when required (bug 64300)
19753 <p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>1
19754 <a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>x
19755 <a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>b
19758 ISBN 1234567890<nowiki/>1
19759 ISBN 1234567890<nowiki/>x
19760 ISBN 1234567890<nowiki/>b
19764 Links 12. Don't add spurious <nowiki/>s between text-nodes and ISBN-links (bug 64300)
19766 <p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>'s
19771 #### --------------- Quotes ---------------
19772 #### 1. Quotes inside <b> and <i>
19773 #### 2. Link fragments separated by <i> and <b> tags
19774 #### 3. Link fragments inside <i> and <b>
19775 #### 4. No escaping needed
19776 #### --------------------------------------
19778 1. Quotes inside <b> and <i>
19780 parsoid=html2wt,wt2wt
19782 ''<nowiki>'foo'</nowiki>''
19783 ''<nowiki>''foo''</nowiki>''
19784 ''<nowiki>'''foo'''</nowiki>''
19786 '''<nowiki>'foo'</nowiki>'''
19787 '''<nowiki>''foo''</nowiki>'''
19788 '''<nowiki>'''foo'''</nowiki>'''
19789 '''<nowiki>foo'</nowiki>''<nowiki>bar'</nowiki>''baz'''
19790 '''foo'''<nowiki/>'s
19793 '<nowiki/>''foo''<nowiki/>'
19795 '''foo'''<nowiki/>'
19796 '<nowiki/>'''foo'''<nowiki/>'
19797 ''fools'<span> errand</span>''
19798 ''<span>fool</span>'s errand''
19807 <b>foo'<i>bar'</i>baz</b>
19815 <i>fools'<span> errand</span></i>
19816 <i><span>fool</span>'s errand</i>
19820 2. Link fragments separated by <i> and <b> tags
19822 [[''foo''<nowiki>hello]]</nowiki>
19824 [['''foo'''<nowiki>hello]]</nowiki>
19826 <p>[[<i>foo</i>hello]]
19827 </p><p>[[<b>foo</b>hello]]
19832 3. Link fragments inside <i> and <b>
19833 (FIXME: Escaping one or both of [[ and ]] is also acceptable --
19834 this is one of the shortcomings of this format)
19836 ''[[foo''<nowiki>]]</nowiki>
19838 '''[[foo'''<nowiki>]]</nowiki>
19841 </p><p><b>[[foo</b>]]
19846 4. No escaping needed
19848 '<span>''bar''</span>'
19849 '<span>'''bar'''</span>'
19851 <p>'<span><i>bar</i></span>'
19852 '<span><b>bar</b></span>'
19856 #### ----------- Paragraphs ---------------
19857 #### 1. No unnecessary escapes
19858 #### --------------------------------------
19861 1. No unnecessary escapes
19863 bar <span><nowiki>[[foo]]</nowiki></span>
19865 =bar <span><nowiki>[[foo]]</nowiki></span>
19867 [[bar <span><nowiki>[[foo]]</nowiki></span>
19869 ]]bar <span><nowiki>[[foo]]</nowiki></span>
19871 =bar <span>foo]]</span><nowiki>=</nowiki>
19873 <p>bar <span>[[foo]]</span>
19874 </p><p>=bar <span>[[foo]]</span>
19875 </p><p>[[bar <span>[[foo]]</span>
19876 </p><p>]]bar <span>[[foo]]</span>
19877 </p><p>=bar <span>foo]]</span>=
19881 #### ----------------------- PRE --------------------------
19882 #### 1. Leading whitespace in SOL context should be escaped
19883 #### ------------------------------------------------------
19885 1. Leading whitespace in SOL context should be escaped
19889 <nowiki> </nowiki>a
19891 <nowiki> </nowiki> a
19893 <nowiki> </nowiki>a(tab)
19895 <nowiki> </nowiki> a
19897 <nowiki> </nowiki> a
19900 <nowiki> </nowiki>b
19903 <nowiki> </nowiki>b
19906 <nowiki> </nowiki> b
19912 <p><!--cmt--> a</p>
19921 #### --------------- Behavior Switches --------------------
19923 1. Valid behavior switches should be escaped
19927 <nowiki>__TOC__</nowiki>
19933 2. Invalid behavior switches should not be escaped
19944 #### --------------- HTML tags ---------------
19947 #### 3. multi-line html tag
19948 #### 4. extension tags
19949 #### -----------------------------------------
19955 <a href="http://google.com">google</a>
19957 <a href="http://google.com">google</a>
19963 <nowiki><div>foo</div>
19964 <div style="color:red">foo</div></nowiki>
19966 <p><div>foo</div>
19967 <div style="color:red">foo</div>
19972 3. multi-line html tag
19987 <nowiki><ref>foo</ref></nowiki>
19989 <nowiki><ref>bar</nowiki>
19991 baz<nowiki></ref></nowiki>
19993 <p><ref>foo</ref>
19994 </p><p><ref>bar
19995 </p><p>baz</ref>
19999 #### --------------- Others ---------------
20003 <nowiki>foo</nowiki>
20005 <p><nowiki>foo</nowiki>
20009 ## The quote-char in the input is necessary for triggering the bug
20011 (Bug 52035) Nowiki-escaping should not get tripped by " :" in text
20013 parsoid=wt2wt,html2wt
20022 Tag-like HTML structures are passed through as text
20044 </p><p>1<d e>f
20049 # This was a bug in the PHP parser (see bug 17663 and its dups,
20050 # https://bugzilla.wikimedia.org/show_bug.cgi?id=17663)
20052 Tag names followed by punctuation should not be recognized as tags
20056 <p><s.ome> text
20061 HTML tag with necessary entities in attributes
20063 <span title="&amp;">foo</span>
20065 <p><span title="&amp;">foo</span>
20070 HTML tag with 'unnecessary' entity encoding in attributes
20072 <span title="&">foo</span>
20074 <p><span title="&">foo</span>
20079 HTML tag with broken attribute value quoting
20081 <span title="Hello world>Foo</span>
20083 <p><span>Foo</span>
20088 Parsoid-only: HTML tag with broken attribute value quoting
20092 <span title="Hello world>Foo</span>
20094 <p><span title="Hello world">Foo</span>
20099 Table with broken attribute value quoting
20102 | title="Hello world|Foo
20113 Table with broken attribute value quoting on consecutive lines
20116 | title="Hello world|Foo
20117 | style="color:red|Bar
20130 Parsoid-only: Table with broken attribute value quoting on consecutive lines
20135 | title="Hello world|Foo
20136 | style="color:red|Bar
20141 <td title="Hello world">Foo
20142 </td><td style="color: red">Bar
20143 </td></tr></tbody></table>
20148 Parsoid-only: Don't wrap broken template tags in <nowiki> on wt2wt (Bug 42353)
20158 Parsoid-only: Don't wrap broken template tags in <nowiki> on wt2wt (Bug 42353)
20168 Accept empty td cell attribute
20171 | align="center" | foo || |
20176 <td align="center"> foo </td>
20183 Non-empty attributes in th-cells
20186 ! Foo !! style="color: red" | Bar
20192 <th style="color: red"> Bar
20198 Accept empty attributes in th-cells
20213 Empty table rows go away
20234 ### Parsoid-centric tests for testing RTing of inter-element separators
20235 ### Edge cases not tested by existing parser tests and specific to
20236 ### Parsoid-specific serialization strategies.
20240 RT-ed inter-element separators should be valid separators
20253 Trailing newlines in a deep dom-subtree that ends a wikitext line should be migrated out
20254 (Parsoid-only since PHP parser relies on Tidy for correct output)
20270 Empty TD followed by TD with tpl-generated attribute
20275 |{{echo|style='color:red'}}|foo
20289 Indented table with an empty td
20308 Empty TR followed by a template-generated TR
20309 (Parsoid-specific since PHP parser doesn't handle this mixed tbl-wikitext)
20315 {{echo|<tr><td>foo</td></tr>}}
20321 <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}}]}'>
20326 ## PHP and parsoid output differ for this, and since this is primarily
20327 ## for testing Parsoid's serializer, marking this Parsoid only
20329 Empty TR followed by mixed-ws-comment line should RT correctly
20345 <!--c--> </tr><!--d-->
20351 Multi-line image caption generated by templates with/without trailing newlines
20355 [[File:foo.jpg|thumb|300px|foo\n{{echo|A}}\n{{echo|B}}\n{{echo|C}}]]
20356 [[File:foo.jpg|thumb|300px|foo\n{{echo|A}}\n{{echo|B}}\n{{echo|C}}\n\n]]
20358 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&wpDestFile=Foo.jpg" class="new" title="File:Foo.jpg">File:Foo.jpg</a> <div class="thumbcaption">foo\nA\nB\nC</div></div></div>
20359 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=Special:Upload&wpDestFile=Foo.jpg" class="new" title="File:Foo.jpg">File:Foo.jpg</a> <div class="thumbcaption">foo\nA\nB\nC\n\n</div></div></div>
20364 New element inserted (without intervening newlines) after an old sol-transparent node should serialize correctly
20368 <includeonly>foo</includeonly>
20375 <meta typeof="mw:Includes/IncludeOnly" data-parsoid='{"src":"<includeonly>foo</includeonly>"}'/><meta typeof="mw:Includes/IncludeOnly/End" data-parsoid='{"src":""}'/><p>new para</p>
20377 <link rel="mw:PageProp/Category" href="./Category:Foo" data-parsoid=''/><h1>new heading</h1>
20380 ## PHP emits broken html for this, and since this is primarily
20381 ## a Parsoid serializer test, marking this Parsoid only
20383 Improperly nested inline or quotes tags with whitespace in between
20387 <span> <s>x</span> </s>
20390 <p><span> <s>x</s></span><s> </s>
20391 <b> <i>x</i></b><i> </i>
20396 Encapsulate protected attributes from wt
20400 <div typeof="mw:placeholder stuff" data-parsoid="weird" data-parsoid-other="no" about="time" rel="mw:true">foo</div>
20402 <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>
20406 ## Currently the p-wrapper is fragile in how it adds / removes transformations.
20407 ## Having nested or stray pre tags results in the attempt to add duplicates,
20408 ## causing an assertion fail. This test tries to prevent that situation.
20410 Ensure ParagraphWrapper can deal with stray closing pre tags
20420 1. Ensure fostered text content is wrapped in spans
20424 <table>hi</table><table>ho</table>
20433 2. Ensure fostered text content is wrapped in spans (traps regressions around fostered marker on the span getting lost)
20435 parsoid=wt2html,wt2wt
20442 <span> || ||</span>
20451 Encapsulation properly handles null DSR information from foster box
20453 parsoid=wt2html,wt2wt
20455 {{echo|<table>foo<tr><td>bar</td></tr></table>}}
20457 <span typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"
20460 <td>bar</td></tr></table>"}},"i":0}}]}">foo</span>
20464 <td>bar</td></tr></tbody></table>
20468 1. Encapsulate foster-parented transclusion content
20470 parsoid=wt2wt,wt2html
20472 <table>{{echo|foo<tr><td>bar</td></tr>}}</table>
20474 <span typeof="mw:Transclusion" data-mw="{"parts":["
20475 <table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo
20477 <td>bar</td></tr>"}},"i":0}},"</table>"]}">foo</span>
20481 <td>bar</td></tr></tbody></table>
20485 2. Encapsulate foster-parented transclusion content
20487 parsoid=wt2wt,wt2html
20489 <table><div>{{echo|foo}}</div><tr><td>bar</td></tr></table>
20491 <div typeof="mw:Transclusion" data-mw="{"parts":["
20493 <div>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo"}},"i":0}},"</div>
20495 <td>bar</td></tr></table>"]}">foo</div>
20499 <td>bar</td></tr></tbody></table>
20503 3. Encapsulate foster-parented transclusion content
20505 parsoid=wt2wt,wt2html
20507 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
20509 <div typeof="mw:Transclusion" data-mw="{"parts":["
20512 <p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div>
20514 <td>"}},"i":0}},"bar</td></tr></table>"]}">
20519 <td>bar</td></tr></tbody></table>
20523 4. Encapsulate foster-parented transclusion content
20525 parsoid=wt2wt,wt2html
20527 <table><div><p>{{echo|foo</p></div><tr><td>}}bar</td></tr></table>
20529 <div typeof="mw:Transclusion" data-mw="{"parts":["
20532 <p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div>
20534 <td>"}},"i":0}},"bar</td></tr></table>"]}">
20539 <td>bar</td></tr></tbody></table>
20543 5. Encapsulate foster-parented transclusion content
20545 parsoid=wt2wt,wt2html
20547 <table><tr><td><div><p>{{echo|foo</p></div></td>foo}}</tr></table>
20549 <span typeof="mw:Transclusion" data-mw="{"parts":["
20554 <p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div></td>foo"}},"i":0}},"</tr></table>"]}">foo</span>
20560 <p>foo</p></div></td></tr></tbody></table>
20564 6. Encapsulate foster-parented transclusion content
20566 parsoid=wt2wt,wt2html
20568 <table><tr><td><div><p>{{echo|foo</p></div></td>foo</tr></table>}}<p>ok</p>
20570 <span typeof="mw:Transclusion" data-mw="{"parts":["
20575 <p>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo</p></div></td>foo</tr></table>"}},"i":0}}]}">foo</span>
20581 <p>foo</p></div></td></tr></tbody></table>
20586 7. Encapsulate foster-parented transclusion content
20588 parsoid=wt2wt,wt2html
20590 <table>{{echo|<p>foo</p>}}<td>bar</td></table>
20592 <p typeof="mw:Transclusion" data-mw="{"parts":["
20593 <table>",{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"
20594 <p>foo</p>"}},"i":0}},"
20595 <td>bar</td></table>"]}">foo</p>
20599 <td>bar</td></tr></tbody></table>
20603 8. Encapsulate foster-parented transclusion content
20605 parsoid=wt2wt,wt2html
20608 }}{|{{echo|style='color:red'}}
20613 <p typeof="mw:Transclusion" data-mw="{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"a\n"}},"i":0}}]}">a</p><span 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}}}</span>
20617 <td>b</td></tr></tbody></table>
20621 9. Encapsulate foster-parented transclusion content
20623 parsoid=wt2wt,wt2html
20625 <table>{{echo|hi</table>hello}}
20627 <span 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</span>
20628 <table about="#mwt2" data-parsoid='{"stx":"html"}'></table><span about="#mwt2" data-parsoid="{}">hello</span>
20632 Table in fosterable position
20634 parsoid=wt2html,wt2wt
20643 <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" data-parsoid="{}">
20645 <table about="#mwt1" data-parsoid='{"autoInsertedEnd":true}'></table>
20651 # Parsoid only for bug 64747
20653 Properly encapsulate empty-content transclusions in fosterable positions
20661 <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":["","","",""]}]],"src":"<table>\n{{#if:|\n<td>foo</td>\n}}\n</table>"}'>
20667 Support <object> element with .data attribute
20671 <object data="test.swf"></object>
20673 <object data="test.swf"></object>
20676 # -----------------------------------------------------------------
20677 # The following section of tests are primarily to spec requirements
20678 # around serialization of new/edited content.
20680 # All these tests are marked Parsoid html2wt and html2html only
20681 # ----------------------------------------------------------------
20684 Image: Modifying size of an image (1)
20687 "modes": ["wt2wt"],
20689 ["img[height]", "attr", "height", "22"],
20690 ["img[width]", "attr", "width", "200"]
20694 [[Image:Foobar.jpg|230x230px]]
20696 [[Image:Foobar.jpg|200x200px]]
20700 Image: Modifying size of an image (2)
20703 "modes": ["wt2wt"],
20705 ["img[height]", "attr", "height", "100"],
20706 ["img[width]", "attr", "width", "500"]
20710 [[Image:Foobar.jpg|230x230px]]
20712 [[Image:Foobar.jpg|500x500px]]
20715 # Change in size is ignored so long as class='mw-default-size'
20717 Image: Modifying size of an image (3)
20720 "modes": ["wt2wt"],
20722 ["figure[class]", "removeClass", "mw-default-size"],
20723 ["figure img", "attr", "height", "19"],
20724 ["figure img", "attr", "width", "170"]
20728 [[Image:Foobar.jpg|thumb]]
20730 [[Image:Foobar.jpg|thumb|170x170px]]
20734 Image: Modifying alignment of an image (bug 48665)
20737 "modes": ["wt2wt"],
20739 ["figure[class]", "removeClass", "mw-halign-right"],
20740 ["figure[class]", "addClass", "mw-halign-left"]
20744 [[Image:Foobar.jpg|thumb|caption|right]]
20746 [[Image:Foobar.jpg|thumb|caption|left]]
20750 Image: Modifying mw-default-size of an frameless image (bug 62805)
20753 "modes": ["wt2wt"],
20755 ["figure.mw-default-size", "removeClass", "mw-default-size"]
20759 [[Image:Foobar.jpg|frameless|right]]
20761 [[Image:Foobar.jpg|frameless|right|220x220px]]
20765 Image: Modifying valign of an image (bug 49221)
20768 "modes": ["wt2wt"],
20770 ["*[typeof=\"mw:Image\"]", "removeClass", "mw-valign-middle"],
20771 ["*[typeof=\"mw:Image\"]", "addClass", "mw-valign-text-top"]
20775 [[File:Foobar.jpg|20px|middle]]
20777 [[File:Foobar.jpg|20px|text-top]]
20781 Image: Modifying alt attribute of an image (bug 56400)
20784 "modes": ["wt2wt"],
20786 ["img[alt]", "attr", "alt", "some alternate edited text"]
20790 [[File:Foobar.jpg|thumb|some caption|alt=some alternate text]]
20792 [[File:Foobar.jpg|thumb|some caption|alt=some alternate edited text]]
20796 Image: Modifying caption of an image
20799 "modes": ["wt2wt"],
20801 ["figcaption", "text", "new caption"]
20805 [[Image:Foobar.jpg|thumb|original caption]]
20807 [[Image:Foobar.jpg|thumb|new caption]]
20811 Image: empty alt attribute (bug 48924)
20815 [[File:Foobar.jpg|thumb|alt=|bar]]
20817 <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>
20821 #Image: new attributes should be serialized in wiki's language for RTL languages (bug 51852)
20826 #[[Imagen:Foobar.jpg|derecha|miniaturadeimagen]]
20828 #<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>
20832 Image: Block level image should have \n before and after
20837 [[File:Foobar.jpg|right|thumb|150x150px]]
20840 <p>123</p><figure typeof="mw:Image/Thumb" class="mw-halign-right"><a href="./File:Foobar.png"><img src="http://192.168.142.128/mw/images/thumb/b/bc/Foobar.png/131px-Foobar.png" width="131" height="150" resource="./File:Foobar.png" data-parsoid='{"a":{"resource":"./File:Foobar.png","width":"131"},"sa":{"resource":"File:Foobar.png","width":"150"}}'></a></figure><p>456</p>
20844 Image: New block level image should have \n before and after (existing
20850 [[File:Foobar.jpg|right|thumb|150x150px]]
20853 <p data-parsoid='{"dsr":[0,3,0,0]}'>123</p>
20854 <figure class="mw-halign-right" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"right","ak":"right"},{"ck":"thumbnail","ak":"thumb"},{"ck":"width","ak":"150x150px"}],"dsr":[4,45,2,2]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"},"dsr":[6,43,null,null]}'><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>
20855 <p data-parsoid='{"dsr":[46,49,0,0]}'>456</p>
20859 Image: upright option (parsoid)
20863 [[File:Foobar.jpg|thumb|upright|caption]]
20864 [[File:Foobar.jpg|thumb|upright=0.5|caption]]
20865 [[File:Foobar.jpg|thumb|500x500px|upright=0.5|caption]]
20867 <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><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><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>
20871 Image: upright option is ignored on inline and frame images (parsoid)
20875 [[File:Foobar.jpg|500x500px|upright=0.5|caption]]
20877 <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>
20881 Image: from basic HTML (1)
20885 <span typeof="mw:Image">
20886 <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
20889 [[File:Foobar.jpg|link=|alt=Alt|100x100px]]
20893 Image: from basic HTML (2)
20897 <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
20899 [[File:Foobar.jpg|link=|alt=Alt|100x100px]]
20903 Image: from basic HTML (3)
20907 <a href="Main"><img src="File:Foobar.jpg" width=100 height=100 alt="Alt"></a>
20909 [[File:Foobar.jpg|link=Main|alt=Alt|100x100px]]
20913 Image: from basic HTML (4)
20917 <img src="File:Foobar.jpg">
20919 [[File:Foobar.jpg|link=]]
20923 Lists: Serialize correctly even when list content is wrapped in p-tags (like VE does)
20930 <li><p>foo</p></li>
20935 Lists: Serialize correctly even when list tags has unneeded whitespace between tags
20941 <ul> <li>foo</li></ul>
20945 Don't strip leading whitespace when handling indent-pre suppressing tags
20953 '''This is very bold of you!'''
20957 indented cell (no pre-wrapping!)
20964 <tr><td> indented row</td></tr>
20967 <b>This is very bold of you!</b>
20970 indented cell (no pre-wrapping!)
20978 Strip leading whitespace when handling indent-pre inducing tags
21010 Lists: Add space after bullets
21016 * <span> baz</span>
21021 <li><span> baz</span></li>
21026 Lists: Dont insert newlines in a serialized list item.
21033 <ul><li>a<br>b</li><li>c</li></ul>
21037 Headings: Add space before/after == (Bug 51744)
21047 == <span> baz</span> ==
21052 <h2><span> baz</span></h2>
21056 Parsoid: Serialize positional parameters with = in them as named parameter
21062 {{echo|1 = f=oo|2 = bar}}
21064 <!--Orig params with data-parsoid has heuristics for handling = chars-->
21065 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
21066 {{echo|<nowiki>f=oo</nowiki>|bar}}
21068 <p about="#mwt1" typeof="mw:Transclusion"
21069 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"}},"i":0}}]}'>foo</p>
21071 <p about="#mwt1" typeof="mw:Transclusion"
21072 data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"f=oo"}, "2":{"wt":"bar"}},"i":0}}]}'>foo</p>
21074 <!--Orig params with data-parsoid has heuristics for handling = chars-->
21075 <!--FIXME: But maybe the heuristic needs fixing to apply to new params as well-->
21076 <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>
21080 Parsoid: Correctly serialize block-node children when they are a combination of text and p-nodes
21096 <div>a<p>b</p></div>
21105 Substrings resembling wikitext in hrefs should not get nowiki escapes
21111 <a rel="mw:WikiLink" href="./Foo''bar''baz">Foo''bar''baz</a>
21114 #-----------------------------
21115 # I/B quote minimization tests
21116 #-----------------------------
21119 1. I/B quote minimization: wikitext-only tags should be combined
21139 <p><i>A</i><i>B</i></p>
21140 <p><b>A</b><b>B</b></p>
21141 <p><i>A</i><b><i>B</i></b></p>
21142 <p><b>A</b><i><b>B</b></i></p>
21143 <p><b>A</b><i><b>B</b><b>C</b></i><b>D</b></p>
21144 <p><i><b>A</b></i><i><b>B</b></i></p>
21145 <p><i><b>A</b></i><b><i>B</i></b></p>
21146 <p><b><i>A</i></b><i><b>B</b></i></p>
21150 2. I/B quote minimization: wikitext and html tags should not be combined
21156 ''A'''''<i>B</i>'''
21158 <p><i>A</i><i data-parsoid='{"stx":"html"}'>B</i></p>
21159 <p><i>A</i><b><i data-parsoid='{"stx":"html"}'>B</i></b></p>
21163 3. I/B quote minimization: templated content stops minimization
21167 ''A''{{echo|''B''}}
21169 ''A''{{echo|'''''B'''''}}
21171 <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>
21172 <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>
21176 4. I/B quote minimization: new content should be mimimized with adjacent old content
21186 <p><i>A</i><i data-parsoid='{}'>B</i></p>
21187 <p><b data-parsoid='{}'>A</b><b>B</b></p>
21188 <p><i>A</i><b data-parsoid='{}'><i data-parsoid='{}'>B</i></b></p>
21191 #------------------------------------
21192 # End of I/B quote minimization tests
21193 #------------------------------------
21196 Bug 54262: New entities
21202 <span typeof="mw:Entity"> </span>
21205 ## Note that there is no wikitext output for 'unknownproperty' ##
21206 ## Unknown magic words are silently dropped ##
21221 __NOCONTENTCONVERT__
21223 <meta property='mw:PageProp/toc' />
21224 <meta property='mw:PageProp/notoc' />
21225 <meta property='mw:PageProp/forcetoc' />
21226 <meta property='mw:PageProp/index' />
21227 <meta property='mw:PageProp/noindex' />
21228 <meta property='mw:PageProp/nogallery' />
21229 <meta property='mw:PageProp/noeditsection' />
21230 <meta property='mw:PageProp/notitleconvert' />
21231 <meta property='mw:PageProp/nocontentconvert' />
21232 <meta property='mw:PageProp/unknownproperty' />
21236 Consecutive <pre>s should not get merged
21238 parsoid=html2wt,html2html
21254 <pre>a</pre><pre>b</pre>
21268 Edited ISBN links not serializable as ISBN links should serialize as wikilinks
21272 [[Special:BookSources/1234567890|ISBN 1234567895]]
21274 <a rel="mw:ExtLink" href="./Special:BookSources/1234567890">ISBN 1234567895</a>
21278 Edited RFC links not serializable as RFC links should serialize as extlinks
21282 [//tools.ietf.org/html/rfc123 New RFC]
21284 <a href="//tools.ietf.org/html/rfc123" rel="mw:ExtLink">New RFC</a>
21288 Edited PMID links not serializable as PMID links should serialize as extlinks
21292 [//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract New PMID]
21294 <a href="//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract" rel="mw:ExtLink">New PMID</a>
21298 Edited Redirect link should emit a non-piped wikitext link
21304 <link rel="mw:PageProp/redirect" href="Bar" data-parsoid='{"src":"#REDIRECT ","a":{"href":"./Foo"},"sa":{"href":"Foo"}}'>
21307 # -----------------------------------------------------------------
21308 # End of section for Parsoid-only html2wt tests for serialization
21310 # -----------------------------------------------------------------
21317 Try for 100% code coverage