���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/rickpfrv/wiki.craftaro.com/vendor/wikimedia/parsoid/tests/parser/parserTests-standalone-knownFailures.json
���ѧ٧ѧ�
{ "(confirming safety of fix for subst T3936)": { "html2wt": "@<span>Oh no</span>\n" }, "-{}- tags within headlines (within html for parserConvert())": { "html2wt": "== -{Naslov}- ==\n\nNote that even an unprotected headline ID is not affected by language\nconversion:\n\n== Latinski ==\n" }, "0. includeonly around the entire attribute": { "html2wt": "<span id=\"v2\">bar</span>\n" }, "1. Lists with start-of-line-transparent tokens before bullets: Comments": { "html2wt": "* foo\n* <!--cmt-->bar\n<!--cmt-->* baz" }, "1. Nested mixed wikitext and html list": { "html2wt": "* hi\n* <ul><li>ho</li></ul>\n* hi\n** ho\n" }, "1. Table tag in SOL posn. should get reparsed correctly with valid TSR": { "wt2wt": "{{1x|}}\n{| width=\"100%\"\n|foo\n|}", "selser [0,[0,3]]": "{{1x|}}{| width = '100%'\n|}", "selser [0,[0,[0,2]]]": "{{1x|}}{| width = '100%'\n|foo<!--1lo6yer-->\n|}", "selser [0,1]": "{{1x|}}{| width=\"100%\" data-foobar=\"d5ck45\"\n|foo\n|}", "selser [0,[0,[[[2]],3]]]": "{{1x|}}{| width = '100%'\n|1lr4bk8foo\n|}", "selser [0,[4,[4,2]]]": "{{1x|}}{| width = '100%'<!--1p4haoj--><!--1ifk60g--><!--1tu056n-->\n|}", "selser [0,[4,[2,0]]]": "{{1x|}}{| width = '100%'<!--hxenqc--><!--xbh46y-->\n|foo\n|}", "selser [0,[4,[3,0]]]": "{{1x|}}{| width = '100%'<!--qmxjva-->\n|}", "selser [0,2]": "{{1x|}}16d54ej\n{| width = '100%'\n|foo\n|}", "selser [0,[4,[[1],4]]]": "{{1x|}}{| width = '100%'<!--rsu6we-->\n| data-foobar=\"1qt3mgp\" |foo<!--1n7ytsm-->\n|}", "selser [0,[0,1]]": "{{1x|}}{| width = '100%'\n|foo\n|}", "selser [0,[0,[[3],0]]]": "{{1x|}}{| width = '100%'\n\n|}", "selser [0,[0,[1,4]]]": "{{1x|}}{| width = '100%'\n|foo<!--12a4fih-->\n|}", "selser [0,[0,[[3],3]]]": "{{1x|}}{| width = '100%'\n|}", "selser [0,[0,[2,0]]]": "{{1x|}}{| width = '100%'\n<!--19woy9y-->|foo\n|}", "selser [0,[0,[[[3]],3]]]": "{{1x|}}{| width = '100%'\n|\n|}", "selser [0,[0,[4,0]]]": "{{1x|}}{| width = '100%'\n<!--19hnpm1-->\n|}", "selser [0,[3,[1,0]]]": "{{1x|}}{| width = '100%'\n|foo\n|}", "selser [0,[0,[[1],4]]]": "{{1x|}}{| width = '100%'\n| data-foobar=\"bz5rz9\" |foo<!--4qz9ay-->\n|}" }, "1. Template-generated table cell attributes and cell content": { "html2wt": "{|\n| style=\"color:red;\" |Foo\n| style=\"color:red;\" |Foo\n|style=\"color:red;\"\n|Bar\n| style=\"color:red;\" |Foo\n| align=\"center\" style=\"color:red;\" |Foo\n| align=\"center\" style=\"color:red;\" |Foo\n|}" }, "1. includeonly in html attr key": { "html2wt": "<span id=\"foo\">bar</span>\n" }, "1a. Indent-Pre and Comments": { "html2wt": " a\n\nc\n" }, "1b. Indent-Pre and Comments": { "html2wt": " a\n\nc\n" }, "1c. Indent-Pre and Comments": { "html2wt": " a\n\n a\n" }, "1d. Indent-Pre and Comments\n(Pre-handler currently cannot distinguish between comment/ws order and normalizes them to [comment,ws] order)": { "html2wt": " a\n\n b\n" }, "2. Ensure fostered text content is wrapped in element nodes (traps regressions around fostered marker on the element getting lost)": { "wt2wt": "<nowiki>||</nowiki> <nowiki>||</nowiki>\n<table>\n<tr><td> a\n</table>", "selser [0,3]": "", "selser [1,2]": "<nowiki>||</nowiki> <nowiki>||</nowiki>\n\n1b9dhj9<table>\n<tr> || ||\n<td> a\n</table>", "selser [3,2]": "8ukujn<table>\n<tr> || ||\n<td> a\n</table>", "selser [0,4]": "\n\n17arlwg", "selser [0,2]": "\n\ncib4me<table>\n<tr> || ||\n<td> a\n</table>", "selser [2,3]": "16r8fmz\n\n", "selser [[4],2]": "1vjq62d\n\n1thr1dd<table>\n<tr> || ||\n<td> a\n</table>", "selser [[4],[3,2]]": "o7q8qc<table><!--meualm--><tr> || ||\n<td> a\n</table>", "selser [2,[0,2]]": "qokki6\n\n<table>\n<!--660syz--><tr> || ||\n<td> a\n</table>", "selser [[3],[3,1]]": "<table><tr> || ||\n<td> a\n</table>", "selser [0,[3,0]]": "<table><tr> || ||\n<td> a\n</table>", "selser [[4],1]": "xui722<table data-foobar=\"10ikk0v\">\n<tr> || ||\n<td> a\n</table>", "selser [1,[2,0]]": "<nowiki>||</nowiki> <nowiki>||</nowiki>\n<table><!--1ltoszy-->\n<tr> || ||\n<td> a\n</table>", "selser [2,[0,[3]]]": "rltcpa\n\n<table>\n</table>", "selser [[4],[4,2]]": "695dyy<table><!--a592r9--><!--tunxvk--><tr> || ||\n<td> a\n</table>", "selser [[2],[0,[[[2]]]]]": "rsud82 || ||\n<table>\n<tr><td> 1a3cvg2 a\n</table>" }, "2. Link fragments separated by <i> and <b> tags": { "html2wt": "[[''foo''hello]]\n\n[['''foo'''hello]]" }, "2. List embedded in a formatting tag in a misnested way": { "html2html": "<p data-parsoid='{\"dsr\":[0,7,0,0]}'><small data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,7,7,0]}'></small></p>\n\n<ul data-parsoid='{\"dsr\":[9,24,0,0]}'><small data-parsoid='{\"stx\":\"html\",\"autoInsertedStart\":true,\"autoInsertedEnd\":true,\"dsr\":[9,12,0,0]}'><li data-parsoid='{\"dsr\":[9,12,1,0,1,0]}'>a</li></small>\n<li data-parsoid='{\"dsr\":[13,24,1,0]}'><small data-parsoid='{\"stx\":\"html\",\"autoInsertedStart\":true,\"dsr\":[14,24,0,8]}'> b</small></li></ul>", "html2wt": "<small>\n\n* a\n* b</small>" }, "2. Lists with start-of-line-transparent tokens before bullets: Template close": { "wt2html": "<ul about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,16,0,0],\"firstWikitextNode\":\"UL\",\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[\"*foo \",{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"bar\\n\"}},\"i\":0}}]}'><li>foo bar</li></ul><span about=\"#mwt1\">\n</span><p data-parsoid='{\"dsr\":[16,20,0,0]}'>*baz</p>", "html2html": "<ul about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,16,0,0],\"firstWikitextNode\":\"UL\",\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[\"*foo \",{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"bar\\n\"}},\"i\":0}}]}'><li>foo bar</li></ul><span about=\"#mwt1\">\n</span>", "html2wt": "*foo {{1x|bar\n}}", "selser [0,0,2]": "*foo {{1x|bar\n}}ge6ryx\n\n*baz" }, "2. Nested mixed wikitext and html list (incompatible)": { "html2wt": "; hi\n: {{1x|<li>ho</li>}}" }, "2. includeonly in html attr value": { "wt2html": "<p data-parsoid='{\"dsr\":[0,155,0,0]}'><span id=\"v1\" about=\"#mwt1\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"stx\":\"html\",\"a\":{\"id\":\"v1\"},\"sa\":{\"id\":\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\"},\"dsr\":[0,76,66,7]}' data-mw='{\"attribs\":[[{\"txt\":\"id\"},{\"html\":\"<meta typeof=\\\"mw:Includes/NoInclude\\\" data-parsoid='{\\\"src\\\":\\\"&lt;noinclude>\\\",\\\"dsr\\\":[10,21,null,null]}'/>v1<meta typeof=\\\"mw:Includes/NoInclude/End\\\" data-parsoid='{\\\"src\\\":\\\"&lt;/noinclude>\\\",\\\"dsr\\\":[23,35,null,null]}'/><meta typeof=\\\"mw:Includes/IncludeOnly\\\" data-parsoid='{\\\"dsr\\\":[35,64,null,null]}' data-mw='{\\\"src\\\":\\\"&lt;includeonly>v2&lt;/includeonly>\\\"}'/><meta typeof=\\\"mw:Includes/IncludeOnly/End\\\" data-parsoid='{\\\"src\\\":\\\"\\\",\\\"dsr\\\":[64,64,null,null]}'/>\"}]]}'>bar</span>\n<span id='\"v1\"' about=\"#mwt2\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"stx\":\"html\",\"a\":{\"id\":\"\\\"v1\\\"\"},\"sa\":{\"id\":\"<noinclude>\\\"v1\\\"</noinclude><includeonly>\\\"v2\\\"</includeonly>\"},\"dsr\":[77,155,68,7]}' data-mw='{\"attribs\":[[{\"txt\":\"id\"},{\"html\":\"<meta typeof=\\\"mw:Includes/NoInclude\\\" data-parsoid='{\\\"src\\\":\\\"&lt;noinclude>\\\",\\\"dsr\\\":[86,97,null,null]}'/>\\\"v1\\\"<meta typeof=\\\"mw:Includes/NoInclude/End\\\" data-parsoid='{\\\"src\\\":\\\"&lt;/noinclude>\\\",\\\"dsr\\\":[101,113,null,null]}'/><meta typeof=\\\"mw:Includes/IncludeOnly\\\" data-parsoid='{\\\"dsr\\\":[113,144,null,null]}' data-mw='{\\\"src\\\":\\\"&lt;includeonly>\\\\\\\"v2\\\\\\\"&lt;/includeonly>\\\"}'/><meta typeof=\\\"mw:Includes/IncludeOnly/End\\\" data-parsoid='{\\\"src\\\":\\\"\\\",\\\"dsr\\\":[144,144,null,null]}'/>\"}]]}'>bar</span></p>", "wt2wt": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>\n<span id=\"<noinclude>"v1"</noinclude><includeonly>"v2"</includeonly>\">bar</span>", "html2wt": "<span id=\"v1\">bar</span>\n<span id=\"v1\">bar</span>\n", "selser [[[4],0,2]]": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">1j63266</span>\n1u6q5h5<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[0,3,[2]]]": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span><span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>vznaa7bar</span>", "selser [[4,2,[4]]]": "cjvpt61oh3xt0\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>1yud70z</span>", "selser [[1,0,[2]]]": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\" data-foobar=\"1oa66c2\">bar</span>\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>1hzfqd3bar</span>", "selser [[[4],4,0]]": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">40cz3h</span>o3mbh9<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[2,0,0]]": "j3euzy<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[2,0,[2]]]": "16p1syu<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>34ckg5bar</span>", "selser [2]": "17o3hyu\n\n<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[4,2,0]]": "fi8bu6143igeh\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[2,2,2]]": "19tx1ap<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>yzwmlm\nk9fwvx<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[4,2,[2]]]": "lvcfxg1k1zibr\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>116v95xbar</span>", "selser [1]": "<span id=\"<noinclude>v1</noinclude><includeonly>v2</includeonly>\">bar</span>\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>", "selser [[3,0,0]]": "\n<span id=<noinclude>\"v1\"</noinclude><includeonly>\"v2\"</includeonly>>bar</span>" }, "2a. Indent-Pre and tables": { "html2wt": "{|\n!h1\n!h2\n|foo\n|bar\n|}", "selser [3,[0,[[3,1,0,3,4]]]]": "{|\n |-\n! data-foobar=\"k2njey\" |h1!!h2\n \n!17hm4qs\n|}", "selser [4,[0,[[3,0,3,2,[4]]]]]": "z7h7bw\n{|\n |-\n!h1\n!1cg2a9r\n|foo||myb1u1 \n|}" }, "2b. Indent-Pre and tables": { "html2wt": "{|\n|foo\n|}" }, "2c. Indent-Pre and tables (T44252)": { "html2wt": "{|\n|+foo\n!bar\n|}" }, "2d. Indent-Pre and tables": { "html2wt": " a\n {|\n | b\n |}" }, "2g. Indented table markup mixed with indented pre content (proposed in T8200)": { "html2wt": " {| \n |\n Text that should be rendered preformatted \n |}" }, "3. Categories and newlines: newline suppression for last list item should RT properly": { "html2wt": "* a\n* b\n \n[[Category:Foo]]\n \n[[Category:Bar]]\n[[Category:Baz]]\n\n: c\n\n[[Category:C]]\n\n; d\n\n[[Category:D]]", "selser [2,3,4,2,2,0,3,2,[3],3,0,0,[1],0,4]": "q620vp\n*a\n*b\nhhfaih\n\nv4npyx\n \n1o3h9yi\n[[Category:Bar]]\n1ybvf0r\n\n\n\n[[Category:C]]\n\n;d\n\n17avyym", "selser [[1,0,1],2,3,0,0,0,0,3,[4],0,0,2,[[3]],4,0]": "*a\n*b\n114edt3\n \n\n \n[[Category:Bar]]\n[[Category:Baz]]\n: k8gefx\n\n[[Category:C]]\n1j9166e\n\n;\nxa181l\n[[Category:D]]" }, "3. Leading whitespace in indent-pre suppressing contexts should not be escaped": { "html2wt": "<blockquote>\n\n a\n <span>b</span>\n c\n</blockquote>" }, "3. Link fragments inside <i> and <b>": { "html2wt": "''[[foo'']]\n\n'''[[foo''']]" }, "3. includeonly in part of an attr value": { "html2wt": "<span style=\"color:red;\">bar</span>\n" }, "3a. Indent-Pre and block tags (single-line html)": { "selser [[4],2,2,0,[2],1,2,[2]]": "gy1eyd\n\n17ucfxh<p> foo </p>1yvhwvw\n\n\n b <div> foo </div>k2aost\n c <blockquote data-foobar=\"1q7dlus\"> foo </blockquote>567v5t\n 114soep<span> foo </span>", "selser [0,[3],2,3,3,0,2,4]": " a <p></p>1fx5dab\n\n\n b <blockquote> foo </blockquote>1g9n7co\nf09a97", "selser [0,3,1,3,[3],4,0,[4]]": " a \n \nb \n\n\n1qc5zjc\n 1la0n9t", "selser [4,[4],0,[3],2,3,0,[4]]": "1xnnljk<p>1v33w05</p>\n b <div></div>1bu36yk\n\n\n c \n 16w8b21", "selser [[2],0,2,4,0,3,0,2]": "9hfp91 a <p> foo </p>ydl7lg\n\n\n b \n\n5zlgwx\n\n\n c \n\nej88n9\n <span> foo </span>", "selser [[4],[2],0,3,4,[[3]],0,1]": "tevs9u<p>vts2qz foo </p>\n b \n\nw3u448<blockquote></blockquote>\n <span> foo </span>", "selser [0,0,0,4,0,2,0,1]": " a <p> foo </p>\n b \n\n145shfl\n\n\n c \n\n1eq7qr5<blockquote> foo </blockquote>\n <span> foo </span>", "selser [[3],2,4,[2],2,[3],0,0]": "\n\nzjgma8<p> foo </p>gzui7m<div>1afaazv foo </div>1rjyhk\n\n\n c <blockquote></blockquote>\n <span> foo </span>", "selser [[2],0,[4],0,[3],2,4,0]": "1jrp9v5 a <p> foo </p>nk1h2b<div> foo </div>\n c \n\n1b6klzm<blockquote> foo </blockquote>amck86\n <span> foo </span>" }, "3a. Table cells without escapable prefixes after edits": { "selser [manual]": "{|\n| id=\"x\" | -\n|}" }, "4. Categories and newlines: newline suppression for last list item should RT properly": { "html2wt": "* a\n**** b\n\n[[Category:Foo]]", "selser [[[0,3]],0,0]": "*a\n\n\n[[Category:Foo]]" }, "4. Multiple spaces at start-of-line": { "html2wt": "foo \n foo\n\n{|\n|foo\n|}" }, "4. includeonly in table attributes": { "wt2html": "<table data-parsoid='{\"dsr\":[0,77,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[3,75,0,0]}'><tr about=\"#mwt1\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"startTagSrc\":\"|-\",\"a\":{\"<noinclude>\\n|-\\n|a\\n</noinclude>\":null},\"sa\":{\"<noinclude>\\n|-\\n|a\\n</noinclude>\":\"\"},\"dsr\":[3,36,33,0]}' data-mw='{\"attribs\":[[{\"txt\":\"a\",\"html\":\"<meta typeof=\\\"mw:Includes/NoInclude\\\" data-parsoid='{\\\"src\\\":\\\"&lt;noinclude>\\\",\\\"dsr\\\":[6,17,null,null]}'/>\\n|-\\n|a\\n<meta typeof=\\\"mw:Includes/NoInclude/End\\\" data-parsoid='{\\\"src\\\":\\\"&lt;/noinclude>\\\",\\\"dsr\\\":[24,36,null,null]}'/>\"},{\"html\":\"\"}]]}'></tr>\n<tr about=\"#mwt2\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"startTagSrc\":\"|-\",\"a\":{\"<includeonly>\\n|-\\n|b\\n</includeonly>\":null},\"sa\":{\"<includeonly>\\n|-\\n|b\\n</includeonly>\":\"\"},\"dsr\":[37,74,37,0]}' data-mw='{\"attribs\":[[{\"txt\":\"\",\"html\":\"<meta typeof=\\\"mw:Includes/IncludeOnly\\\" data-parsoid='{\\\"dsr\\\":[40,74,null,null]}' data-mw='{\\\"src\\\":\\\"&lt;includeonly>\\\\n|-\\\\n|b\\\\n&lt;/includeonly>\\\"}'/><meta typeof=\\\"mw:Includes/IncludeOnly/End\\\" data-parsoid='{\\\"src\\\":\\\"\\\",\\\"dsr\\\":[74,74,null,null]}'/>\"},{\"html\":\"\"}]]}'></tr>\n</tbody></table>", "html2wt": "{|\n|a\n|}" }, "6. Pre-blocks should extend across lines with leading WS even when there is no wrappable content": { "wt2html": "<pre data-parsoid='{\"dsr\":[0,26,1,0]}'>a\n\n <!-- continue -->\nb</pre>\n\n<pre data-parsoid='{\"dsr\":[28,30,1,0]}'>c</pre>\n \n<p data-parsoid='{\"dsr\":[33,34,0,0]}'>d</p>", "html2html": "<pre data-parsoid='{\"dsr\":[0,7,1,0]}'>a\n\nb</pre>\n\n<pre data-parsoid='{\"dsr\":[9,11,1,0]}'>c</pre>\n <p data-parsoid='{\"dsr\":[13,16,0,0]}'>\n<br data-parsoid='{\"dsr\":[14,14,0,0]}'/>\nd</p>\n", "html2wt": " a\n \n b\n\n c\n \n\nd\n" }, "7. Categories and newlines: migrateTrailingCategories dom pass should leave template content alone": { "html2wt": "* {{1x|a\n[[Category:Foo]]}}" }, "8. Categories and newlines: migrateTrailingCategories dom pass should not get tripped by intervening templates": { "html2wt": "* a\n\n{{1x|[[Category:Foo]]\n[[Category:Bar]]}}\n[[Category:Baz]]" }, "8. Encapsulate foster-parented transclusion content": { "wt2wt": "{{1x|a\n}}\n{|{{1x|style='color:red'}}\n|-\n|b\n|}\n" }, "<br> to <br />": { "html2html": "<p data-parsoid='{\"dsr\":[0,3,0,0]}'>123</p>\n", "html2wt": "123\n" }, "<includeonly> and <noinclude> being included": { "html2wt": "Foobar\n" }, "<nowiki> inside <pre> (T15238)": { "html2html": "<pre data-parsoid='{\"dsr\":[0,15,1,0]}'><span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[1,5,null,null]}'><</span>nowiki<span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[11,15,null,null]}'>></span></pre>\n<p data-parsoid='{\"dsr\":[16,18,0,0]}'>\n <br data-parsoid='{\"dsr\":[18,18,0,0]}'/></p>\n\n<pre data-parsoid='{\"dsr\":[20,53,1,0]}'><span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[21,25,null,null]}'><</span>nowiki<span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[31,35,null,null]}'>></span>Foo<span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[38,42,null,null]}'><</span>/nowiki<span typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[49,53,null,null]}'>></span></pre>\n", "html2wt": " <nowiki>\n\n \n\n <nowiki>Foo</nowiki>\n" }, "<onlyinclude> on a page": { "html2wt": "Foobar\n" }, "<pre> inside a link": { "wt2html": "<p data-parsoid='{\"dsr\":[0,6,0,0]}'>[[Main</p><pre typeof=\"mw:Extension/pre\" about=\"#mwt10\" data-parsoid='{\"stx\":\"html\",\"dsr\":[6,22,5,6]}' data-mw='{\"name\":\"pre\",\"attrs\":{},\"body\":{\"extsrc\":\" Page\"}}'> Page</pre><p data-parsoid='{\"dsr\":[22,84,0,0]}'>]] <a rel=\"mw:WikiLink\" href=\"./Main_Page\" title=\"Main Page\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main Page\"},\"dsr\":[25,84,12,2]}'>the main page <pre typeof=\"mw:Extension/pre\" about=\"#mwt5\" data-parsoid='{\"stx\":\"html\",\"dsr\":[51,82,5,6]}' data-mw='{\"name\":\"pre\",\"attrs\":{},\"body\":{\"extsrc\":\"[it's not very good]\"}}'>[it's not very good]</pre></a></p>", "wt2wt": "[[Main<pre> Page</pre>]] [[Main Page|the main page]]<pre>[it's not very good]</pre>", "html2html": "<p data-parsoid='{\"dsr\":[0,6,0,0]}'>[[Main</p><pre typeof=\"mw:Extension/pre\" about=\"#mwt11\" data-parsoid='{\"stx\":\"html\",\"dsr\":[6,22,5,6]}' data-mw='{\"name\":\"pre\",\"attrs\":{},\"body\":{\"extsrc\":\" Page\"}}'> Page</pre><p data-parsoid='{\"dsr\":[22,52,0,0]}'>]] <a rel=\"mw:WikiLink\" href=\"./Main_Page\" title=\"Main Page\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main Page\"},\"dsr\":[25,52,12,2]}'>the main page</a></p><pre typeof=\"mw:Extension/pre\" about=\"#mwt4\" data-parsoid='{\"stx\":\"html\",\"dsr\":[52,83,5,6]}' data-mw='{\"name\":\"pre\",\"attrs\":{},\"body\":{\"extsrc\":\"[it's not very good]\"}}'>[it's not very good]</pre>", "html2wt": "[[Main<pre> Page</pre>]] [[Main Page|the main page]]<pre>[it's not very good]</pre>", "selser [5]": "[[Main<pre> Page</pre>]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [[3],0,2,0,0]": "<pre> Page</pre>1aryxb3\n\n]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [3,0,2,0,4]": "<pre> Page</pre>1lj0yiu\n\n]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>745xgq", "selser [3,0,1,0,0]": "<pre> Page</pre>]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [0,0,[4,2],0,2]": "[[Main<pre> Page</pre>11x2vdb14osc5u[[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>1k4l5na\n\n", "selser [3,0,1,0,1]": "<pre> Page</pre>]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [2,0,[4,0],0,2]": "hhy6o3\n\n[[Main<pre> Page</pre>1ykqzio[[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>ia94fo\n\n", "selser [4,0,1,0,1]": "1j63aso<pre> Page</pre>]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [[3],0,[0,2],0,4]": "<pre> Page</pre>]] 1ecrp36[[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>1ewp809", "selser [4,0,2,0,0]": "c95k3k<pre> Page</pre>m0cfjh\n\n]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>", "selser [2,0,0,0,3]": "1cto0y\n\n[[Main<pre> Page</pre>]] [[Main Page|the main page <pre>[it's not very good]</pre>]]<pre>[it's not very good]</pre>" }, "<pre> with <nowiki> inside (compatibility with 1.6 and earlier)": { "html2wt": " <nowiki><b></nowiki>\n <nowiki><cite></nowiki>\n <nowiki><em></nowiki>\n" }, "<pre> with attributes (T5202)": { "html2html": "<pre data-parsoid='{\"dsr\":[0,24,1,0]}'>Bluescreen of WikiDeath</pre>\n", "html2wt": " Bluescreen of WikiDeath\n" }, "<pre> with forbidden attribute (T5202)": { "html2html": "<pre data-parsoid='{\"dsr\":[0,22,1,0]}'>Narrow screen goodies</pre>\n", "html2wt": " Narrow screen goodies\n" }, "<pre> with forbidden attribute values (T5202)": { "html2html": "<pre data-parsoid='{\"dsr\":[0,22,1,0]}'>Narrow screen goodies</pre>\n", "html2wt": " Narrow screen goodies\n" }, "<pre> with width attribute (T5202)": { "html2html": "<pre data-parsoid='{\"dsr\":[0,22,1,0]}'>Narrow screen goodies</pre>\n", "html2wt": " Narrow screen goodies\n" }, "<wbr> is valid wikitext (T54468)": { "html2wt": "<wbr />\n" }, "A table with caption with default-spaced attributes and a table row": { "html2wt": "{|\n|+ style=\"color: red;\" |caption1\n|foo\n|}" }, "A table with captions with non-default spaced attributes and a table row": { "wt2wt": "{|\n|+ style=\"color: red;\" |caption2\n|+ style=\"color: red;\" |caption3\n|-\n|foo\n|}", "html2wt": "{|\n|+ style=\"color: red;\" |caption2\n|+ style=\"color: red;\" |caption3\n|foo\n|}", "selser [[3,2,3,[4],4,[2,4]]]": "{|<!--1x68bn1-->\n|+style=\"color: red;\"|caption2\n|+ style=\"color: red;\"|10v6cxo<!--z34d72--><!--46xa89-->\n|-\n|foo<!--u8g06g-->\n|}", "selser [[0,2,4,0,3,[4,0]]]": "{|\n<!--1ji8i64-->|+style=\"color: red;\"|caption2<!--zbhb9h-->\n|+ style=\"color: red;\"|caption3<!--1e0zxjv-->\n|}", "selser [[2,0,2,3,3,3]]": "{|<!--lnjajl-->\n|+style=\"color: red;\"|caption2<!--1feonq-->\n|}", "selser [2]": "t2kzg\n{|\n|+style=\"color: red;\"|caption2\n|+ style=\"color: red;\"|caption3\n|-\n|foo\n|}", "selser [[4,[3],2,0,3,[[3,4],4]]]": "{|<!--191eqmq-->\n|+style=\"color: red;\"|<!--e299hf-->\n|+ style=\"color: red;\"|caption3\n|-\n|1ovfrsc<!--1gpfel1-->\n|}", "selser [[2,2,0,4,2,[0,4]]]": "{|<!--1ovyqk-->\n<!--1ymk97l-->|+style=\"color: red;\"|caption2\n<!--159qyak--><!--uk2a1n-->\n|-\n|foo<!--14o76ub-->\n|}", "selser [[0,[2],0,0,0,[[0,2],0]]]": "{|\n|+style=\"color: red;\"|13jv767caption2\n|+ style=\"color: red;\"|caption3\n|-\n|x7h0yn\n|foo\n|}", "selser [[2,0,3,[2],0,[2,0]]]": "{|<!--1jr3abl-->\n|+style=\"color: red;\"|caption2\n|+ style=\"color: red;\"|601ygwcaption3\n<!--13yiy5c-->|-\n|foo\n|}", "selser [1]": "{| data-foobar=\"uh4slx\"\n|+style=\"color: red;\"|caption2\n|+ style=\"color: red;\"|caption3\n|-\n|foo\n|}", "selser [[0,[2],0,2,3,[[2,0],0]]]": "{|\n|+style=\"color: red;\"|1teo5w2caption2\n<!--19lcfg1-->|+ style=\"color: red;\"|caption3\n|-\n|jjnctg\n|foo\n|}", "selser [[3,4,3,0,0,1]]": "{|<!--1cxeub5-->\n|+ style=\"color: red;\"|caption3\n|-\n|foo\n|}", "selser [[2,3,0,[3],2,[[2,[3]],2]]]": "{|<!--1bxt40z-->\n\n|+ style=\"color: red;\"|<!--uxyzqk-->\n|-\n|mixbq\n|<!--5hoja8-->\n|}", "selser [[0,0,0,1,4,3]]": "{|\n|+style=\"color: red;\"|caption2\n|+ style=\"color: red;\" data-foobar=\"r9yqgh\" |caption3<!--1rbumig-->\n|}", "selser [[0,0,2,[3],3,[[0,4],0]]]": "{|\n|+style=\"color: red;\"|caption2<!--1pldekw-->\n|+ style=\"color: red;\" |\n|-\n|1j65dem\n|}" }, "Abort table cell attribute parsing on wikilink": { "wt2wt": "{|\n|testing [[one|two]]<nowiki> |three</nowiki>||four\n| testing one two |three||four\n|testing=\"[[one|two]]<nowiki>\" |three</nowiki>||four\n|}", "html2html": "<table data-parsoid='{\"dsr\":[0,140,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[3,138,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"dsr\":[3,137,0,0]}'><td data-parsoid='{\"dsr\":[3,47,1,0]}'>testing <a rel=\"mw:WikiLink\" href=\"./One\" title=\"One\" class=\"new\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./One\"},\"sa\":{\"href\":\"one\"},\"dsr\":[12,23,6,2]}'>two</a><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[23,47,8,9]}'> |three</span></td><td data-parsoid='{\"stx\":\"row\",\"dsr\":[47,53,2,0]}'>four</td>\n<td data-parsoid='{\"a\":{\"testing\":null,\"one\":null,\"two\":null},\"sa\":{\"testing\":\"\",\"one\":\"\",\"two\":\"\"},\"dsr\":[54,78,19,0]}'>three</td><td data-parsoid='{\"stx\":\"row\",\"dsr\":[78,84,2,0]}'>four</td>\n<td data-parsoid='{\"dsr\":[85,131,1,0]}'>testing=\"<a rel=\"mw:WikiLink\" href=\"./One\" title=\"One\" class=\"new\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./One\"},\"sa\":{\"href\":\"one\"},\"dsr\":[95,106,6,2]}'>two</a><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[106,131,8,9]}'>\" |three</span></td><td data-parsoid='{\"stx\":\"row\",\"dsr\":[131,137,2,0]}'>four</td></tr>\n</tbody></table>", "html2wt": "{|\n|testing [[one|two]]<nowiki> |three</nowiki>||four\n| testing one two |three||four\n|testing=\"[[one|two]]<nowiki>\" |three</nowiki>||four\n|}", "selser [1]": "{| data-foobar=\"66fol0\"\n|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[0,1]]": "{|\n|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[0,[[[2,0,0],1,0,2,[2],4,[0,2,0],4],0]]]": "{|\n|jmvhm1testing [[one|two]] |three|| data-foobar=\"1shr01n\" |four\n|tby7d\n|testing one two |three||18pbj54four\n|1c3ad6u\n|testing=\"18gycam[[one|two]]<nowiki>\" |three</nowiki>\n|fsdzo0\n|}", "selser [2]": "1wu4vn\n{|\n|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[0,[[4,[4],3,[3],3,2,3,3],3]]]": "{|\n|1kxbby7||f19k30\n|testing one two |\n|1pq73j5\n|}", "selser [[4,[2,3]]]": "{|<!--1vbv47r--><!--1q0o4rr-->\n|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[3,1]]": "{|\n|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[4,[[4,4,3,0,2,2,[0,2,0],0],4]]]": "{|<!--k0h0xy-->\n|nf9yah\n|17cjmp0\n|testing one two |three\n|14xsn3l||four\n|3ay3mz\n|testing=\"1henp9m[[one|two]]<nowiki>\" |three</nowiki>||four<!--dnx1dw-->\n|}", "selser [[0,2]]": "{|\n<!--160e6cw-->|testing [[one|two]] |three||four\n|testing one two |three||four\n|testing=\"[[one|two]]\" |three||four\n|}", "selser [[4,[[2,[2],4,3,2,4,[3,4,4],1],0]]]": "{|<!--3nev4g-->\n|1jw4mk0\n|testing [[one|two]] |three||4ybyuufour\n|1cx5oih\n|1orkt2r||four\n|uabrr0\n|157h2ct6x6cj5|| data-foobar=\"1ey4pzz\" |four\n|}" }, "Accept \"!!\" in table data": { "html2wt": "{|\n| Foo!! ||\n|}" }, "Accept \"| !\" at start of line in tables (ignore !-attribute)": { "wt2wt": "{|\n|-\n| !style=\"color:red\" |bar\n|}", "html2wt": "{|\n|bar\n|}", "selser [[4,1]]": "{|<!--ka11ac-->\n|-\n|!style=\"color:red\"|bar\n|}", "selser [2]": "9a3f8g\n{|\n|-\n|!style=\"color:red\"|bar\n|}", "selser [[0,[1,4]]]": "{|\n|- data-foobar=\"m4co93\"\n|!style=\"color:red\"|bar<!--6gcza0-->\n|}", "selser [1]": "{| data-foobar=\"2h3s4j\"\n|-\n|!style=\"color:red\"|bar\n|}", "selser [[0,[1,0]]]": "{|\n|- data-foobar=\"mk5ijc\"\n|!style=\"color:red\"|bar\n|}", "selser [[0,1]]": "{|\n|-\n|!style=\"color:red\"|bar\n|}", "selser [[0,[2,0]]]": "{|\n<!--gbkl25-->|-\n|!style=\"color:red\"|bar\n|}", "selser [[2,2]]": "{|<!--cvby64-->\n<!--uxxk5k-->|-\n|!style=\"color:red\"|bar\n|}", "selser [[4,[2,4]]]": "{|<!--13fjat8--><!--gyb481-->\n|-\n|!style=\"color:red\"|bar<!--139hhgq-->\n|}", "selser [[3,1]]": "{|\n|-\n|!style=\"color:red\"|bar\n|}", "selser [[0,2]]": "{|\n<!--1rwut2u-->|-\n|!style=\"color:red\"|bar\n|}" }, "Accept \"||\" in indented table headings": { "html2wt": ": {|\n!h1\n!h2\n|}\n" }, "Accept \"||\" in table headings": { "html2wt": "{|\n!h1\n!h2\n|}" }, "Accept empty attributes in td/th cells (td/th cells starting with leading ||)": { "html2wt": "{|\n!h1\n|a\n|}" }, "Accept empty attributes in th-cells": { "html2wt": "{|\n!foo\n!bar\n|}" }, "Accept empty td cell attribute": { "html2wt": "{|\n| align=\"center\" |foo\n|\n|}" }, "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 +/- ": { "wt2wt": "{|\n|-\n| style=\"color:red;\" | +1\n| style=\"color:blue;\" | -1\n|-\n|1||2||3\n|1||+2||-3\n|-\n| +1\n| -1\n|}", "html2wt": "{|\n| style=\"color:red;\" | +1\n| style=\"color:blue;\" | -1\n|-\n|1\n|2\n|3\n|1\n| +2\n| -3\n|-\n| +1\n| -1\n|}", "selser [[4,[[0,0,4,3],4,[2,4,[2],[3],2,[3],[2],1],3,4,0]]]": "{|<!--1l9wtdl-->\n|-\n|style='color:red;'|+1\n|3i9zz8<!--2cmstr-->\n|-\n|1nv4ick\n|ldrc1b||wyy68k2||\n|1j1izc7\n| ||jkar1e+2|| data-foobar=\"1hz5peb\" |-3<!--1xrnazs-->\n|}", "selser [1]": "{| data-foobar=\"1ow81ll\"\n|-\n|style='color:red;'|+1\n|style='color:blue;'|-1\n|-\n|1||2||3\n|1||+2||-3\n|-\n| +1\n| -1\n|}", "selser [2]": "tiqh6k\n{|\n|-\n|style='color:red;'|+1\n|style='color:blue;'|-1\n|-\n|1||2||3\n|1||+2||-3\n|-\n| +1\n| -1\n|}", "selser [[0,1]]": "{|\n|-\n|style='color:red;'|+1\n|style='color:blue;'|-1\n|-\n|1||2||3\n|1||+2||-3\n|-\n| +1\n| -1\n|}", "selser [[2,[[0,4,0,[4]],0,1,2,[0,2,4,[2]],0]]]": "{|<!--1lja5uq-->\n|-\n|ec6y93\n| style=\"color:blue;\" |9hainn\n|- data-foobar=\"1lzq62c\"\n|1||2||3\n|1||+2||-3<!--1xh3c79-->\n|-\n|uyg1u2\n| +1\n|1yrrlwq\n| x4a8hu-1\n|}", "selser [[0,2]]": "{|\n<!--vxd1a4-->|-\n|style='color:red;'|+1\n|style='color:blue;'|-1\n|-\n|1||2||3\n|1||+2||-3\n|-\n| +1\n| -1\n|}", "selser [[3,[[3,1,0,[4]],3,4,2,[0,4,0,0],4]]]": "{|\n|-\n| style=\"color:red;\" data-foobar=\"1ursn9e\" | +1\n|style='color:blue;'|1tgbq69<!--mjcp0y--><!--10gnjb4-->\n|-\n|12kuf2l\n| -1<!--p4ts4n-->\n|}", "selser [[0,[[3,2,0,0],0,[2,0,1,[2],0,0,0,2],0,[0,[4],0,0],0]]]": "{|\n|-\n|1dbxbmw\n|style='color:red;'|+1\n|style='color:blue;'|-1\n|-\n|1ialk7b\n|1|| data-foobar=\"18yr9kc\" |2||fgg5mn3\n|1||+2\n|uh4o4t||-3\n|-\n| vcgszp\n| -1\n|}" }, "Attribute test: unquoted but illegal value (hash)": { "wt2wt": "<font color=\"#x\">foo</font>", "html2wt": "<font color=\"#x\">foo</font>\n", "selser [[2]]": "4p94qb<font color=#x>foo</font>", "selser [1]": "<font color=#x>foo</font>", "selser [2]": "1t5s407\n\n<font color=#x>foo</font>", "selser [[[2]]]": "<font color=#x>1hva2gnfoo</font>", "selser [[[3]]]": "<font color=#x></font>", "selser [[[4]]]": "<font color=#x>1wi04hg</font>" }, "Avoid expanding multiline sol transparent template ranges unnecessarily": { "selser [[2],0,[0,0,2,0,0],0,0]": "jv7k6ehi\n\n12kmtcn\n{{1x|<br/>\n}}\n\n[[Category:Ho]]", "selser [4,0,1,0,0]": "rk3tr7\n\n\n\n{{1x|<br/>\n}}\n\n[[Category:Ho]]", "selser [[2],0,[3,0,0,0,0],0,3]": "11zstwqhi\n\n\n\n{{1x|<br/>\n}}\n", "selser [3,4,1,0,4]": "uo9c1i\n\n\n\n{{1x|<br/>\n}}\n\n1be6gyh" }, "Bare pipe character from a template (T54363)": { "html2wt": "|\n" }, "Basic section headings": { "html2wt": "== Headline 1 ==\nSome text\n\n== Headline 2 ==\nMore\n\n=== Smaller headline ===\nBlah blah\n" }, "Block tag on both lines (<blockquote>)": { "html2wt": "a <blockquote>foo</blockquote>\nb <blockquote>foo</blockquote>", "selser [4,3,0,[4]]": "10vo7hk\n\n\n\nb <blockquote>106sti0</blockquote>", "selser [3,[[3]],2,4]": "<blockquote></blockquote>10b02r4\n\n\n\nb \n\n1e2aryh", "selser [3,[4],2,[[4]]]": "<blockquote>h72sym</blockquote>3nayvy\n\n\n\nb <blockquote>1arnp7b</blockquote>" }, "Block tag on both lines (<div>)": { "html2wt": "a <div>foo</div>\nb <div>foo</div>", "selser [[2],0,2,[4]]": "h6qyj8a <div>foo</div>1mjtzj4\n\n\n\nb <div>679wm4</div>", "selser [0,0,2,[4]]": "a <div>foo</div>7xgr0j\n\n\n\nb <div>7y1qwv</div>", "selser [4,3,0,1]": "1aa1ei4\n\n\n\nb <div data-foobar=\"1a5r177\">foo</div>", "selser [1,3,0,4]": "a \n\n\n\nb \n\npok8a4", "selser [0,3,2,4]": "a \n\n184736w\n\n\n\nb \n\n1gd1ps1" }, "Block tag on one line (<blockquote>)": { "html2wt": "a <blockquote>foo</blockquote>\nb\n" }, "Block tag on one line (<div>)": { "html2wt": "a <div>foo</div>\nb\n" }, "Bracketed external links with template-generated invalid target": { "html2wt": "[http:/example.com title]\n" }, "Broken link": { "html2html": "<p data-parsoid='{\"dsr\":[0,72,0,0]}'>[/index.php?title=Zigzagzogzagzig&action=edit&redlink=1 Zigzagzogzagzig]</p>\n", "html2wt": "[/index.php?title=Zigzagzogzagzig&action=edit&redlink=1 Zigzagzogzagzig]\n" }, "Build table with pipe as data": { "wt2wt": "{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |<nowiki>data with |</nowiki>|| style=\"color:red;\" |second data with |\n|-\n||<nowiki>data with |</nowiki>|||second data with |\n|}", "html2wt": "{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data\n| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |<nowiki>data with |</nowiki>\n| style=\"color:red;\" |<nowiki>second data with |</nowiki>\n|-\n|<nowiki>data with |</nowiki>\n|<nowiki>second data with |</nowiki>\n|}", "selser [[4,[[[3],4,[2]],4,1,3,1,0,[2,[3],0],3]]]": "{| class=\"wikitable\"<!--1ro5edm-->\n!\n!1lbz2sp\n!d7vj63second header<!--1hbjoiw-->\n|- style=\"color:red;\" data-foobar=\"c0v6lm\"\n|data|| style=\"color:red;\" |second data\n|- data-foobar=\"1i2dp2g\"\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n|1klrzvf\n|| |||second data with |\n|}", "selser [[4,2]]": "{| class=\"wikitable\"<!--xcjy8s--><!--ivs83k-->\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [[3,2]]": "{| class=\"wikitable\"<!--1xy6unh-->\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [2]": "14zorup\n{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [1]": "{| class=\"wikitable\" data-foobar=\"1rf2fk9\"\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [[4,[[[4],3,2],2,[0,[3],3],0,[0,1,[2]],4,2,0]]]": "{| class=\"wikitable\"<!--1o9xso6-->\n!8oq0v1\n!1tl00ic\n!second header<!--1j4wwbz-->\n|- style=\"color:red;\"\n|\n|-\n| style=\"color:red;\" data-foobar=\"19rgv15\" |<nowiki>data with |</nowiki> || style=\"color:red;\" | i40agxsecond data with |<!--6hjy2a--><!--b719zh-->\n|-\n||data with | |||second data with |\n|}", "selser [[2,1]]": "{| class=\"wikitable\"<!--et2ta6-->\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |<nowiki>data with |</nowiki> || style=\"color:red;\" | second data with |\n|-\n||<nowiki>data with |</nowiki> |||second data with |\n|}", "selser [[4,[2,0,4,0,4,0,[0,[4],4],4]]]": "{| class=\"wikitable\"<!--16xy0b2--><!--1ogs26n-->\n!header\n!second header\n<!--yub1iq-->\n<!--1sf2qp9-->\n|-\n||gr6c9b \n|668z7c<!--11k7ju3-->\n|}", "selser [[0,1]]": "{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [[3,[1,0,3,0,1,0,[3,3,3],3]]]": "{| class=\"wikitable\"\n!header\n!second header\n\n|- data-foobar=\"1vb433k\"\n| style=\"color:red;\" |<nowiki>data with |</nowiki> || style=\"color:red;\" | second data with |\n|-\n|}", "selser [[2,[[0,0,[3]],2,2,0,[3,[2],[2]],4,2,3]]]": "{| class=\"wikitable\"<!--1qbanhh-->\n!header\n!<!--1pboxi1-->\n<!--66zv5p-->|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |<nowiki>1865j9mdata with |</nowiki> || style=\"color:red;\" | b45gipsecond data with |<!--32n7kr--><!--13um9nu-->\n|-\n||<nowiki>data with |</nowiki> |||second data with |\n|}", "selser [[0,[[3,0,4],0,[3,2,4],0,0,3,[3,3,4],0]]]": "{| class=\"wikitable\"\n|ykcl2y\n|- style=\"color:red;\"\n|1oajfpr\n|data\n|14dxmuf\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n|wxxw7v\n|}", "selser [[2,2]]": "{| class=\"wikitable\"<!--nheh4u-->\n<!--7c8qj4-->!header\n!second header\n|- style=\"color:red;\"\n|data|| style=\"color:red;\" |second data\n|-\n| style=\"color:red;\" |data with | || style=\"color:red;\" | second data with |\n|-\n||data with | |||second data with |\n|}", "selser [[3,[3,2,[0,[3],[3]],2,[2,3,1],0,4,0]]]": "{| class=\"wikitable\"<!--f4bpwj-->\n|- style=\"color:red;\"\n| || style=\"color:red;\" |<!--1dncm0k-->\n|-\n|a6iywe\n| style=\"color:red;\" data-foobar=\"vwf3pf\" | <nowiki>second data with |</nowiki>\n<!--hnyomd-->\n|}" }, "Build table with wikilink": { "html2wt": "{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data [[Main Page|linktext]]\n|second data [[Main Page|linktext]]\n|-\n|data\n|second data [[Main Page|link|text with pipe]]\n|}" }, "Build table with {{!}}": { "wt2wt": "{{{!}} class=\"wikitable\"\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\"{{!}}second data\n{{!}}}", "html2wt": "{| class=\"wikitable\"\n!header\n!second header\n|- style=\"color:red;\"\n|data\n| style=\"color:red;\" |second data\n|}", "selser [2]": "9sfybw\n{{{!}} class=\"wikitable\"\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [1]": "{{{!}} class=\"wikitable\" data-foobar=\"11ptc6n\"\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[0,2]]": "{{{!}} class=\"wikitable\"\n<!--tbvse9-->!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[4,[4,0,2,0]]]": "{{{!}} class=\"wikitable\"<!--rqey6f--><!--n8dabp-->\n<!--1vi52dt-->{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[4,2]]": "{{{!}} class=\"wikitable\"<!--13mcqae--><!--1boyyw2-->\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[2,2]]": "{{{!}} class=\"wikitable\"<!--gdoe7f-->\n<!--r1b0oz-->!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[4,1]]": "{{{!}} class=\"wikitable\"<!--wilazu-->\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}", "selser [[3,1]]": "{{{!}} class=\"wikitable\"\n!header\n!second header\n{{!}}- style=\"color:red;\"\n{{!}}data{{!}}{{!}} style=\"color:red;\" {{!}}second data\n{{!}}}" }, "CSS line continuation 1": { "html2wt": "<div style=\"/* insecure input */\"></div>" }, "CSS line continuation 2": { "html2wt": "<div style=\"/* invalid control char */\"></div>" }, "Case insensitivity of parser functions for non-ASCII characters (T10143)": { "html2wt": "Ěščř\nĚščř\něščř\něščř\něščř\něščř\nĚŠČŘ\nĚŠČŘ\n" }, "Case-insensitive magic words should still work with weird casing.": { "html2wt": "example.org\naOEU\nAoeu\nhttp://example.org\n" }, "Case-sensitive magic words, when cased differently, should just be template transclusions": { "html2html": "<p data-parsoid='{\"dsr\":[0,331,0,0]}'>[/index.php?title=Template:CurrentMonth&action=edit&redlink=1 Template:CurrentMonth]\n[/index.php?title=Template:Currentday&action=edit&redlink=1 Template:Currentday]\n[/index.php?title=Template:CURreNTweEK&action=edit&redlink=1 Template:CURreNTweEK]\n[/index.php?title=Template:CurrentHour&action=edit&redlink=1 Template:CurrentHour]</p>\n", "html2wt": "[/index.php?title=Template:CurrentMonth&action=edit&redlink=1 Template:CurrentMonth]\n[/index.php?title=Template:Currentday&action=edit&redlink=1 Template:Currentday]\n[/index.php?title=Template:CURreNTweEK&action=edit&redlink=1 Template:CURreNTweEK]\n[/index.php?title=Template:CurrentHour&action=edit&redlink=1 Template:CurrentHour]\n", "selser [[0,4,0,2,0,0,0]]": "{{CurrentMonth}}1hfy2kw{{currentday}}<nowiki/>y1fjfy\n{{cURreNTweEK}}\n{{currentHour}}", "selser [[0,0,0,0,0,2,0]]": "{{CurrentMonth}}\n{{currentday}}\n{{cURreNTweEK}}<nowiki/>gtu1i1\n{{currentHour}}", "selser [[0,4,0,0,0,3,0]]": "{{CurrentMonth}}<nowiki/>pdv9x9{{currentday}}\n{{cURreNTweEK}}{{currentHour}}", "selser [[0,3,0,4,0,4,0]]": "{{CurrentMonth}}{{currentday}}1bhxeiy{{cURreNTweEK}}<nowiki/>h2zlv4{{currentHour}}", "selser [[0,0,0,4,0,2,0]]": "{{CurrentMonth}}\n{{currentday}}1eukxsc{{cURreNTweEK}}<nowiki/>os3c1q\n{{currentHour}}", "selser [[0,0,0,3,0,4,0]]": "{{CurrentMonth}}\n{{currentday}}{{cURreNTweEK}}<nowiki/>kge8hn{{currentHour}}", "selser [[0,4,0,2,0,4,0]]": "{{CurrentMonth}}<nowiki/>qgj35{{currentday}}1evx2fs\n{{cURreNTweEK}}1n8fl4q{{currentHour}}" }, "Categories and newlines: migrateTrailingCategories dom pass should not get tripped by comments and whitespace": { "html2wt": "* a\n\n[[Category:Bar]]<!--boo1--> <!--boo2-->\n[[Category:Baz]]<!--boo3--> <!--boo4-->" }, "Categories and newlines: should behave properly with linkprefix (T87753)": { "selser [[3],0,3,0,0]": "\n\n[[تصنيف:Bar]]" }, "Check noCommafy in formatNum": { "wt2html": "<p data-parsoid='{\"dsr\":[0,53,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,23,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"formatnum:123456.78\",\"function\":\"formatnum\"},\"params\":{},\"i\":0}}]}'>123456.78</span>\n<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[24,53,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"formatnum:123456.78\",\"function\":\"formatnum\"},\"params\":{\"1\":{\"wt\":\"NOSEP\"}},\"i\":0}}]}'>123456.78</span></p>", "html2wt": "123 456,78\n123456.78\n" }, "Comment in template title": { "html2wt": "FOO\n" }, "Comment on its own line post-expand": { "wt2html": "<p data-parsoid='{\"dsr\":[0,20,0,0]}'>a\n<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[2,11,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"blank\",\"href\":\"./Template:Blank\"},\"params\":{},\"i\":0}}]}'></span><!---->\nb</p>", "html2wt": "a\n\nb\n" }, "Comment on its own line post-expand with non-significant whitespace": { "wt2html": "<p data-parsoid='{\"dsr\":[0,23,0,0]}'>a\n <span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[3,12,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"blank\",\"href\":\"./Template:Blank\"},\"params\":{},\"i\":0}}]}'></span> <!----> \nb</p>", "html2wt": "a\n\nb\n" }, "Comment spacing": { "html2wt": "a\n\n b \n\nc\n" }, "Comment test 2a": { "html2wt": "asdf\njkl\n" }, "Comment test 2b": { "html2wt": "asdf\n\njkl\n" }, "Comment test 3": { "html2wt": "asdf\njkl\n" }, "Comment test 4": { "html2wt": "asdfjkl\n" }, "Comment whitespace": { "html2wt": "" }, "Comments and Indent-Pre": { "html2wt": " asdf\n\n asdf\n\n asdf\n\nxyz\n\n asdf\n xyz\n" }, "Common list": { "html2wt": "* Common list\n* item 2\n* item 3" }, "Confirm that 'apos' named character reference doesn't make it to output (not legal in HTML 4)": { "html2wt": "Text's been normalized?\n" }, "Consecutive <pre>s should not get merged": { "html2html": "<pre data-parsoid='{\"dsr\":[0,2,1,0]}'>a</pre>\n\n<pre data-parsoid='{\"dsr\":[4,6,1,0]}'>b</pre>\n\n<pre data-parsoid='{\"dsr\":[8,10,1,0]}'>c</pre>\n\n<pre data-parsoid='{\"dsr\":[12,14,1,0]}'>d</pre>\n\n<pre data-parsoid='{\"dsr\":[16,18,1,0]}'>e</pre>\n <p data-parsoid='{\"dsr\":[20,21,0,0]}'>\n<br data-parsoid='{\"dsr\":[21,21,0,0]}'/></p>\n \n<pre data-parsoid='{\"dsr\":[24,26,1,0]}'>f</pre>\n" }, "Correct handling of <td>, <tr> (T8171)": { "html2wt": "{| \n | Some tabular data\n | More tabular data ...\n | And yet som tabular data \n|}", "selser [[0,[[0,0,0,[4],4,0,3],0]]]": "<table>\n <tr>\n <td> Some tabular data</td>\n <td> pa70ih</td><td>ewy9pe</td><td> And yet som tabular data</td></tr>\n</table>", "selser [[4,[[4,1,0,[2],0,[4],3],2]]]": "<table><!--1c9p8ag--><tr><td>8f9cr6</td><td data-foobar=\"trdzwz\"> Some tabular data</td>\n <td> 10bfmus More tabular data ...</td>\n <td> brkgdj</td>\n </tr><!--1s1b0su-->\n</table>", "selser [[2,[[3,[2],4,[3],3,[4],0],3]]]": "<table><!--kic9hg-->\n <tr><td> 5jp55q Some tabular data</td><td>zxz05u</td><td></td><td> 1l2mrts</td>\n </tr>\n</table>" }, "DIV IN UPPERCASE": { "wt2wt": "<DIV id=\"x\">HTML ROCKS</DIV>", "html2wt": "<div id=\"x\">HTML ROCKS</div>", "selser [2]": "pdj6w1<DIV ID=\"x\">HTML ROCKS</DIV>", "selser [[2]]": "<DIV ID=\"x\">tde5ezHTML ROCKS</DIV>", "selser [[4]]": "<DIV ID=\"x\">1ntl0vu</DIV>", "selser [[3]]": "<DIV ID=\"x\"></DIV>" }, "Decoding of HTML entities in headings and links for IDs and link fragments (T103714)": { "html2wt": "== A&B&C&amp;D&amp;amp;E ==\n[[#A&B&C&amp;D&amp;amp;E]]", "selser [3,2,1]": "7ijk5s\n\n[[#A&B&C&amp;D&amp;amp;E]]", "selser [3,2,[1]]": "jil05u\n\n[[#A&B&C&amp;D&amp;amp;E]]", "selser [4,2,1]": "s078h6\n\n1xg44n1\n\n[[#A&B&C&amp;D&amp;amp;E]]", "selser [1,2,[2]]": "==A&B&C&amp;D&amp;amp;E==\nrtkcgi\njn1m2m[[#A&B&C&amp;D&amp;amp;E]]", "selser [[0,2,0,3,0,0,0,0],4,[1]]": "==ngxj3gA&B&&amp;D&amp;amp;E==\n45ozgq\n\n[[#A&B&C&amp;D&amp;amp;E]]" }, "Definition Lists: Hacky use to indent tables": { "html2wt": ":: {|\n|foo\n|bar\n|}\n\nthis text\nshould be left alone\n" }, "Definition Lists: Hacky use to indent tables (WS-insensitive)": { "wt2wt": ":{|\n|a\n|}", "html2wt": ": {|\n|a\n|}\n", "selser [[[[4,3]]]]": ":{|<!--nvkt7k-->\n|} ", "selser [[[[0,4]]]]": ":{|\n<!--1cibqk6-->|} ", "selser [[1]]": ":{|\n|a\n|} ", "selser [[[[0,[[[4]],0]]]]]": ":{|\n|9li6zw\n|} ", "selser [1]": ":{|\n|a\n|} ", "selser [[[[4,[4,2]]]]]": ":{|<!--10ihbx0--><!--k9nvuw--><!--15hevs9-->\n|} ", "selser [[[[3,[0,2]]]]]": ":{|\n|a<!--12bq36y-->\n|} ", "selser [2]": "h175d3\n:{|\n|a\n|} ", "selser [[[[4,[[[2]],3]]]]]": ":{|<!--1bb9eok-->\n|j0vzm1a\n|} ", "selser [[[[3,0]]]]": ":{|\n|a\n|} ", "selser [[[[3,[[3],0]]]]]": ":{|\n|} ", "selser [[2]]": ": 1tk1yz2\n:{|\n|a\n|} ", "selser [[[[0,2]]]]": ":{|\n<!--hzzj8m-->|a\n|} ", "selser [[[[0,1]]]]": ":{|\n|a\n|} " }, "Definition Lists: Hacky use to indent tables (with content following table)": { "html2wt": ": {|\n|foo\n|bar\n|} <!--c1--> this text should be part of the dl" }, "Definition Lists: Hacky use to indent tables, with comments (T65979)": { "html2wt": "<!-- foo -->\n:: {|\n|foo\n|bar\n|}<!-- bar -->\n\nthis text\nshould be left alone" }, "Definition Lists: Indentation: Missing 1st level": { "html2wt": ":: i2\n::: i3\n" }, "Definition Lists: Indentation: Multi-level indent": { "html2wt": "::: i3\n" }, "Definition Lists: Indentation: Regular": { "html2wt": ": i1\n:: i2\n::: i3\n" }, "Definition Lists: Mixed Lists: Test 1": { "html2wt": "\n:;* foo\n::* bar\n:; baz\n" }, "Definition Lists: Mixed Lists: Test 11": { "html2wt": "; a\n:* b\n" }, "Definition Lists: Mixed Lists: Test 13": { "wt2html": "<ul data-parsoid='{\"dsr\":[0,32,0,0]}'><li data-parsoid='{\"dsr\":[0,32,1,0]}'><ol data-parsoid='{\"dsr\":[1,32,0,0]}'><li data-parsoid='{\"dsr\":[1,32,1,0]}'><ul data-parsoid='{\"dsr\":[2,32,0,0]}'><li data-parsoid='{\"dsr\":[2,32,1,0]}'><ol data-parsoid='{\"dsr\":[3,32,0,0]}'><li data-parsoid='{\"dsr\":[3,32,1,0]}'><dl data-parsoid='{\"dsr\":[4,32,0,0]}'><dt data-parsoid='{\"dsr\":[4,18,1,0]}'><ul data-parsoid='{\"dsr\":[5,17,0,0]}'><li data-parsoid='{\"dsr\":[5,17,1,0]}'><dl data-parsoid='{\"dsr\":[6,17,0,0]}'><dt data-parsoid='{\"dsr\":[6,17,1,0]}'><dl data-parsoid='{\"dsr\":[7,17,0,0]}'><dt data-parsoid='{\"dsr\":[7,12,1,0,0,1]}'>foo</dt><dd data-parsoid='{\"stx\":\"row\",\"dsr\":[12,17,1,0,1,0]}'>bar</dd></dl></dt></dl></li></ul>\n</dt><dt data-parsoid='{\"dsr\":[18,27,5,0,0,1]}'>boo</dt><dd data-parsoid='{\"stx\":\"row\",\"dsr\":[27,32,1,0,1,0]}'>baz</dd></dl></li></ol></li></ul></li></ol></li></ul>" }, "Definition Lists: Mixed Lists: Test 2": { "html2wt": "*: d1\n*: d2\n" }, "Definition Lists: Mixed Lists: Test 3": { "html2wt": "*::: d1\n*::: d2\n" }, "Definition Lists: Mixed Lists: Test 5": { "html2wt": "*: d1\n*:: d2\n" }, "Definition Lists: Mixed Lists: Test 6": { "html2wt": "#*: d1\n#*::: d3\n" }, "Definition Lists: Mixed Lists: Test 7": { "html2wt": ":* d1\n:* d2\n" }, "Definition Lists: Mixed Lists: Test 8": { "html2wt": ":* d1\n::* d2\n", "selser [[[1,2,1]]]": ":*d1 zmr5na\n::*d2", "selser [[[1,4,[2]]]]": ":*d1 mzvb16\n:: 101qtoa\n::*d2", "selser [[[1,2,[[[[4]]]]]]]": ":*d1 1p1a6zd\n::*1pbzx7v\n", "selser [[[[3],2,[1]]]]": ": 17llcws\n::*d2", "selser [[[3,0,[4]]]]": ":\n:: 14p3rxo\n", "selser [[[[[2]],4,2]]]": ":*1j4b9ocd1 7prueald6si3\n::*d2" }, "Definition Lists: Nesting: Multi-level (Parsoid only)": { "html2html": "\n<dl data-parsoid='{\"dsr\":[1,82,0,0]}'><dt data-parsoid='{\"dsr\":[1,6,1,0,1,1]}'>t1</dt>\n<dd data-parsoid='{\"dsr\":[7,17,1,0,1,6]}'>d1</dd>\n<dt data-parsoid='{\"dsr\":[18,82,1,0]}'><dl data-parsoid='{\"dsr\":[19,82,0,0]}'><dt data-parsoid='{\"dsr\":[19,24,1,0,1,1]}'>t2</dt>\n<dd data-parsoid='{\"dsr\":[25,45,2,0,1,14]}'>:d2</dd>\n<dt data-parsoid='{\"dsr\":[46,82,2,0]}'><dl data-parsoid='{\"dsr\":[48,82,0,0]}'><dt data-parsoid='{\"dsr\":[48,53,1,0,1,1]}'>t3</dt>\n<dd data-parsoid='{\"dsr\":[54,82,3,0,0,20]}'><span typeof=\"mw:DisplaySpace\" data-parsoid='{\"dsr\":[57,58,0,0]}'> </span>::d3</dd></dl></dt></dl></dt></dl>\n", "html2wt": "\n; t1 \n: d1 \n;; t2 \n;: :d2 \n;;; t3 \n;;: ::d3 \n" }, "Definition Lists: Nesting: Test 2": { "html2wt": "; t1\n:: d2\n" }, "Definition Lists: Nesting: Test 3": { "html2wt": ":; t1\n:::: d2\n" }, "Definition Lists: Nesting: Test 4": { "html2wt": "::; t3\n::: d3\n" }, "Definition Lists: No nesting: Multiple dd's": { "html2wt": "; x\n: a\n: b" }, "Definition Lists: colons and tables 1": { "html2wt": ": {|\n|x\n|}\n: {|\n|y\n|}\n" }, "Definition Lists: colons occurring in tags": { "html2wt": "; a:b\n; '''a:b'''\n; <i>a:b</i>\n; <span>a:b</span>\n; <div>a:b</div>\n; <div>a\n: b</div>\n; {{1x|a:b}}\n; {{1x|''a:b''}}\n;;; ''a:b''\n" }, "Definition list for indentation only": { "html2wt": ": Indented text" }, "Definition list with bracketed URL link": { "html2wt": "; [http://www.example.com/ Example]\n: Something about it" }, "Definition list with empty definition and following paragraph": { "html2wt": "; term\n:\n\nParagraph text\n" }, "Definition list with no space": { "html2wt": "; name\n: Definition" }, "Definition list with wikilink containing colon": { "html2html": "<dl data-parsoid='{\"dsr\":[0,95,0,0]}'><dt data-parsoid='{\"dsr\":[0,24,1,0,1,0]}'>[/index.php?title=Help</dt><dd data-parsoid='{\"stx\":\"row\",\"dsr\":[24,60,1,0]}'>FAQ&action=edit&redlink=1 Help:FAQ]</dd>\n<dd data-parsoid='{\"dsr\":[61,95,1,0,1,0]}'>The least-read page on Wikipedia</dd></dl>", "html2wt": "; [/index.php?title=Help:FAQ&action=edit&redlink=1 Help:FAQ]\n: The least-read page on Wikipedia" }, "Definition lists: colon in HTML attribute": { "html2html": "<dl data-parsoid='{\"dsr\":[0,12,0,0]}'><dt data-parsoid='{\"dsr\":[0,12,1,0,1,0]}'><b data-parsoid='{\"dsr\":[2,12,3,3]}'>bold</b></dt></dl>", "html2wt": "; '''bold'''" }, "Definition lists: ignore colons inside tags": { "wt2html": "<dl data-parsoid='{\"dsr\":[0,38,0,0]}'><dt data-parsoid='{\"dsr\":[0,38,1,0]}'>one <b data-parsoid='{\"stx\":\"html\",\"dsr\":[5,34,3,4]}'>two<span typeof=\"mw:DisplaySpace\" data-parsoid='{\"dsr\":[11,12,0,0]}'> </span>: tag <i data-parsoid='{\"stx\":\"html\",\"dsr\":[18,29,3,4]}'>fun:</i>:</b>:def</dt></dl>", "wt2wt": ";one <b>two : tag <i>fun:</i>:</b><nowiki>:def</nowiki>", "html2wt": "; one '''two : tag ''fun:'':'''\n: def", "selser [[[3,[2,0,3,3,0],0]]]": ";<b>1uz6j1ntwo :</b>:def", "selser [[1]]": ";one <b>two : tag <i>fun:</i>:</b>:def", "selser [[2]]": ": 63f2vo\n;one <b>two : tag <i>fun:</i>:</b>:def", "selser [2]": "1vyzwic\n;one <b>two : tag <i>fun:</i>:</b>:def", "selser [1]": ";one <b>two : tag <i>fun:</i>:</b>:def", "selser [[[4,[4,0,2,4,3],0]]]": ";1guwtke<b>1c7opx6 z5lbus: tag 1qp4x2b</b>:def", "selser [[[2,[0,0,3,[3],2],0]]]": ";m4autdone <b>two 18zi5k8:</b>:def", "selser [[[0,[0,0,0,3,4],0]]]": ";one <b>two : tag qvu4dz</b>:def", "selser [[[4,2,0]]]": ";19f00pvjxkgge<b>two : tag <i>fun:</i>:</b>:def", "selser [[[3,2,0]]]": ";1yorxlx<b>two : tag <i>fun:</i>:</b>:def" }, "Different interwiki prefixes mapping to the same URL": { "selser [[1],0,4,0,1,0,3,0,[1],0,[3],0,[1]]": "[[:en:Foo]]\n\n1lh6hpz\n\n[[wikipedia:Foo]]\n\n[[:wikipedia:en:Foo]]\n\n\n[[: wikiPEdia :Foo]]", "selser [4,0,[[3]],0,1,0,[[4]],2,0,0,[1],4,1]": "5yg824\n\n[:en:Foo]\n\n[[wikipedia:Foo]]\n\n[[:wikipedia:Foo|lcl9tx]]\n\neldsl\n\n[[wikipedia:en:Foo]]\n\n[[:wikipedia:en:Foo]]\n\n15my8b5\n\n[[: wikiPEdia :Foo]]", "selser [2,0,[[4]],3,3,0,[[3]],0,1,3,0,3,[2]]": "1r74r6y\n\n[[:en:Foo]]\n\n[[:en:Foo|13jznjb]]\n\n[:wikipedia:Foo]\n\n[[:wikipedia:en:Foo]]\n\n[[:wikipedia:en:Foo]]\n\n19pl9j1[[ wikiPEdia :Foo]]", "selser [[2],4,1,2,[3],0,0,4,[4],4,2,3,1]": "1bxp22k[[:en:Foo]]\n\nu6gdy4\n\n[[:en:Foo|Foo]]\n\n1w016t1\n\n[[:wikipedia:Foo|Foo]]\n\n1gayzjl\n\n8fr6sa\n\nics71h\n\n1eyxsvq\n\n[[:wikipedia:en:Foo]]\n\n[[ wikiPEdia :Foo]]", "selser [4,3,[[2]],2,[2],0,4,4,[[4]],4,[[2]],3,[4]]": "18ayqs5\n\n[[:en:Foo|7mtfabFoo]]\n\n1nw2ava\n\n72z1us[[:wikipedia:Foo]]\n\n69ha0t\n\n157xnqa\n\n[[wikipedia:en:Foo|13nh3np]]\n\n18fyiiz\n\n[[:wikipedia:en:Foo|1r10lc1wikipedia:en:Foo]]\n\nt5touf" }, "Disable TOC": { "html2wt": "Lead\n\n== Section 1 ==\n\n== Section 2 ==\n\n== Section 3 ==\n\n== Section 4 ==\n\n== Section 5 ==\n" }, "Disabled subpages": { "html2html": "<p data-parsoid='{\"dsr\":[0,58,0,0]}'>[/index.php?title=/subpage&action=edit&redlink=1 /subpage]</p>\n", "html2wt": "[/index.php?title=/subpage&action=edit&redlink=1 /subpage]\n" }, "Don't fall for the self-closing div": { "wt2wt": "<div>hello world</div>", "html2wt": "<div>hello world</div>", "selser [[4]]": "<div>3bqvzz</div/>", "selser [[3]]": "<div></div/>", "selser [2]": "12umu83<div>hello world</div/>", "selser [[2]]": "<div>1c5s34thello world</div/>" }, "Empty LI (T49673)": { "wt2wt": "*a\n*\n*\n*b", "html2wt": "* a\n*\n*\n* b", "selser [1]": "*a\n* \n*\n*b", "selser [[0,4,2,0,0,4,3]]": "*a\n* 1e4qfs2\n* 4mb816\n* \n*\n* 8x7hb9", "selser [[2,0,0,3,0,2,[2]]]": "* 65v4jt\n*a\n* \n*\n* faupxr\n*ky9hbbb", "selser [[0,2,0,0,1,2,[2]]]": "*a\n* 1k486vt\n* \n*\n* 1xmr7e0\n*16s6j1gb", "selser [2]": "1ei47dn\n*a\n* \n*\n*b", "selser [[3,0,0,4,0,0,0]]": "* \n* 41ayue\n*\n*b", "selser [[0,2,2,2,0,4,0]]": "*a\n* mfrkd9\n* 13dow6x\n* \n* w2eup1\n*\n* petpa8\n*b", "selser [[0,2,0,2,0,2,1]]": "*a\n* ip7ko3\n* \n* 4yowy5\n*\n* 310ii7\n*b", "selser [[0,2,0,0,4,0,0]]": "*a\n* 1xdkv8p\n* \n* b38u28\n*b", "selser [[3,2,0,0,0,4,2]]": "* 1e64d2u\n* \n*\n* 16l2rkw\n* 1azuhc\n*b", "selser [[[3],0,0,0,0,4,2]]": "*\n* \n*\n* 15pcaxr\n* 1sf1nsf\n*b", "selser [[0,4,2,4,0,4,[4]]]": "*a\n* f55lvy\n* x7e1m9\n* \n* s7jsjj\n*\n* 13f4m7h\n*9tz76v" }, "Empty LI and TR nodes should not be stripped from top-level content": { "html2html": "<ul data-parsoid='{\"dsr\":[0,9,0,0]}'><li data-parsoid='{\"dsr\":[0,3,1,0,1,0]}'>a</li>\n<li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[4,5,1,0]}'></li>\n<li data-parsoid='{\"dsr\":[6,9,1,0,1,0]}'>b</li></ul>\n\n<table data-parsoid='{\"dsr\":[11,24,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[14,22,0,0]}'><tr data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[14,21,2,0]}'>\n<td data-parsoid='{\"dsr\":[17,21,1,0]}'>foo</td></tr>\n</tbody></table>", "html2wt": "* a\n*\n* b\n\n{|\n|-\n|foo\n|}" }, "Empty TD followed by TD with tpl-generated attribute": { "wt2wt": "{|\n|-\n|\n| {{1x|style='color:red'}} |foo\n|}", "html2wt": "{|\n|\n|foo\n|}", "selser [1]": "{| data-foobar=\"h5cb1o\"\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [2]": "204y7q\n{|\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[0,[[2,0,0,0],0]]]": "{|\n|-\n|hssbe0\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[0,[1,4]]]": "{|\n|- data-foobar=\"16febr0\"\n|\n|{{1x|style='color:red'}}|foo<!--1fw320c-->\n|}", "selser [[0,2]]": "{|\n<!--17w8mfe-->|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[4,2]]": "{|<!--1r5l00v--><!--n467mo-->\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[4,[2,0]]]": "{|<!--m5h5v1--><!--1kdmhei-->\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[0,1]]": "{|\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}", "selser [[3,[[0,2,0,0],2]]]": "{|\n|-\n|bqbnlp\n|\n|{{1x|style='color:red'}}|foo<!--1rteuuo-->\n|}", "selser [[4,1]]": "{|<!--95fu82-->\n|-\n|\n|{{1x|style='color:red'}}|foo\n|}" }, "Empty TR followed by a template-generated TR": { "html2html": "<table data-parsoid='{\"dsr\":[0,34,2,2]}'>\n<tbody about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[3,32,0,0],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"<tr><td>foo</td></tr>\"}},\"i\":0}},\"\\n\"]}'><tr><td>foo</td></tr>\n</tbody></table>", "html2wt": "{|\n{{1x|<tr><td>foo</td></tr>}}\n|}" }, "Empty TR followed by mixed-ws-comment line should RT correctly": { "html2html": "<table data-parsoid='{\"dsr\":[0,36,2,2]}'>\n <!--c-->\n<tbody data-parsoid='{\"dsr\":[13,34,0,0]}'><tr data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[13,25,2,0]}'>\n<!--c--> </tr><!--d-->\n</tbody></table>", "html2wt": "{|\n <!--c-->\n|-\n<!--c--> <!--d-->\n|}" }, "Empty attribute crash test single-quotes (T4067)": { "wt2wt": "<font color=\"\">foo</font>", "html2wt": "<font color=\"\">foo</font>\n", "selser [1]": "<font color=''>foo</font>", "selser [2]": "8qlka6\n\n<font color=''>foo</font>", "selser [[[4]]]": "<font color=''>xdaycm</font>", "selser [[2]]": "knc6p1<font color=''>foo</font>", "selser [[[3]]]": "<font color=''></font>", "selser [[[2]]]": "<font color=''>1ug2z4vfoo</font>" }, "Empty lines between lines with block tags": { "selser [0,0,3,3,2,1,4,4,0,2,[3],0,4,2,3,2,3,2]": "<div></div>\n5ljqv4<div></div>a\n\n1kwaewo\n\nvc7ikq\n2sa0kd<div>a</div>\n\n\nh89q5o\n\n1pgwihf\n\nd\n\nxtebyq\n\n\n\n\n1ltzq70<div>e</div>", "selser [0,0,0,4,0,4,0,4,2,4,2,0,0,3,3,0,0,4]": "<div></div>\n\n\n\n1jpril6<div></div>xn9qqh\n\n1ombqme\n\nbc7siw\n\n1r6iigc\n\neypr47\n\nb\n\n<div>b</div>\n\nubdax7", "selser [0,2,[4,3],4,0,0,2,0,2,2,2,0,2,0,4,2,0,0]": "<div></div>1kpya9l\n1ouij7q\n\n1miwcy5<div></div>a\n\n1nv81lx\n\nb\n\nnzbek7\n5s3lig<div>a</div>6rrndx\n\nb\n\ntoz1kb<div>b</div>d\n\nln6v0u\n\n1exl926\n\n\n\n<div>e</div>", "selser [4,3,3,2,3,1,3,0,0,4,0,0,4,[3],3,2,0,0]": "uohm1p\n\n14sb56t\n\na\n\nb\n\nvxz60\n\nb\n\n1jdp7c1\n\n\nyqfz66\n\n\n\n<div>e</div>", "selser [2,0,2,0,0,3,2,3,2,[2],2,2,2,[3],4,[2,1],0,[4]]": "123dr<div></div>\n1r6po0y\n\n\n\n<div></div>1lbl4sb\n\n12syxb3\n<div>1mjcbqna</div>n4sswh\n\nb\n\nom75dj\n\n1p44chb<div>b</div>\n\n\n1d59d6r\n\n1nnnid\n\n<div>4zm78z</div>", "selser [1,0,2,3,3,0,2,0,0,0,[4],3,1,[2],4,1,3,[4]]": "<div data-foobar=\"x82a6z\"></div>\n6bfj5l\n\n\n\n\na\n\n1t4os9b\n\nb\n<div>a</div>1pcdx3r<div data-foobar=\"1qvy4yt\">b</div>175v5igd\n\n1usby5n\n\n\n<div>1jg9v4n</div>", "selser [0,4,2,2,0,4,0,[2],0,[4],3,0,0,0,0,2,3,0]": "<div></div>6yb806\n\n17pz4w3\n\n\n\n\n718fyy\n<div></div>hstzbx\n\n1aiaxm8b\n<div>1irr0d</div>\n\n<div>b</div>d\ntao8t9\n\n\n<div>e</div>", "selser [4,0,3,0,4,2,0,2,3,0,[3],0,2,2,0,[4,2],4,0]": "1by5oa7\n\nyzual9\n\n1lozg7z\n\na\n\n10u3a08\n\nb<div>a</div>b\n\n\nprb276<div>b</div>h0kc9k\n\nd\nvitoz9193xqnf\n\ng9m784<div>e</div>", "selser [2,0,[0,1],3,2,0,0,4,2,2,1,3,[4],2,0,1,4,0]": "1avukl<div></div>\n\n\n\n197iitj<div></div>a\n\ngmjhkt\n\n1i1l8aj\n10czl5r<div>a</div>b<div>dhzroh</div>8t09ip\n\nd\n\n\n\n\n\n1ebnfmz<div>e</div>", "selser [0,4,2,2,0,0,0,[3],4,3,0,0,0,2,2,1,4,2]": "<div></div>1ofrbjc\n\n1q06thu\n\n\n\n\n1hgtqn3\n<div></div>a\n\n\nvum19r\n\nb\n\n<div>b</div>1ptcp79\n\nd\n\ndmvgry\n\n\n\n1e22ig8\n\n1jvy72n<div>e</div>" }, "Empty table rows go away": { "wt2html": "<table data-parsoid='{\"dsr\":[0,37,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[3,35,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"dsr\":[3,16,0,0]}'><td data-parsoid='{\"dsr\":[3,9,1,0]}'>Hello</td>\n<td data-parsoid='{\"dsr\":[10,16,1,0]}'>there</td></tr>\n<tr class=\"foo\" data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[17,31,14,0]}'></tr>\n<tr class=\"mw-empty-elt\" data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[32,34,2,0]}'></tr>\n</tbody></table>", "html2wt": "{|\n|Hello\n|there\n|}" }, "Entities inside <pre>": { "html2wt": " <\n" }, "Escaping of interlanguage links (T129218, T156308)": { "html2html": "<p data-parsoid='{\"dsr\":[0,60,0,0]}'>Blah blah blah\n<a rel=\"mw:WikiLink/Interwiki\" href=\"http://es.wikipedia.org/wiki/Spanish\" title=\"es:Spanish\" class=\"extiw\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://es.wikipedia.org/wiki/Spanish\"},\"sa\":{\"href\":\":es:Spanish\"},\"isIW\":true,\"dsr\":[15,30,2,2]}'>es:Spanish</a>\n<a rel=\"mw:WikiLink/Interwiki\" href=\"http://zh.wikipedia.org/wiki/Chinese\" title=\"zh:Chinese\" class=\"extiw\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"http://zh.wikipedia.org/wiki/Chinese\"},\"sa\":{\"href\":\":zh:Chinese\"},\"isIW\":true,\"dsr\":[31,60,14,2]}'> zh<span typeof=\"mw:DisplaySpace\" data-parsoid='{\"dsr\":[48,49,0,0]}'> </span>: Chinese</a></p>", "html2wt": "Blah blah blah\n[[:es:Spanish]]\n[[:zh:Chinese| zh : Chinese]]", "selser [[4,4,0,1]]": "1e95x3n1nj8xix\n[[: zh : Chinese]]", "selser [[4,3,4,1]]": "rg2aoi7eel2y[[: zh : Chinese]]" }, "Expansion of multi-line templates in attribute values (T8255 check 2)": { "html2wt": "<div style=\"background: \n#00FF00\">-</div>" }, "External link containing double-single-quotes with no space separating the url from text in italics": { "wt2wt": "[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]].", "html2html": "<p data-parsoid='{\"dsr\":[0,161,0,0]}'><a rel=\"mw:ExtLink\" href=\"http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm\" class=\"external text\" data-parsoid='{\"dsr\":[0,106,57,1]}'><i data-parsoid='{\"dsr\":[57,83,2,2]}'>La muerte de Casagemas</i> (1901) en el sitio de</a> <a rel=\"mw:WikiLink\" href=\"./Museo_Picasso_(París)\" title=\"Museo Picasso (París)\" class=\"new\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Museo_Picasso_(París)\"},\"sa\":{\"href\":\"Museo Picasso (París)\"},\"dsr\":[107,147,25,2]}'>Museo Picasso</a><span data-parsoid='{\"stx\":\"html\",\"dsr\":[147,161,6,7]}'>.</span></p>", "html2wt": "[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]]<span>.</span>", "selser [[0,1,1]]": "[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]].][[Museo Picasso (París)|Museo Picasso]]<span data-foobar=\"1lmpany\">.</span>", "selser [2]": "1r4naju\n\n[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]].]", "selser [1]": "[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]].]", "selser [[2,0,[2]]]": "1ofv5xv[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]].]1kmhj1g.", "selser [[[[4],4],2,0]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm ''1jcrszm''1f1q429]1oy44hz", "selser [[2,[3],[3]]]": "8vjz4m[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]].]", "selser [[0,0,4]]": "[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]].]1stqxbk", "selser [[[4,0],0,2]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm 19o0ktc (1901) en el sitio de] <nowiki/>c90ms9", "selser [[[3,3],[4],0]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm][[Museo Picasso (París)|1gixqgf]]", "selser [[[[2],0],2,0]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm ''1vrlmbyLa muerte de Casagemas'' (1901) en el sitio de] 137cpyv", "selser [[0,[3],2]]": "[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]].]j78yhf", "selser [[3,[3],2]]": "1760zbb", "selser [[1,3,0]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm ''La muerte de Casagemas'' (1901) en el sitio de] ", "selser [[4,0,3]]": "16kyf0l", "selser [[[1,2],2,4]]": "[http://www.musee-picasso.fr/pages/page_id18528_u1l2.htm ''La muerte de Casagemas''hafj2q (1901) en el sitio de] 17q070l1omkplm" }, "External links: [raw ampersand]": { "html2wt": "Old & use: [http://x&y]" }, "External links: encoded ampersand": { "html2wt": "Old & use: http://x&y" }, "External links: encoded equals (T8102)": { "html2wt": "http://example.com/?foo=bar" }, "External links: multiple legal whitespace is fine, Magnus. Don't break it please. (T7081)": { "wt2wt": "[http://www.example.com test]", "html2wt": "[http://www.example.com test]\n", "selser [2]": "1qcijn9\n\n[http://www.example.com test]", "selser [[2]]": "7sl362[http://www.example.com test]", "selser [1]": "[http://www.example.com test]" }, "External links: raw ampersand": { "html2wt": "Old & use: http://x&y\n" }, "Extra new lines before and after lists are preserved": { "html2wt": "a\n\n\n* b\n\n\nc", "selser [0,0,[3,0],0,[4],3,3]": "a\n\n\n\n* 10x2a1y", "selser [[3],4,[4,0],0,3,3,4]": "\n\n1htrbwe\n\nmbdls4\n\nlhzama", "selser [1,0,[0,3],4,0,0,2]": "a\n\n1sdlaev\n*b\n1k8xl54\n\n\n\nc", "selser [0,0,[4,1],3,4,4,0]": "a\n\n1484fwk\n\n1skjf24\n\n7z2qry\n\n\n\nc", "selser [[3],0,[3,0],0,[4],3,0]": "\n\n\n* x7yop0\n\n\nc", "selser [1,0,1,0,3,0,[4,4,0]]": "a\n\n\n\n\n\n1qciwap1xd4cx7\nc", "selser [3,0,4,0,0,2,2]": "\n13hqha1\n*b\n8hjyf9\n\n1jhwsov\n\n\n\nc", "selser [[3],3,2,3,[4],0,[0,3,2]]": "\n\nvtvy93\n\n\n\n* vpduic\n\n1nly2ch\nc", "selser [0,0,2,0,[1],0,[0,0,2]]": "a\n\n19jl0yl\n\n\n\n*b\n\ny4gtyn\nc", "selser [[3],0,[3,0],0,3,0,[0,0,4]]": "\n\n\n\n\ny9onar", "selser [0,2,0,3,4,0,1]": "a\n\n16q6yvm\n\n\n\n\nu1mp0q\n\n\nc" }, "Extra newlines between heading and content are swallowed (Parsoid does not)": { "html2wt": "= b =\n\n\n\n[[a]]", "selser [[4],4,0,0,[4]]": "=1i3fc42=\nd9ugny\n\n\n\n\n1xo9nnv", "selser [0,4,2,0,4]": "=b=\ny19t80\n\ngwhbjp\n\n\n\n\nbpvndi" }, "Extra newlines followed by heading": { "html2html": "<p data-parsoid='{\"dsr\":[0,1,0,0]}'>a</p>\n<p data-parsoid='{\"dsr\":[2,3,0,0]}'>\n<br data-parsoid='{\"dsr\":[3,3,0,0]}'/></p>\n<h1 id=\"b\" data-parsoid='{\"dsr\":[4,9,1,1,1,1]}'>b</h1>\n<p data-parsoid='{\"dsr\":[10,54,0,0]}'>[/index.php?title=A&action=edit&redlink=1 a]</p>\n<p data-parsoid='{\"dsr\":[55,56,0,0]}'>\n<br data-parsoid='{\"dsr\":[56,56,0,0]}'/></p>\n<h1 id=\"b_2\" data-parsoid='{\"dsr\":[57,62,1,1,1,1]}'>b</h1>\n", "html2wt": "a\n\n\n= b =\n[/index.php?title=A&action=edit&redlink=1 a]\n\n\n= b =\n", "selser [3,0,2,4,3,4,2,4,[3,0],4,2]": "\n1rpdmjs\n\n\n\n\n1m8rnx6\n\n9mvzu6\n\n1a14yhf\n\n[[a]]\n\n1eenxni\n\n\n\njglaet\n\nqawuyd\n\n=b=", "selser [1,4,0,2,4,0,[2],4,2,3,1]": "a\n\n1t6hdnx\n\n\n\n\n1hp7xsj\n\n1s383e6\n\nk9foao[[a]]\n\n13k97kb\n\n10rwuas\n\n\n\n=b=", "selser [0,0,2,2,4,0,0,0,3,4,3]": "a\n\n162aqj0\n\n\n\n\n8opsh0\n\n1dg1v4k\n\n[[a]]\n\n7aatlq", "selser [[3],3,[0,4],2,1,0,0,2,2,2,2]": "\n\n19aalue\n\n7lmeoa\n\n=b=\n[[a]]\n\n13jd4mc\n\n1cjjif4\n\n\n\n\nrht02p\n\ni6thar\n\n=b=", "selser [4,0,2,0,3,0,4,0,2,2,0]": "15t07xh\n\n5mv9u3\n\n\n\n\nwwvxq4\n\nui3jyl\n\n\n\n\nmnk4f9\n\n=b=", "selser [3,2,[0,4],0,0,0,[[3]],2,[3,1],0,[4]]": "432yfg\n\ntaus95\n=b=\n\n1fe4zaf\n\n\n=1oq0otf=", "selser [0,0,[4,0],2,0,2,2,3,1,0,0]": "a\n\na6i42p\n\n1g2k5xv\n\n=b=\n1vtsv4i\ngbp8og\n\n[[a]]\n\n\n\n=b=", "selser [[4],2,2,4,[3],3,1,4,[2,0],3,2]": "1qdwb9h\n\nef0pma\n\nnjcyxe\n\n\n\n\n1euiueh\n\n[[a]]\n\nyp9y4c\n\n12b9d8p\n\n1uww3v3\n\n=b=", "selser [[4],4,2,2,3,4,[[3]],0,3,3,[2]]": "1w6534l\n\n1glz29i\n\nxgcblb\n\n\n\n\n1974kg2\n\n6nxnd9\n\n=1ello1hb=", "selser [4,4,[0,3],3,[2],0,0,3,2,0,1]": "mqc6nz\n\n2twhbl\n\n=hpy3j1b=\n[[a]]\n\n1306oay\n\n\n\n=b=", "selser [2,0,2,0,0,0,[[4]],2,[0,3],0,2]": "5xb0cx\n\na\n\n16w5pym\n\n\n\n=b=\n[[a|4dgjf5]]\n\n14ho0f4\n\newgvov\n\n=b=", "selser [2,3,0,2,2,0,[4],3,[4,2],0,4]": "1iz7fb0\n\na\n\n\n\n\n1ahq5a3\n\n5xzrgl\n\n=b=\nx1sld1\n\nm9s4m61y6feyb\n1qtkc1e" }, "Extra newlines: More paragraphs with indented comment": { "html2wt": "a\n\n\nb\n", "selser [[4],3,[0,0,0,0,3]]": "2tueq6\n\n\n <!--boo-->\n", "selser [2,2,0]": "cb3anx\n\na\n\ntiyqt3\n\n\n <!--boo-->\n\nb" }, "Failing to transform badly formed HTML into correct XHTML": { "html2html": "\n<p data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[1,2,0,0]}'>\n<br data-parsoid='{\"dsr\":[2,2,0,0]}'/></p>\n", "html2wt": "\n\n\n" }, "Fostered content in tables: Lists": { "selser [1,2]": "*a\n*b\najwbwr\n{|\n|-\n*a\n*b\n|}", "selser [[0,4,0],[4,2]]": "*a\n* 1b3dqm3\n*b\n{|<!--1ctabq5--><!--q5qhbe-->\n|-\n*a\n*b\n|}", "selser [2,[4,0]]": "1awbnr7\n{|<!--a5irch-->\n|-\n*a\n*b\n|}", "selser [[3,3,[2]],2]": "*8f87u4b\n1mdpxmc\n{|\n|-\n*a\n*b\n|}", "selser [1,1]": "*a\n*b\n{| data-foobar=\"15nckv4\"\n|-\n*a\n*b\n|}", "selser [[[2],4,[2]],[0,[2]]]": "*u211axa\n* rhxrwz\n*1tegptyb\n{|\n<!--47ercg-->|-\n*a\n*b\n|}", "selser [2,2]": "u94qxj\n\nrq6jfc\n{|\n|-\n*a\n*b\n|}", "selser [2,1]": "yomulg\n{| data-foobar=\"ikb4sw\"\n|-\n*a\n*b\n|}", "selser [[[2],4,0],0]": "*1t57graa\n* 1lty4kl\n*b\n{|\n|-\n*a\n*b\n|}", "selser [2,0]": "1kscycd\n{|\n|-\n*a\n*b\n|}" }, "Fuzz testing: Parser13": { "wt2wt": "{| \n| http: / a |\n|}", "html2wt": "{|\n|\n|}", "selser [2]": "7lvj1j\n{| \n| http://a|", "selser [1]": "{| data-foobar=\"142ul44\" \n| http://a|\n|}", "selser [[2,2]]": "{|<!--c6mkjc--> \n<!--xu44dy-->| http://a|\n|}", "selser [[4,2]]": "{|<!--1a321i4--><!--bi4yli-->\n| http://a|\n|}", "selser [[0,1]]": "{| \n| http://a|\n|}", "selser [[0,2]]": "{| \n<!--1gsyrc8-->| http://a|\n|}", "selser [[0,[1]]]": "{| \n| http://a|\n|}", "selser [[4,[1]]]": "{|<!--ll5x1s-->\n| http://a|\n|}", "selser [[4,0]]": "{|<!--zr6ccr-->\n| http://a|\n|}", "selser [[2,0]]": "{|<!--f1fd4x--> \n| http://a|\n|}" }, "Fuzz testing: Parser14": { "html2wt": "== onmouseover= ==\nhttp://__TOC__" }, "Fuzz testing: Parser16": { "wt2wt": "{|\n!https://|| || ||\n|}", "html2wt": "{|\n!https://\n!\n!\n!\n|}", "selser [2]": "k5vjya\n{|\n!https://||||||", "selser [[0,[[0,2,0,0]]]]": "{|\n!https://\n!1t89i6n|| ||||\n|}", "selser [[3,2]]": "{|<!--bn7pt9-->\n!https://||||||\n|}", "selser [[0,1]]": "{|\n!https://||||||\n|}", "selser [[3,[2]]]": "{|<!--1dlafod-->\n!https://||||||\n|}", "selser [[0,[[1,0,0,4]]]]": "{|\n! data-foobar=\"1ok43yp\" |https://||||\n!1fq9xmt\n|}", "selser [1]": "{| data-foobar=\"kstqm9\"\n!https://||||||\n|}" }, "Fuzz testing: Parser21": { "wt2wt": "{|\n!irc://{{ftp://a\" onmouseover=\"alert('hello world');\"\n|\n|}", "html2wt": "{|\n!irc://{{ftp://a\" onmouseover=\"alert('hello world');\"\n|\n|}", "selser [2]": "1myp0d5\n{|\n!irc://{{ftp://a\" onmouseover=\"alert('hello world');\"\n|" }, "Fuzz testing: Parser22": { "wt2wt": "http://===r:::https://b\n\n{|\n|}", "html2wt": "http://===r:::https://b\n\n{|\n|}", "selser [[4],0,0]": "8xe2up\n\n{|", "selser [1,2,2]": "http://===r:::https://b\n\n1yix1da\n\nq9ygvp\n{|", "selser [1,3,0]": "http://===r:::https://b\n{|", "selser [[1],0,0]": "http://===r:::https://b\n\n{|", "selser [[[3]],0,0]": "[http://===r:::https://b]\n\n{|", "selser [[2],0,2]": "1dzr7tk<nowiki/>http://===r:::https://b\n\nu2b7xx\n{|", "selser [2,0,0]": "19oh6e\n\nhttp://===r:::https://b\n\n{|", "selser [3,2,2]": "hjkko9\n\nev6d0n\n{|", "selser [[4],0,2]": "34avcu\n\n188pvr7\n{|", "selser [[2],0,0]": "1ek53qi<nowiki/>http://===r:::https://b\n\n{|", "selser [[1],4,2]": "http://===r:::https://b\n\nxk2i4b\n\nhs5n9j\n{|", "selser [3,0,0]": "\n{|", "selser [1,0,2]": "http://===r:::https://b\n\ntkvjp1\n{|" }, "HHP2.1: Heuristics for headings in preprocessor parenthetical structures": { "wt2wt": "<nowiki>{{foo|</nowiki>\n=heading=\n", "html2wt": "<nowiki>{{foo|</nowiki>\n\n= heading =\n", "selser [0,2,4]": "{{foo|\n\nyqaqb9\n\n1ryqcax", "selser [0,4,2]": "{{foo|\n\n1a212y6\n\n1de13a0\n\n=heading=", "selser [0,4,[4]]": "{{foo|\n\n1qthvsg\n\n=mdqo1r=" }, "HHP2.2: Heuristics for headings in preprocessor parenthetical structures": { "wt2wt": "<nowiki>{{foo|</nowiki>\n==heading==\n", "html2wt": "<nowiki>{{foo|</nowiki>\n\n== heading ==\n", "selser [0,4,3]": "{{foo|\n\nn8rcbi", "selser [0,4,2]": "{{foo|\n\nfm10z3\n\n168s7yg\n\n==heading==", "selser [2,4,2]": "1ey5z59\n\n{{foo|\n\n2cij1f\n\nsbot99\n\n==heading==", "selser [0,3,[4]]": "{{foo|\n==10wxo3x==", "selser [0,0,3]": "{{foo|\n", "selser [0,0,[4]]": "{{foo|\n==54w4zy==" }, "HRs: 1. Single line": { "html2wt": "--------\n----=foo=\n----*foo" }, "HTML bullet list, closed tags (T7497)": { "selser [[4,[3],3,0,3]]": "<ul><li>1a9n41r</li><li></li>\n<li>Two</li></ul>", "selser [[4,[2],3,0,0]]": "<ul><li>eoh8fa</li><li>t6txntOne</li>\n<li>Two</li>\n</ul>" }, "HTML multiple attributes correction": { "wt2wt": "<p class=\"awesome\">Awesome!</p>", "html2wt": "Awesome!", "selser [2]": "17jezgw<p class=\"error\" class=\"awesome\">Awesome!</p>", "selser [[3]]": "<p class=\"error\" class=\"awesome\"></p>", "selser [[4]]": "<p class=\"error\" class=\"awesome\">1h5lng</p>", "selser [[2]]": "<p class=\"error\" class=\"awesome\">deh48tAwesome!</p>" }, "HTML nested bullet list, open tags (T7497)": { "html2wt": "* One\n* Two:\n** Sub-one\n** Sub-two\n" }, "HTML nested ordered list, closed tags (T7497)": { "html2wt": "# One\n# Two:\n## Sub-one\n## Sub-two\n" }, "HTML nested ordered list, open tags (T7497)": { "html2wt": "# One\n# Two:\n## Sub-one\n## Sub-two\n", "selser [[2,3,4,[2,1],3]]": "<ol><li>1i8pngl</li>\n<li>dbj7yi</li><li>1w4djewTwo:\n<ol data-foobar=\"up9fas\">\n<li>Sub-one\n<li>Sub-two\n</ol>\n</ol>" }, "HTML ordered list item with parameters oddity": { "html2html": "<ol data-parsoid='{\"dsr\":[0,5,0,0]}'><li data-parsoid='{\"dsr\":[0,5,1,0,1,0]}'>One</li></ol>\n", "html2wt": "# One\n" }, "HTML pre followed by indent-pre": { "html2wt": " foo\n\n bar\n" }, "HTML tag with 'unnecessary' entity encoding in attributes": { "html2wt": "<span title=\"&\">foo</span>\n" }, "HTML-pre: 2: indented text": { "html2wt": " foo\n" }, "HTML5 ids: fallback to legacy": { "html2wt": "== Foo bar ==\n\n== foo Bar ==\n\n== Тест ==\n\n== Тест ==\n\n== тест ==\n\n== Hey < # \" > % : ' ==\n[[#Foo bar]] [[#foo Bar]] [[#Тест]] [[#тест]] [[#Hey < # \" > % : ']]\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\n<!-- These two links should produce identical HTML -->\n[[#啤酒]] [[#%E5%95%A4%E9%85%92]]", "selser [3,3,[3],0,[0,3],0,0,0,0,0,[3,0,0,4,0,0],3,1,0,0,0,2,0,[0,2,0],3]": "\n==Тест==\n\n==тест==\n\n==Hey < # \" > uil09e : '==\n[[#Foo bar]] [[#foo Bar]] [[#Тест]] [[#тест]] [[#Hey < # \" > % : ']]\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\nu46tm4<!-- These two links should produce identical HTML -->\n\n[[#啤酒]]<nowiki/>norrr7 [[#啤酒]]\n", "selser [3,0,4,0,4,0,2,0,1,0,[4,0,0,0,0,4],0,[1,0,0,0,4,3,[4],2,4],3,[0,0,2],4,4,4,1,4]": "\n6ze4fn\n\n1avxyec\n\n1ugscuw\n\n==Тест==\n\n==тест==\n\n==ltvbujHey < # \" > % kgadth==\n[[#Foo bar]] [[#foo Bar]] 12tkxz4[[#тест|b8lrok]]1sumsj6 19b22wg\n\n{{anchorencode:💩}} 8d035y<span id=\"{{anchorencode:💩}}\"></span>\n\n19zalhk\n\n1krv6y1\n\n1ci48d0\n\n[[#啤酒]] [[#啤酒]]\n\n10zmeyy", "selser [[4],4,1,0,4,0,2,0,0,4,1,3,[2,0,2,2,[3],0,[4],3,1],0,2,0,2,4,1,2]": "==1f3lkrb==\n11qe63s\n\n==foo Bar==\n\no18c3z\n\n1tsat6f\n\n==Тест==\n\n==тест==\nbu4nlz\n\n==Hey < # \" > % : '==\nolz8dh[[#Foo bar]] 16wig31[[#foo Bar]]<nowiki/>szv1s8 [[#тест|aaxfmm]][[#Hey < # \" > % : ']]\n\ney7857\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\nfia5ft<!-- These two links should produce identical HTML -->\n\nxi6m6u\n\n[[#啤酒]] [[#啤酒]]\n\nqul42e\n", "selser [0,2,3,2,1,0,[3,0],4,4,2,[0,4,0,2,0,3],0,[0,0,4,3,1,0,2,3,1],3,1,4,0,2,1,3]": "==Foo bar==\n1dpzxys\n\n7py4pu\n\n==Тест==\n\n==Тест==\nms2xu2\n\n1u6nw1d\n\nlh4rn3\n\n==twumu8 6ssrq0% ==\n[[#Foo bar]] t2u696[[#Тест]] a8f0yu[[#тест]][[#Hey < # \" > % : ']]\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\n31pwt4<!-- These two links should produce identical HTML -->\n\nz0rdg6\n\n[[#啤酒]] [[#啤酒]]\n" }, "Handling html with a br self-closing tag": { "wt2wt": "<br title=\"\" />\n<br title=\"\" />\n<br title=\"\">\n<br title=\"bar\" />\n<br title=\"bar\" />\n<br title=\"bar/\">", "html2html": "\n<p data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[1,2,0,0]}'>\n<br data-parsoid='{\"dsr\":[2,2,0,0]}'/></p>\n", "html2wt": "\n\n\n", "selser [[0,2,2,0,0,3,0,4,0,0,0]]": "<br title />yk0l4q\nnag8u8<br title/>\n<br title/ ><br title=bar />18a7fo<br title=bar/>\n<br title=bar/ >", "selser [2]": "1bhw13d\n\n<br title />\n<br title/>\n<br title/ >\n<br title=bar />\n<br title=bar/>\n<br title=bar/ >", "selser [1]": "<br title />\n<br title/>\n<br title/ >\n<br title=bar />\n<br title=bar/>\n<br title=bar/ >", "selser [[0,2,2,3,0,2,1,0,4,2,2]]": "<br title />6kjv2v\n1ddl3ij<br title/><br title/ >10enb3k\n<br title=\"bar\" data-foobar=\"1afcm8\" />\nqjfnqp3yide2\nplu61x<br title=bar/ >", "selser [[0,4,4,4,3,0,4,2,0,2,0]]": "<br title />1pqtyn6gbvfw7do43wi\n1f1qqzg7qp69\n<br title=bar/>8pv0cs\n<br title=bar/ >", "selser [[0,0,2,4,0,2,3,2,0,4,0]]": "<br title />\nw4dpzv<br title/>1sqbuv6<br title/ >1v9rszq\nqxpzb\n<br title=bar/>ly1422<br title=bar/ >", "selser [[2,0,0,3,0,0,0,4,0,0,0]]": "14z8tu9<br title />\n<br title/><br title/ >\n<br title=bar />1jr6i1s<br title=bar/>\n<br title=bar/ >", "selser [[3,0,0,2,4,4,0,0,0,3,2]]": "\n<br title/>rlmvl6\nmrqsaepknvzd<br title=bar />\n<br title=bar/>5fmysy<br title=bar/ >", "selser [[0,4,1,4,1,0,0,0,0,3,0]]": "<br title />groqlz<br title=\"\" data-foobar=\"1bcyhwz\" />13ok70i<br title=\"\" data-foobar=\"vr3c2f\">\n<br title=bar />\n<br title=bar/><br title=bar/ >", "selser [[2,2,0,2,0,0,0,0,0,0,1]]": "mu3lme<br title />1252nyk\n<br title/>oia9w4\n<br title/ >\n<br title=bar />\n<br title=bar/>\n<br title=\"bar/\" data-foobar=\"qfwlzu\">", "selser [[0,0,0,4,2,4,1,0,3,0,0]]": "<br title />\n<br title/>1544u7r1bqhxo<br title/ >1yxsbno<br title=\"bar\" data-foobar=\"axh3jm\" />\n\n<br title=bar/ >", "selser [[1,0,4,0,0,4,0,2,0,0,0]]": "<br title=\"\" data-foobar=\"16bphiz\" />\n1gy59en\n<br title/ >16jn5s5<br title=bar />1wgpy1l\n<br title=bar/>\n<br title=bar/ >", "selser [[0,0,0,2,1,0,0,2,4,0,0]]": "<br title />\n<br title/>4oshv1\n<br title=\"\" data-foobar=\"i2q3ei\">\n<br title=bar />q1569r\njdxtvf\n<br title=bar/ >", "selser [[0,0,0,4,0,0,2,0,3,0,4]]": "<br title />\n<br title/>9gus2q<br title/ >\n1oyrjb6<br title=bar />\n\nor7p00", "selser [[0,3,0,2,0,4,0,2,0,3,3]]": "<br title /><br title/>h2az2u\n<br title/ >180h0zi<br title=bar />10wbncx\n<br title=bar/>", "selser [[1,3,0,0,4,0,2,0,0,3,0]]": "<br title=\"\" data-foobar=\"aqcwn0\" /><br title/>\n1o8hxpp\n2dslnu<br title=bar />\n<br title=bar/><br title=bar/ >", "selser [[4,0,0,0,3,2,0,3,0,3,0]]": "ltebnx\n<br title/>\n4nzjam\n<br title=bar /><br title=bar/><br title=bar/ >", "selser [[3,0,3,0,2,0,3,3,0,2,0]]": "\n431wfo<br title/ >\n<br title=bar/>1qb15x8\n<br title=bar/ >" }, "Handling html with a div self-closing tag": { "wt2html": "<div title=\"\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[0,13,13,0]}'></div>\n<div title=\"\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[14,26,12,0]}'></div>\n<div title=\"\" data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[27,93,13,0]}'>\n<div title=\"bar\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[41,58,17,0]}'></div>\n<div title=\"bar\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[59,75,16,0]}'></div>\n<div title=\"bar/\" data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[76,93,17,0]}'></div></div>", "wt2wt": "<div title=\"\" />\n<div title=\"\" />\n<div title=\"\">\n<div title=\"bar\" />\n<div title=\"bar\" />\n<div title=\"bar/\">", "html2wt": "<div title=\"\">\n<div title=\"\">\n<div title=\"\">\n<div title=\"bar\">\n<div title=\"bar\">\n<div title=\"bar/\"></div></div></div></div></div></div>", "selser [0,0,4,0,1]": "<div title />\n9nb93f\n<div title=\"\" data-foobar=\"usk7dv\">\n<div title=\"bar\" />\n<div title=\"bar\" />\n<div title=\"bar/\">", "selser [0,2,3,0,1]": "<div title />1nmkreh\n\n<div title=\"\" data-foobar=\"yojiah\">\n<div title=\"bar\" />\n<div title=\"bar\" />\n<div title=\"bar/\">", "selser [0,2,0,2,[0,1,2,4,3,1]]": "<div title />1udkoch\n<div title/>gud5w8\n<div title=\"\">\n<div title=\"bar\" data-foobar=\"1s0ve99\" />1p544xk\nohnnt9<div title=\"bar/\" data-foobar=\"44kyov\">", "selser [4,0,0,0,[2,2,0,0,0,2]]": "ur1nlu\n<div title/>\n<div title/ >1xht7bz\n121vj7s<div title=bar />\n<div title=bar/>\nppklk1<div title=bar/ >", "selser [0,0,1,0,3]": "<div title />\n<div title=\"\" data-foobar=\"1t98n8c\" />\n", "selser [0,0,1,4,2]": "<div title />\n<div title=\"\" data-foobar=\"85erzc\" />1dvka01\n\n7oby7y<div title/ >\n<div title=bar />\n<div title=bar/>\n<div title=bar/ >", "selser [3,3,0,3,[0,0,4,0,0,4]]": "<div title/><div title/ >\n<div title=bar />194mu5t<div title=bar/>\n1fisrta\n", "selser [0,4,0,2,2]": "<div title />c3t99l<div title/>1fvy3dz\n1x4e84e<div title/ >\n<div title=bar />\n<div title=bar/>\n<div title=bar/ >", "selser [0,2,4,0,3]": "<div title />2i7ut3\n1sfaz9e\n", "selser [0,0,4,3,3]": "<div title />\n50n0e1", "selser [0,0,0,2,4]": "<div title />\n<div title/>1y4ezss\n1n0zzbf", "selser [0,3,1,0,4]": "<div title /><div title=\"\" data-foobar=\"1jg0isr\" />\nohye8s", "selser [0,3,0,4,1]": "<div title /><div title/>140npl1<div title=\"\" data-foobar=\"1x8zh9h\">\n<div title=\"bar\" />\n<div title=\"bar\" />\n<div title=\"bar/\">", "selser [2,4,0,0,[0,1,4,0,2,0]]": "1igs6jr<div title />1uh5dv3<div title/>\n<div title/ >\n<div title=\"bar\" data-foobar=\"1mczt4n\" />1bxeyc6<div title=bar/>lbstrg\n<div title=bar/ >", "selser [0,3,3,3,3]": "<div title />", "selser [2,3,4,2,[2,0,0,0,0,3]]": "16rdl5f<div title />c68aku\n\nail6mh\n<div title=\"\">72274k\n<div title=\"bar\" />\n<div title=\"bar\" />\n", "selser [0,4,3,0,[3,0,0,0,0,0]]": "<div title />13sh9ml\n<div title=\"\"><div title=\"bar\" />\n<div title=\"bar\" />\n<div title=\"bar/\">", "selser [1,0,0,0,4]": "<div title=\"\" data-foobar=\"1waijm\" />\n<div title/>\n6aojz3", "selser [0,0,4,0,0]": "<div title />\n1ex0bbl\n<div title/ >\n<div title=bar />\n<div title=bar/>\n<div title=bar/ >", "selser [0,0,3,0,2]": "<div title />\n\n63m27w<div title/ >\n<div title=bar />\n<div title=bar/>\n<div title=bar/ >" }, "Handling of %0A in URLs": { "html2wt": "* irc://%0Aa" }, "Handling of 
 in URLs": { "html2wt": "* irc://
a" }, "Header with space, plus and underscore as entity": { "html2wt": "Id should not contain + for spaces\n\n== Space between Text ==\nsection 1\n\n== Space-Entity between Text ==\nsection 2\n\n== Plus+between+Text ==\nsection 3\n\n== Plus-Entity+between+Text ==\nsection 4\n\n== Underscore_between_Text ==\nsection 5\n\n== Underscore-Entity_between_Text ==\nsection 6\n\n[[#Space between Text]]\n[[#Space-Entity between Text]]\n[[#Plus+between+Text]]\n[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text]]", "selser [0,2,2,0,0,0,0,0,[4],0,4,4,1,0,[2,2,0,0,0,3],0,2,2,4,4,1,0,3,0,3,4,[2,0,3,0,[3],0,2,0,[2],2,3]]": "Id should not contain + for spaces\n\n1e8fhcc\n\ngwns8k\n\n==Space between Text==\nsection 1\n\n==Space-Entity between Text==\n1oseclj\n\n1lsmtzn\n\n16gxbeb\n\nsection 3\n\n==uezobz1ej2nsrPlus-Entity+between+==\ntkbaqj\n\nsection 4\n\n1h7bbhn\n\nc3j5nl\n\n1jot8ev\n\nsection 5\n\n1lry7du\n\nezkk98[[#Space between Text]]\n\n142itti[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text|1o8d6mv#Underscore_between_Text]]11rp7fu\n", "selser [[2],4,3,4,0,0,[0,0,2,0,4],0,4,3,[1,0],0,3,3,3,0,0,3,4,0,1,0,[0,0,4,0,3],0,3,0,[[3],0,3,2,[2],0,2,2,3,2,1]]": "xvd2vfId should not contain + for spaces\n\ndstvp9\n\nbovqku\n\nsection 1\n\n==Space-Entity x50r04between 152ivas==\n9wzb95\n\n==Plus+between+Text==\n\nsection 4\n\n1yz8bx6\n\nsection 5\n\n==Underscore-Entity_13owwo7_==\n\nfyum48\n[[#Plus+between+Text|y4mykj#Plus+between+Text]]\n10d9f9y[[#Plus-Entity+between+Text]]1nfkzn3\n1cpnrfq\n[[#Underscore-Entity_between_Text]]", "selser [1,0,3,2,2,2,2,4,3,2,[0,2],4,3,0,2,3,4,0,2,0,0,4,[3,0,0,0,0],0,4,0,[[3],0,0,0,4,4,3,0,1,0,[4]]]": "Id should not contain + for spaces\n\ne478jx\n\n2764wc\n\nsection 1\n\npy107h\n\n1fn3z1h\n\n==Space-Entity between Text==\n1x8xdeo\n\n1vb78ht\n\n==1h83c7sPlus+between+Text==\nafdonq\n\nu9oqag\n\n==Plus-Entity+between+Text==\n156fpkv\n\nnw0nlu\n\n==Underscore_between_Text==\nsection 5\n\nei48lt\n\n==_between_Text==\n76x2bv\n\n[[#Space-Entity between Text]]\nk8d2jdbjumab\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text|vyetii]]", "selser [[3],4,2,0,3,0,2,3,1,0,[0,4],3,2,0,0,0,2,2,0,0,0,0,[0,0,0,0,2],0,1,4,[0,0,2,4,4,2,0,0,0,0,0]]": "\n\n11z3i5v\n\nyfbzdw\n\n==Space between Text==\n\n144gngw\n\n==Space-Entity between Text==\nsection 2\n\n==1tq33tr==\n1bcu1ef\n\nsection 3\n\n==Plus-Entity+between+Text==\nmw77mg\n\nsection 4\n\npfium3\n\n==Underscore_between_Text==\nsection 5\n\n==Underscore-Entity_between_1k6w2feText==\nsection 6\n\n1yafgdj\n\n[[#Space between Text]]\n2vjusr[[#Space-Entity between Text]]<nowiki/>sl2p2p1p21bea1vzyilt\n[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text]]", "selser [0,2,3,3,4,0,4,3,2,4,[0,2],0,1,3,[2,0,0,2,0,2],3,3,0,2,0,0,4,[0,0,4,0,0],0,[2],4,1]": "Id should not contain + for spaces\n\nshz78l\n\nqc8gcw\n\ndalg06\n\n6sp07p\n\nsection 2\n\n1hsul7m\n\n==whds2cPlus+between+Text==\nsection 3\n==84znc6Plus-Entity+1swp9d3between+17yhhtjText==\n\n1uujs7w\n\n==Underscore_between_Text==\nsection 5\n\n1a8q7k9\n\n==Underscore-Entity_13856rq_Text==\n4352aksection 6\n\n2blsya\n\n[[#Space between Text]]\n[[#Space-Entity between Text]]\n[[#Plus+between+Text]]\n[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text]]", "selser [2,2,[2],3,[3],0,4,3,[2],0,4,3,[2],4,[0,3,0,0,0,0],0,0,2,4,0,0,3,2,0,3,0,[[2],0,1,0,[3],0,[4],0,0,3,2]]": "q0w53o\n\nId should not contain + for spaces\n\n1mfh02r\n\n==emyw37Space between Text==\n\n\nnyicr1\n\ngaqamqsection 2\n\nzlpvck\n\np9lznzsection 3\n\nngqc5c\n\n==+between+Text==\nsection 4\n\ncj8t9f\n\n11ivr7z\n\nsection 5\n\nljtjdt\n\n==Underscore-Entity_between_Text==\n\n[[#Space between Text|k1rcd5#Space between Text]]\n[[#Space-Entity between Text]]\n\n[[#Plus-Entity+between+Text|c1g6ei]]\n[[#Underscore_between_Text]]1wriyis[[#Underscore-Entity_between_Text]]", "selser [0,0,[4],4,0,0,[3,0,2,0,2],3,[3],4,[2,3],0,[3],0,3,3,0,3,0,0,0,4,4,0,4,0,1]": "Id should not contain + for spaces\n\n==mdrcuo==\ncfswi1\n\nsection 1\n\n== a72f8hbetween 1c00bhuText==\n\n\n1qce24d\n\n==1dsd0h3==\n\nsection 4\n==Underscore_between_Text==\nsection 5\n\n1janytz\n\n1yhwxbg\n\nfmx8ma\n\n[[#Space between Text]]\n[[#Space-Entity between Text]]\n[[#Plus+between+Text]]\n[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text]]", "selser [0,2,0,0,1,0,1,2,1,0,1,2,4,3,[0,0,0,0,0,4],3,1,4,1,0,[2],0,4,0,[3],0,[0,0,0,4,4,0,4,0,4,0,4]]": "Id should not contain + for spaces\n\nkx57n9\n\n==Space between Text==\nsection 1\n\n==Space-Entity between Text==\n979kz7\nsection 2\n\n==Plus+between+Text==\nypwcu0\nthua0f\n\n==Plus-Entity+between+1hijt8c==\nsection 4\n\n8v9zer\n\n==Underscore_between_Text==\n124tcagsection 5\n\n1wu8co6\n\n\n[[#Space between Text]]\n[[#Space-Entity between Text]]1wacc9dfeyxcb\n5rwu8i\nn6hxec\nu8h1a5", "selser [[4],0,1,4,3,0,3,2,0,2,[0,2],3,[2],0,[4,2,0,4,0,4],4,0,3,1,0,2,0,[2,0,0,0,3],0,4,4,[[3],0,2,0,[2],3,0,0,[4],0,3]]": "714e1v\n\n==Space between Text==\n1mjmiuk\n\n1toxtb9\n\nsection 2\n\n1wj9gt9\n\n==13tmkn2Plus+between+Text==\naetgjbsection 3\n\n==1hrq016132x4kyPlus-Entity+1jkkmmf+1rfh0gz==\nd5qxvi\n\nsection 4\n==Underscore_between_Text==\n1sj3rwb\n\nsection 5\n\n==zddmibUnderscore-Entity_between_==\n8qfcsl\n\n1qlsba4\n\nddzuyg[[#Space-Entity between Text]]\n[[#Plus+between+Text|cnjipv#Plus+between+Text]][[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text|166q757]]\n", "selser [2,0,4,2,0,2,4,2,[2],0,2,4,[4],0,1,0,4,0,[2],0,3,4,[3,0,4,0,4],0,3,4,1]": "1fc36dr\n\nId should not contain + for spaces\n\nhz6abi\n\nbj68x9\n\nsection 1\n\n4p7tv\n\n1m5n1ox\n\n8bz4n7\n\n1oigcussection 2\n\n1qzdk17\n\n==Plus+between+Text==\n1ts4m9l\n\nhwmdae\n\n==Plus-Entity+between+Text==\n1alkpma\n\n==n9cqllUnderscore_between_Text==\n9tl5lj\n\n==_1dlvyzg_12i5hob==\n1ht5m0i\n\n[[#Space between Text]]\n[[#Space-Entity between Text]]\n[[#Plus+between+Text]]\n[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity_between_Text]]" }, "Header with special characters (T27462)": { "html2wt": "The tooltips shall not show entities to the user (ie. be double escaped)\n\n== text > text ==\nsection 1\n\n== text < text ==\nsection 2\n\n== text & text ==\nsection 3\n\n== text ' text ==\nsection 4\n\n== text \" text ==\nsection 5", "selser [3,2,3,0,4,0,3,3,1,4,1,0,4,4,[0,3],0,[4],3,[3,0],0,0]": "17gdt2k\n\n1jltxmn\n\nsection 2\n\nn2b5xt\n\n==text & text==\n1p9a9an\n\n1yupftd\n\n1jbpp2d\n\n==text \" text==\nsection 5", "selser [[2],3,2,2,[4],2,4,4,3,0,4,0,[4],3,[1,0],2,[3],0,2,0,[3]]": "j43btgThe tooltips shall not show entities to the user (ie. be double escaped)\n\n5rn6g9\n\n==text > text==\no18ilq\nnj8372\n\ni9mcmd\n\n1gs3sns\n\n14wknp6\n\nzrrrb2\n\nw7iboh\n\n==text ' text==\n1qpdiyh\n\n\nypbypv\n\n==text \" text==\n" }, "Horizontal ruler (should it add that extra space?)": { "wt2wt": "<hr>\n<hr>\nfoo <hr> bar", "html2wt": "<hr>\n<hr>\nfoo <hr> bar", "selser [2,2,4,2,3,[3]]": "2jn92h<hr>743cw1\ns9njeh\n\nzgot2i\n\n\nfoo \n\n", "selser [2,2,0,1,0,2]": "k89ks8<hr>5bkxh5\n<hr >\nfoo <hr\n>5qjne9\n\n bar", "selser [3,0,4,1,0,1]": "\neih5oh\n\nfoo <hr\n> bar", "selser [0,4,3,4,2,[3]]": "<hr>bsnj98\n\n1p6wqlp\n\n7rzgy0<hr\n>", "selser [2,0,0,1,4,2]": "1iulimo<hr>\n<hr >\nfoo \n\neo5myy\n\n1m11uh9\n\n bar", "selser [1,4,3,0,0,4]": "<hr data-foobar=\"8cspvg\">1hmmmf0\n\n\nfoo <hr\n>133sql4", "selser [1,0,0,[3],0,4]": "<hr data-foobar=\"opp9wd\">\n<hr ><hr\n>zwqkkb", "selser [2,3,0,0,4,3]": "i7wx9z<hr><hr >\nfoo \n\n16sq1tv", "selser [0,4,1,4,0,[4]]": "<hr>b1nzrd<hr data-foobar=\"165zhtw\">1k4chw0<hr\n>1q6lu5a", "selser [3,3,1,0,0,0]": "<hr data-foobar=\"2xzvqu\">\nfoo <hr\n> bar", "selser [4,0,0,3,2,3]": "1nk6z4b\n<hr >1wwxskq<hr\n>", "selser [1,3,0,2,0,[4]]": "<hr data-foobar=\"27wjn6\"><hr >1iad5xw\n\n\nfoo <hr\n>1ji7317", "selser [0,0,0,0,4,[2]]": "<hr>\n<hr >\nfoo \n\n19jorw0\n\n575z1a bar", "selser [3,4,4,1,3,0]": "nl6dc9\n\n131am6h\n\nfoo \n\n bar", "selser [0,0,0,4,0,[3]]": "<hr>\n<hr >1i8gtez<hr\n>", "selser [0,0,0,2,4,1]": "<hr>\n<hr >1yblofv\n\n\nfoo \n\n1q3eco8\n\nbar" }, "Horizontal ruler -- Supports content following dashes on same line": { "selser [0,2]": "----uv4ix9\n\n Foo", "selser [3,0]": " Foo", "selser [1,2]": "----1o60zkj\n\n Foo" }, "Horizontal ruler -- eats additional dashes on the same line": { "html2wt": "----" }, "IPv6 urls, autolink format (T23261)": { "html2wt": "http://[2404:130:0:1000::187:2]/index.php\n\nExamples from RFC 2373, section 2.2:\n\n* http://[1080::8:800:200C:417A]/unicast\n* http://[FF01::101]/multicast\n* http://[::1]/loopback\n* http://[::]/unspecified\n* http://[::13.1.68.3]/ipv4compat\n* http://[::FFFF:129.144.52.38]/ipv4compat\n\nExamples from RFC 2732, section 2:\n\n* http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html\n* http://[1080:0:0:0:8:800:200C:417A]/index.html\n* http://[3ffe:2a00:100:7031::1]\n* http://[1080::8:800:200C:417A]/foo\n* http://[::192.9.5.5]/ipng\n* http://[::FFFF:129.144.52.38]:80/index.html\n* http://[2010:836B:4179::836B:4179]" }, "IPv6 urls, bracketed format (T23261)": { "html2wt": "[http://[2404:130:0:1000::187:2]/index.php test]\n\nExamples from RFC 2373, section 2.2:\n\n* [http://[1080::8:800:200C:417A] unicast]\n* [http://[FF01::101] multicast]\n* [http://[::1]/ loopback]\n* [http://[::] unspecified]\n* [http://[::13.1.68.3] ipv4compat]\n* [http://[::FFFF:129.144.52.38] ipv4compat]\n\nExamples from RFC 2732, section 2:\n\n* [http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html 1]\n* [http://[1080:0:0:0:8:800:200C:417A]/index.html 2]\n* [http://[3ffe:2a00:100:7031::1] 3]\n* [http://[1080::8:800:200C:417A]/foo 4]\n* [http://[::192.9.5.5]/ipng 5]\n* [http://[::FFFF:129.144.52.38]:80/index.html 6]\n* [http://[2010:836B:4179::836B:4179] 7]" }, "ISBN code coverage": { "html2wt": "ISBN 978-0-1234-56 789" }, "ISBN length": { "selser [0,2,[[3]],3,1]": "ISBN 123456789\n\nidpr0y\n\nISBN 12345678901" }, "Ignore pipe between table row attributes": { "wt2wt": "{|\n|quux\n|- id=\"foo\" style=\"color: red\" |\n|bar\n|}", "html2wt": "{|\n|quux\n|- id=\"foo\" style=\"color: red\"\n|bar\n|}", "selser [1]": "{| data-foobar=\"12tg6dr\"\n|quux\n|- id=foo | style='color: red'\n|bar\n|}", "selser [[0,1]]": "{|\n|quux\n|- id=foo | style='color: red'\n|bar\n|}", "selser [2]": "qqf7sy\n{|\n|quux\n|- id=foo | style='color: red'\n|bar\n|}", "selser [[2,2]]": "{|<!--3zapkf-->\n<!--12le581-->|quux\n|- id=foo | style='color: red'\n|bar\n|}", "selser [[4,2]]": "{|<!--1whfqxl--><!--zxj2in-->\n|quux\n|- id=foo | style='color: red'\n|bar\n|}", "selser [[3,2]]": "{|<!--19fpekv-->\n|quux\n|- id=foo | style='color: red'\n|bar\n|}" }, "Inclusion of !userCanEdit() content": { "html2wt": "== header ==\n" }, "Incorrecly removing closing slashes from correctly formed XHTML": { "html2html": "\n\n", "html2wt": "\n\n" }, "Indent and comment before table row": { "html2wt": "{|\n <!--hi-->|-\n | there\n|}" }, "Indented table with an empty td": { "html2wt": "{|\n|\n|foo\n|}", "selser [0,[4,[[0,2,3]]]]": " {|<!--esh6d6-->\n|-\n |fgdn4j\n|\n \n|}" }, "Indented table with blank lines in between (T85627)": { "selser [2,[0,[[[0,4,3]]]]]": "53zi99 \n{|\n |foo\nww3fks \n|}", "selser [0,[0,[[[0,0,2]]]]]": " {|\n |foo\n \n \n1w3cp3e\n |}" }, "Inline HTML vs wiki block nesting": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><b data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,17,3,0]}'>Bold paragraph</b></p><b data-parsoid='{\"stx\":\"html\",\"autoInsertedStart\":true,\"autoInsertedEnd\":true,\"dsr\":[17,37,0,0]}'>\n\n<p data-parsoid='{\"dsr\":[19,37,0,0]}'>New wiki paragraph</p></b>", "html2wt": "'''Bold paragraph'''\n\nNew wiki paragraph\n" }, "Inline wiki vs wiki block nesting": { "wt2wt": "'''Bold paragraph'''\n\nNew wiki paragraph", "html2wt": "'''Bold paragraph'''\n\nNew wiki paragraph\n", "selser [2,0,1]": "18hvqx8\n\n'''Bold paragraph\n\nNew wiki paragraph", "selser [0,0,[3]]": "'''Bold paragraph\n\n", "selser [1,3,[3]]": "'''Bold paragraph\n\n", "selser [0,0,4]": "'''Bold paragraph\n\njs14js", "selser [0,3,[4]]": "'''Bold paragraph\n\ni5pa1", "selser [[2],4,2]": "19nmwq1'''Bold paragraph\n\ndh4zbb\n\nbwvwda\n\nNew wiki paragraph", "selser [0,0,2]": "'''Bold paragraph\n\n10pnlgs\n\nNew wiki paragraph" }, "Interlanguage link with spacing": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'>Blah blah blah</p>\n<link rel=\"mw:PageProp/Language\" href=\"http://zh.wikipedia.org/wiki/%20%20%20%20Chinese%20%20%20%20%20\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://zh.wikipedia.org/wiki/%20%20%20%20Chinese%20%20%20%20%20\"},\"sa\":{\"href\":\" zh : Chinese \"},\"dsr\":[15,43,null,null]}'/>", "wt2wt": "Blah blah blah\n[[ zh : Chinese | zh : Chinese ]]", "selser [4,0,0]": "n4e8qv\n[[ zh : Chinese ]]", "selser [[4],3,2]": "1vmb5kd\n\ng6dx29\n[[ zh : Chinese ]]", "selser [4,3,0]": "1h6g0ly\n[[ zh : Chinese ]]", "selser [[3],3,0]": "[[ zh : Chinese ]]", "selser [3,2,0]": "1nn3tw5\n[[ zh : Chinese ]]", "selser [0,4,0]": "Blah blah blah\n\na27k8x\n[[ zh : Chinese ]]", "selser [1,2,0]": "Blah blah blah\n\n109qmw8\n[[ zh : Chinese ]]", "selser [[4],2,0]": "168ye40\n\n1p4mde5\n[[ zh : Chinese ]]", "selser [4,0,2]": "1rvhrh5\n\nkayncs\n[[ zh : Chinese ]]", "selser [3,0,0]": "\n[[ zh : Chinese ]]" }, "Internal link with ca linktrail with apostrophes (T29473)": { "html2html": "<p data-parsoid='{\"dsr\":[0,65,0,0]}'>[/index.php?title=Something&action=edit&redlink=1 Something'nice]</p>\n", "html2wt": "[/index.php?title=Something&action=edit&redlink=1 Something'nice]\n" }, "Internal link with en linktrail: no apostrophes (T29473)": { "html2html": "<p data-parsoid='{\"dsr\":[0,65,0,0]}'>[/index.php?title=Something&action=edit&redlink=1 Something]'nice</p>\n", "html2wt": "[/index.php?title=Something&action=edit&redlink=1 Something]'nice\n" }, "Internal link with is link trail and link prefix": { "html2wt": "[[Mótmælendatrú|xxxar]]\n[[Mótmælendatrú|mótmælendatrúar]]\n[[Söfnuður|mótmælendasöfnuður]]\n[[Söfnuður|mótmælendasöfnuðir]]\n[[Söfnuður|mótmælendasöfnuðirxxx]]\n" }, "Internal link with kaa linktrail with apostrophes (T29473)": { "html2html": "<p data-parsoid='{\"dsr\":[0,65,0,0]}'>[/index.php?title=Something&action=edit&redlink=1 Something'nice]</p>\n", "html2wt": "[/index.php?title=Something&action=edit&redlink=1 Something'nice]\n" }, "Interwiki link encoding conversion (T3636)": { "selser [[[3],2,[2]]]": "*\n* 1nv21zw\n*rzaibg[[:Wikipedia:ro:Olteniţa]]" }, "Interwiki link with fragment (T4130)": { "html2wt": "[[meatball:SoftSecurity#foo|MeatBall:SoftSecurity#foo]]\n" }, "Invalid attributes in table cell (T3830)": { "wt2wt": "{|\n| Cell: |broken\n|}", "html2wt": "{|\n|broken\n|}", "selser [[4,2]]": "{|<!--tv1z59--><!--1g5z6rl-->\n|Cell:|broken\n|}", "selser [2]": "vd58dg\n{|\n|Cell:|broken\n|}", "selser [1]": "{| data-foobar=\"1v2jv1\"\n|Cell:|broken\n|}", "selser [[0,2]]": "{|\n<!--1tw7uu1-->|Cell:|broken\n|}", "selser [[3,[2,3]]]": "{|<!--ezmz4r-->\n|Cell:|broken\n|}", "selser [[0,[[[3]],4]]]": "{|\n|Cell:|<!--1hldctg-->\n|}", "selser [[0,[1,4]]]": "{|\n|Cell:|broken<!--eyc8v9-->\n|}", "selser [[3,2]]": "{|<!--1fclbmc-->\n|Cell:|broken\n|}" }, "Invalid text in table attributes should be preserved by selective serializer": { "selser [[3,[[[2],2,[2]],4]]]": "{| <span>boo</span> style='border:1px solid black'\n| <span>boo</span> style='color:blue' | 9jkgm21\n|97eh58\n| style=\"color:blue\" boo | moisna2<!--l4ygjq-->\n|}", "selser [[0,4]]": "{| <span>boo</span> style='border:1px solid black'\n<!--6zvpcd-->|}", "selser [1]": "{| style=\"border:1px solid black\" data-foobar=\"1lzmi9u\" boo\n| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [[2,3]]": "{| <span>boo</span> style='border:1px solid black'<!--4oj8ff-->\n|}", "selser [[4,[[1,0,[3]],2]]]": "{| <span>boo</span> style='border:1px solid black'<!--s0q54v-->\n| style=\"color:blue\" data-foobar=\"2rpjng\" boo | 1\n|<span>boo</span> style='color:blue'|<!--1q7ejf2-->\n|}", "selser [[2,[3,0]]]": "{| <span>boo</span> style='border:1px solid black'<!--s1wznv-->\n\n|}", "selser [[0,[1,0]]]": "{| <span>boo</span> style='border:1px solid black'\n| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [[0,1]]": "{| <span>boo</span> style='border:1px solid black'\n| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [2]": "96s0ir\n{| <span>boo</span> style='border:1px solid black'\n| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [[2,[[3,0,2],0]]]": "{| <span>boo</span> style='border:1px solid black'<!--4txap9-->\n|1w9fvvs\n| style=\"color:blue\" boo | 2\n|}", "selser [[0,3]]": "{| <span>boo</span> style='border:1px solid black'\n|}", "selser [[4,4]]": "{| <span>boo</span> style='border:1px solid black'<!--1l3kl25--><!--1y602cq-->\n|}", "selser [[4,3]]": "{| <span>boo</span> style='border:1px solid black'<!--10hr1qd-->\n|}", "selser [[0,[1,4]]]": "{| <span>boo</span> style='border:1px solid black'\n| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2<!--ptdkg4-->\n|}", "selser [[0,2]]": "{| <span>boo</span> style='border:1px solid black'\n<!--4pyzwt-->| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [[0,[2,0]]]": "{| <span>boo</span> style='border:1px solid black'\n<!--1cria3z-->| <span>boo</span> style='color:blue' | 1\n|<span>boo</span> style='color:blue'| 2\n|}", "selser [[3,4]]": "{| <span>boo</span> style='border:1px solid black'<!--1j084gj-->\n|}", "selser [[0,[[3,0,0],0]]]": "{| <span>boo</span> style='border:1px solid black'\n\n|<span>boo</span> style='color:blue'| 2\n|}" }, "Italics and bold": { "html2wt": "* plain\n* plain''italic''plain\n* plain''italic''plain''italic''plain\n* plain'''bold'''plain\n* plain'''bold'''plain'''bold'''plain\n* plain''italic''plain'''bold'''plain\n* plain'''bold'''plain''italic''plain\n* plain''italic'''bold-italic'''italic''plain\n* plain'''bold''bold-italic''bold'''plain\n* plain'''''bold-italic'''italic''plain\n* plain'''''bold-italic''bold'''plain\n* plain''italic'''bold-italic'''''plain\n* plain'''bold''bold-italic'''''plain\n* plain l'''italic''plain\n* plain l''''bold''' plain" }, "Italics and bold: 5-quote opening sequence: (5,6)": { "selser [[[2]]]": "''191lsv9'''foo''''''" }, "Italics and possessives (1)": { "html2html": "<p data-parsoid='{\"dsr\":[0,115,0,0]}'>obtained by <i data-parsoid='{\"dsr\":[12,91,2,2]}'>[/index.php?title=Lunar_Prospector&action=edit&redlink=1 Lunar Prospector]'</i>s gamma-ray spectrometer</p>\n", "html2wt": "obtained by ''[/index.php?title=Lunar_Prospector&action=edit&redlink=1 Lunar Prospector]'''s gamma-ray spectrometer\n" }, "Italics and possessives (3)": { "html2html": "<p data-parsoid='{\"dsr\":[0,423,0,0]}'>The first monolingual dictionary written in a Romance language was <i data-parsoid='{\"dsr\":[67,94,2,2]}'>Sebastián Covarrubias'</i> <i data-parsoid='{\"dsr\":[95,141,2,2]}'>Tesoro de la lengua castellana o española</i>, published in 1611 in Madrid. In 1612 the first edition of the <i data-parsoid='{\"dsr\":[205,312,2,2]}'>Vocabolario dell'[/index.php?title=Accademia_della_Crusca&action=edit&redlink=1 Accademia della Crusca]</i>, for Italian, was published. In 1690 in Rotterdam was published, posthumously, the <i data-parsoid='{\"dsr\":[396,422,2,2]}'>Dictionnaire Universel</i>.</p>\n", "html2wt": "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'[/index.php?title=Accademia_della_Crusca&action=edit&redlink=1 Accademia della Crusca]'', for Italian, was published. In 1690 in Rotterdam was published, posthumously, the ''Dictionnaire Universel''.\n" }, "Language parser function": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#language:ar\",\"function\":\"language\"},\"params\":{},\"i\":0}}]}'>ar</span></p>", "html2wt": "العربية\n" }, "Less than in attribute position": { "selser [0,2,[2]]": "<pre <pre>123</pre>6njtnz\n\n\n\n<div <div>zghs00123</div>" }, "Link containing an ampersand": { "selser [1,4,1,0,[3,0,0]]": "[[Foo & bar]]\n\n10hs1hv\n\n[[Foo & bar]]\n\n&amp; bar]]", "selser [4,4,1,0,4]": "1t90bln\n\nin61qw\n\n[[Foo & bar]]\n\n18k6kii", "selser [3,2,[[3]],2,[3,0,0]]": "q9fai7\n\n1k0d3dg\n\n&amp; bar]]", "selser [2,2,1,4,0]": "756eqn\n\n[[Foo & bar]]\n\n1q3qdhc\n\n[[Foo & bar]]\n\n1c6bj2m\n\n[[Foo &amp; bar]]" }, "Link containing double-single-quotes '' in text embedded in italics (T6598 check)": { "html2html": "<p data-parsoid='{\"dsr\":[0,84,0,0]}'><i data-parsoid='{\"dsr\":[0,61,2,2]}'>Some [/index.php?title=Link&action=edit&redlink=1 pretty </i>italics<i data-parsoid='{\"dsr\":[68,84,2,2]}'> and stuff]!</i></p>\n", "html2wt": "''Some [/index.php?title=Link&action=edit&redlink=1 pretty ''italics'' and stuff]!''\n" }, "Link inside a section heading": { "html2wt": "== Section with a [[Main Page|link]] in it ==\n" }, "Link to namespaces": { "html2html": "<p data-parsoid='{\"dsr\":[0,156,0,0]}'>[/index.php?title=Talk:Parser_testing&action=edit&redlink=1 Talk:Parser testing], [/index.php?title=Meta:Disclaimers&action=edit&redlink=1 Meta:Disclaimers]</p>\n", "html2wt": "[/index.php?title=Talk:Parser_testing&action=edit&redlink=1 Talk:Parser testing], [/index.php?title=Meta:Disclaimers&action=edit&redlink=1 Meta:Disclaimers]\n" }, "Link with double quotes in title part (literal) and alternate part (interpreted)": { "selser [[[[[3]]]],0,[4],0,[[3]],3,2]": "[[File:Denys_Savchenko_''Pentecoste''.jpg]]\n\n1o8xlu6\n\n141oc9a\n\n[[''Pentecoste''|''Pentecoste'']]" }, "Link with space in namespace": { "html2html": "<p data-parsoid='{\"dsr\":[0,76,0,0]}'>[/index.php?title=User_talk:Foo_bar&action=edit&redlink=1 User talk:Foo bar]</p>\n", "html2wt": "[/index.php?title=User_talk:Foo_bar&action=edit&redlink=1 User talk:Foo bar]\n" }, "Link with suffix": { "html2wt": "[[Main Page|Main Pagexxx]], [[Main Page]]XXX, [[Main Page]]!!!\n" }, "List interrupted by empty line or heading": { "html2wt": "* foo\n\n** bar\n\n== A heading ==\n\n* Another list item" }, "List items are not parsed correctly following a <pre> block (T2785)": { "html2wt": "* <pre>foo</pre>\n* <pre>bar</pre>\n* zar" }, "List items from template": { "html2wt": "{{inner list}}\n*item 2\n\n* item 0\n{{inner list}}\n* item 2\n\n* item 0\n* notSOL{{inner list}}\n* item 2" }, "Lists: 4. No escapes needed": { "html2wt": "* foo*bar\n\n* ''foo''*bar\n\n* [[Foo]]: bar\n\n* [[Foo]]*bar\n" }, "Magic Word: {{BASEPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"function\":\"basepagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_basepagenamee missing in Parsoid.</span></p>" }, "Magic Word: {{BASEPAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"function\":\"basepagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_basepagename missing in Parsoid.</span></p>" }, "Magic Word: {{CURRENTDAY2}}": { "html2wt": "01\n" }, "Magic Word: {{CURRENTDAYNAME}}": { "html2wt": "Thursday\n" }, "Magic Word: {{CURRENTDAY}}": { "html2wt": "1\n" }, "Magic Word: {{CURRENTDOW}}": { "html2wt": "4\n" }, "Magic Word: {{CURRENTHOUR}}": { "html2wt": "00\n" }, "Magic Word: {{CURRENTMONTH1}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"CURRENTMONTH1\",\"function\":\"currentmonth1\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_currentmonth1 missing in Parsoid.</span></p>", "html2wt": "1\n" }, "Magic Word: {{CURRENTMONTHABBREV}}": { "html2wt": "Jan\n" }, "Magic Word: {{CURRENTMONTHNAMEGEN}}": { "html2wt": "January\n" }, "Magic Word: {{CURRENTMONTHNAME}}": { "html2wt": "January\n" }, "Magic Word: {{CURRENTMONTH}}": { "html2wt": "01\n" }, "Magic Word: {{CURRENTTIMESTAMP}}": { "html2wt": "19700101000203\n" }, "Magic Word: {{CURRENTTIME}}": { "html2wt": "00:02\n" }, "Magic Word: {{CURRENTWEEK}} (T6594)": { "html2wt": "1\n" }, "Magic Word: {{CURRENTYEAR}}": { "html2wt": "1970\n" }, "Magic Word: {{FULLPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAMEE\",\"function\":\"fullpagenamee\"},\"params\":{},\"i\":0}}]}'>User:Ævar Arnfjörð Bjarmason</span></p>" }, "Magic Word: {{NAMESPACEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACEE\",\"function\":\"namespacee\"},\"params\":{},\"i\":0}}]}'>Main</span></p>" }, "Magic Word: {{NAMESPACENUMBER}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,19,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,19,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACENUMBER\",\"function\":\"namespacenumber\"},\"params\":{},\"i\":0}}]}'>0</span></p>" }, "Magic Word: {{NAMESPACE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACE\",\"function\":\"namespace\"},\"params\":{},\"i\":0}}]}'>Main</span></p>" }, "Magic Word: {{NUMBEROFFILES}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NUMBEROFFILES\",\"function\":\"numberoffiles\"},\"params\":{},\"i\":0}}]}'>2</span></p>" }, "Magic Word: {{PAGENAMEE}}": { "wt2html": "<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span>" }, "Magic Word: {{PAGENAMEE}} with metacharacters (T28781)": { "wt2html": "<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span>" }, "Magic Word: {{PAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,12,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,12,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAME\",\"function\":\"pagename\"},\"params\":{},\"i\":0}}]}'>User:Ævar Arnfjörð Bjarmason</span></p>" }, "Magic Word: {{REVISIONID}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"function\":\"revisionid\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionid missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONID}} on non-latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"function\":\"revisionid\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionid missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONTIMESTAMP:...}}} on non-existing non-current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,46,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,46,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONTIMESTAMP:This page does not exist\",\"function\":\"revisiontimestamp\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisiontimestamp missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONTIMESTAMP:{{PAGENAME}}}} on not-yet-existing current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,34,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,34,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONTIMESTAMP:{{PAGENAME}}\",\"function\":\"revisiontimestamp\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisiontimestamp missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONTIMESTAMP}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,21,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,21,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONTIMESTAMP\",\"function\":\"revisiontimestamp\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisiontimestamp missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONTIMESTAMP}} on not-yet-existing current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,21,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,21,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONTIMESTAMP\",\"function\":\"revisiontimestamp\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisiontimestamp missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONUSER:...}} on non-existing non-current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,41,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,41,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONUSER:This page does not exist\",\"function\":\"revisionuser\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionuser missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONUSER:{{PAGENAME}}}} on not-yet-existing current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,29,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,29,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONUSER:{{PAGENAME}}\",\"function\":\"revisionuser\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionuser missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONUSER}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONUSER\",\"function\":\"revisionuser\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionuser missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONUSER}} on non-latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONUSER\",\"function\":\"revisionuser\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionuser missing in Parsoid.</span></p>" }, "Magic Word: {{REVISIONUSER}} on not-yet-existing current page": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONUSER\",\"function\":\"revisionuser\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionuser missing in Parsoid.</span></p>" }, "Magic Word: {{ROOTPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"function\":\"rootpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_rootpagenamee missing in Parsoid.</span></p>" }, "Magic Word: {{ROOTPAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"function\":\"rootpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_rootpagename missing in Parsoid.</span></p>" }, "Magic Word: {{SCRIPTPATH}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SCRIPTPATH\",\"function\":\"scriptpath\"},\"params\":{},\"i\":0}}]}'>/</span></p>" }, "Magic Word: {{STYLEPATH}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"STYLEPATH\",\"function\":\"stylepath\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_stylepath missing in Parsoid.</span></p>" }, "Magic Word: {{SUBJECTPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,20,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,20,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"function\":\"subjectpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectpagenamee missing in Parsoid.</span></p>" }, "Magic Word: {{SUBJECTPAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,19,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,19,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"function\":\"subjectpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectpagename missing in Parsoid.</span></p>" }, "Magic Word: {{SUBJECTSPACEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"function\":\"subjectspacee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectspacee missing in Parsoid.</span></p>" }, "Magic Word: {{SUBJECTSPACE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></p>" }, "Magic Word: {{SUBJECTSPACE}}, main namespace": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></p>" }, "Magic Word: {{SUBJECTSPACE}}, same namespace": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></p>" }, "Magic Word: {{SUBPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"function\":\"subpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subpagenamee missing in Parsoid.</span></p>" }, "Magic Word: {{SUBPAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,15,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,15,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"function\":\"subpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subpagename missing in Parsoid.</span></p>" }, "Magic Word: {{TALKPAGENAMEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"function\":\"talkpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_talkpagenamee missing in Parsoid.</span></p>" }, "Magic Word: {{TALKPAGENAME}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAME\",\"function\":\"talkpagename\"},\"params\":{},\"i\":0}}]}'>User:Ævar Arnfjörð Bjarmason</span></p>" }, "Magic Word: {{TALKSPACEE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"function\":\"talkspacee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_talkspacee missing in Parsoid.</span></p>" }, "Magic Word: {{TALKSPACE}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</span></p>" }, "Magic Word: {{TALKSPACE}}, same namespace": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</span></p>" }, "Magic Words LOCAL (UTC)": { "wt2html": "<ul data-parsoid='{\"dsr\":[0,238,0,0]}'><li data-parsoid='{\"dsr\":[0,15,1,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[1,15,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH\",\"function\":\"localmonth\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li data-parsoid='{\"dsr\":[16,32,1,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[17,32,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH1\",\"function\":\"localmonth1\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_localmonth1 missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[33,52,1,0]}'><span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[34,52,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAME\",\"function\":\"localmonthname\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li data-parsoid='{\"dsr\":[53,75,1,0]}'><span about=\"#mwt4\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[54,75,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAMEGEN\",\"function\":\"localmonthnamegen\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li data-parsoid='{\"dsr\":[76,97,1,0]}'><span about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[77,97,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHABBREV\",\"function\":\"localmonthabbrev\"},\"params\":{},\"i\":0}}]}'>Jan</span></li>\n<li data-parsoid='{\"dsr\":[98,111,1,0]}'><span about=\"#mwt6\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[99,111,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY\",\"function\":\"localday\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li data-parsoid='{\"dsr\":[112,126,1,0]}'><span about=\"#mwt7\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[113,126,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY2\",\"function\":\"localday2\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li data-parsoid='{\"dsr\":[127,144,1,0]}'><span about=\"#mwt8\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[128,144,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAYNAME\",\"function\":\"localdayname\"},\"params\":{},\"i\":0}}]}'>Thursday</span></li>\n<li data-parsoid='{\"dsr\":[145,159,1,0]}'><span about=\"#mwt9\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[146,159,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALYEAR\",\"function\":\"localyear\"},\"params\":{},\"i\":0}}]}'>1970</span></li>\n<li data-parsoid='{\"dsr\":[160,174,1,0]}'><span about=\"#mwt10\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[161,174,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIME\",\"function\":\"localtime\"},\"params\":{},\"i\":0}}]}'>00:02</span></li>\n<li data-parsoid='{\"dsr\":[175,189,1,0]}'><span about=\"#mwt11\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[176,189,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALHOUR\",\"function\":\"localhour\"},\"params\":{},\"i\":0}}]}'>00</span></li>\n<li data-parsoid='{\"dsr\":[190,204,1,0]}'><span about=\"#mwt12\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[191,204,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALWEEK\",\"function\":\"localweek\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li data-parsoid='{\"dsr\":[205,218,1,0]}'><span about=\"#mwt13\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[206,218,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDOW\",\"function\":\"localdow\"},\"params\":{},\"i\":0}}]}'>4</span></li>\n<li data-parsoid='{\"dsr\":[219,238,1,0]}'><span about=\"#mwt14\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[220,238,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIMESTAMP\",\"function\":\"localtimestamp\"},\"params\":{},\"i\":0}}]}'>19700101000203</span></li></ul>", "html2wt": "* 01\n* 1\n* January\n* January\n* Jan\n* 1\n* 01\n* Thursday\n* 1970\n* 00:02\n* 00\n* 1\n* 4\n* 19700101000203" }, "Magic variable as template parameter": { "html2wt": "This is a test template with parameter MediaWiki\n" }, "Malformed definition list with colon": { "html2wt": "; news:alt.wikipedia.rox -- don't crash or enter an infinite loop" }, "Mixed list": { "html2wt": "* Mixed list\n*# with numbers\n** and bullets\n*# and numbers\n* bullets again\n** bullet level 2\n*** bullet level 3\n***# Number on level 4\n** bullet level 2\n**# Number on level 3\n**# Number on level 3\n*# number level 2\n* Level 1\n*** Level 3\n\n#** Level 3, but ordered\n", "selser [3,0,0]": "#**Level 3, but ordered" }, "Mixing markup for italics and bold": { "wt2wt": "'<nowiki/>''bold'<nowiki/>'''''bold''bolditalics'''''", "html2wt": "'<nowiki/>''bold'<nowiki/>'''''bold''bolditalics'''''\n", "selser [1]": "'<nowiki/>''bold''''''bold''bolditalics'''''", "selser [2]": "1e1nuk\n\n'''bold''''''bold''bolditalics'''''", "selser [[0,0,[4,[4]]]]": "'<nowiki/>''bold''''''114rtf8''1rf8z0c'''''", "selser [[0,2,1]]": "'jesq0d''bold''''''bold''bolditalics'''''" }, "Morwen/13: Unclosed link followed by heading": { "html2wt": "[[link\n\n== heading ==\n" }, "Multiple lines without block tags": { "selser [4,1,0,[3,0,0],0,1,4,0]": "tkn1w8\n\na\n\n<!--foo-->e\n\nx \n\n1p28uxd\n\n z", "selser [2,0,2,1,3,3,0,2]": "1j5shwn<div>foo</div> a\n\njrdv3n\nb\nc\nd<!--foo--> e<div>foo</div>4z3kz2\n\n z", "selser [0,2,0,3,3,2,2,[3]]": "<div>foo</div>d5cyrn\n\n a\n2zkdzg\n\nx \n\n1tl6yau<div>foo</div>", "selser [3,0,0,[0,0,2],4,3,[3],2]": " a\n\nb\nc\nd<!--foo-->13obem9 e\n\nrlzmk<div></div>d4mp6l\n\n z", "selser [3,[4],3,3,0,2,3,0]": "1gnvq3r\n\n2whicw\n\nx \n\n z", "selser [4,0,0,4,4,2,[3],[2]]": "h7hf32\n\n a\n\npawik2\n\ndvitc2\n\n18ltr5v\n\nx <div></div>1917jrw z" }, "Multiple newlines after tables are converted to p-br-p tags": { "selser [2,0,[2,2],0,2,2,3]": "1vlvcem\n{|\n|x\n|}\nh7tgjz\ngwxfxn\n1rr9v1k\n\n\n\n\nf2i27b\n", "selser [3,4,2,4,[2,0],0,0]": "q9y9ul\n\n1dzf6n0\n\n\n\n\n1c6ecgs\n\nzdayuv\n\n=b=", "selser [0,0,3,2,2,0,0]": "{|\n|x\n|}\n1gwrqpk\n\nqd1vqc\n\n\n\n=b=", "selser [[0,[2,0]],3,0,3,[4,0],4,[3]]": "{|\n<!--dp0ho3-->|x\n|}\n\n\nr5akja\n\nqy67r3", "selser [4,0,4,4,2,3,0]": "q19l6f\n\n1hwqo8z\n\n5mihjv\n\n1p6mg5l\n\n\n\n=b=", "selser [2,0,1,2,2,0,2]": "ooegna\n{|\n|x\n|}\n\n\n\n\n\nijxeva\n\n8ud2z2\n\n\n\n1x17gwd\n\n=b=", "selser [[0,[1,0]],4,[0,1],2,0,2,0]": "{|\n|x\n|}\n5dmvt7\n\n\n\n1lb803i\n\n\n\n\n1x89ymj\n\n=b=", "selser [[3,[[4],0]],0,2,2,[4,2],4,3]": "{|\n|1qkry9z\n|}\nzhprdg\n\n\n\n\n140x1kp\n\ntomszg1k83zbt\n\ngp6sy2", "selser [3,0,0,2,0,0,0]": "\n\n\n\n1r9koth\n\n\n\n=b=" }, "Multiplication table": { "html2wt": "{| border=\"1\" cellpadding=\"2\"\n|+Multiplication table\n!×\n!1\n!2\n!3\n|-\n!1\n|1\n|2\n|3\n|-\n!2\n|2\n|4\n|6\n|-\n!3\n|3\n|6\n|9\n|-\n!4\n|4\n|8\n|12\n|-\n!5\n|5\n|10\n|15\n|}" }, "Namespace (lang=de) Benutzer Diskussion {{ns:3}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,8,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,8,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:3\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>3</span></p>", "html2wt": "Benutzer Diskussion\n" }, "Namespace (lang=de) Benutzer {{ns:User}}": { "html2wt": "Benutzer\n" }, "Namespace -1 {{ns:-1}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,9,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,9,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:-1\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>-1</span></p>", "html2wt": "Special\n" }, "Namespace 0 {{ns:00}} (T6783)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,9,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,9,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:00\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>00</span></p>", "html2wt": "" }, "Namespace 0 {{ns:0}} (T6783)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,8,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,8,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:0\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>0</span></p>", "html2wt": "" }, "Namespace 1 {{ns:01}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,9,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,9,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:01\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>01</span></p>", "html2wt": "Talk\n" }, "Namespace 1 {{ns:1}}": { "wt2html": "<p data-parsoid='{\"dsr\":[0,8,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,8,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:1\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>1</span></p>", "html2wt": "Talk\n" }, "Namespace File {{ns:File}}": { "html2wt": "File\n" }, "Namespace File {{ns:Image}}": { "html2wt": "File\n" }, "Namespace User talk {{ns:User_talk}}": { "html2wt": "User talk\n" }, "Namespace User talk {{ns:uSeR tAlK}}": { "html2wt": "User talk\n" }, "Namespace User {{ns:User}}": { "html2wt": "User\n" }, "Nested <noinclude>s": { "selser [4,0,[3,0,3,4,0],3,0]": "95w6d2\n\n<noinclude>k1e0sn\nz\n</noinclude>" }, "Nested definition lists using html syntax": { "html2wt": "; x\n: a\n: b" }, "Nested lists 1": { "html2wt": "* foo\n** bar\n" }, "Nested lists 10 (list and span siblings: wt2wt regression)": { "html2wt": "* a <span>x</span>\n** b <span>y</span>\n" }, "Nested lists 11 (T262409: trailing whitespace & selser)": { "selser [[2]]": "* mi5h3i\n**a\n***b ", "selser [[1]]": "**a\n***b ", "selser [2]": "dz9syw\n**a\n***b ", "selser [[[2]]]": "*1sd3fyg\n**a\n***b ", "selser [1]": "**a\n***b ", "selser [[[1]]]": "**a\n***b ", "selser [[[[1]]]]": "**a\n***b ", "selser [[[[[3,0]]]]]": "***b " }, "Nested lists 2": { "html2wt": "** foo\n* bar" }, "Nested lists 3 (first element empty)": { "wt2wt": "\n**bar\n", "html2wt": "\n** bar\n", "selser [2]": "1b8vuw9\n*\n**bar", "selser [1]": "*\n**bar", "selser [[1]]": "*\n**bar", "selser [[[0,[[3]]]]]": "*\n**", "selser [[[0,[1]]]]": "*\n**bar", "selser [[2]]": "* 1yzerqh\n*\n**bar" }, "Nested lists 4 (first element empty)": { "html2wt": "**\n* bar" }, "Nested lists 6 (both elements empty)": { "wt2wt": "\n**\n", "html2wt": "\n**\n", "selser [1]": "*\n**", "selser [2]": "1u5v0i7\n*\n**", "selser [[[0,1]]]": "*\n**", "selser [[1]]": "*\n**", "selser [[2]]": "* 14d3cex\n*\n**" }, "Nested lists 7 (skip initial nesting levels)": { "html2wt": "*** foo\n" }, "Nested lists 8 (multiple nesting transitions)": { "html2wt": "* foo\n*** bar\n** baz\n* boo" }, "Nested lists 9 (extension interaction)": { "html2html": "<ul data-parsoid='{\"dsr\":[0,1,0,0]}'><li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[0,1,1,0]}'></li></ul>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt3\" data-parsoid='{\"dsr\":[2,16,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"></ol></div>\n", "html2wt": "*\n<references />\n" }, "Nested table": { "wt2wt": "{| border=\"1\"\n|α\n|\n{| bgcolor=\"#ABCDEF\" border=\"2\"\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "html2wt": "{| border=\"1\"\n|α\n|\n{| bgcolor=\"#ABCDEF\" border=\"2\"\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[0,[1,4]]]": "{| border=1\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again<!--146htw5-->\n|}", "selser [[0,2]]": "{| border=1\n<!--5pyfm0-->| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [2]": "rsoqyk\n{| border=1\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[0,3]]": "{| border=1\n|}", "selser [[2,[4,2]]]": "{| border=1<!--1deq2nr-->\n<!--4ul6ve--><!--1x0kfry-->\n|}", "selser [[2,3]]": "{| border=1<!--1sjqim7-->\n|}", "selser [[4,1]]": "{| border=1<!--136o031-->\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [1]": "{| border=\"1\" data-foobar=\"1iqpwix\"\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[3,2]]": "{| border=1<!--1c2y0bu-->\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[2,1]]": "{| border=1<!--myauc2-->\n| α\n|\n{| bgcolor=\"#ABCDEF\" border=\"2\"\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[3,[3,0]]]": "{| border=1\n|}", "selser [[0,[[0,4,[4,1],2,2],0]]]": "{| border=1\n| α\n|1f7ogne\n|1iqtqxq\n{| bgcolor=\"#ABCDEF\" border=\"2\" data-foobar=\"u9eo14\"\n|nested\n|-\n|table\n|}\n|1jsu3wr\n|1vtmfkq\n|the original table again\n|}", "selser [[3,[1,4]]]": "{| border=1\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again<!--1ifutu9-->\n|}", "selser [[0,4]]": "{| border=1\n<!--w9rfzn-->|}", "selser [[0,[[1,2,[3,4],0,4],2]]]": "{| border=1\n| data-foobar=\"1vl4qbv\" | α\n|jat1h0\n|dhfbfz\n|etrd6b<!--qen9xa-->\n|}", "selser [[0,[1,2]]]": "{| border=1\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again<!--17kpprb-->\n|}", "selser [[0,1]]": "{| border=1\n| α\n|\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n|table\n|}\n|the original table again\n|}", "selser [[0,[[2,0,[4,[0,[0,0,[0,3],2]]],0,0],4]]]": "{| border=1\n|rru7h0\n| α\n|xrsu0y\n{| bgcolor=#ABCDEF border=2\n|nested\n|-\n<!--v51nmn-->\n|}\n|the original table again<!--vbdjq9-->\n|}" }, "Nested template calls": { "html2wt": "(My parameter is: param)\n" }, "Non-breaking spaces in title": { "html2wt": "[[ Main Page ]]\n" }, "Non-empty attributes in th-cells": { "html2wt": "{|\n!Foo\n! style=\"color: red\" |Bar\n|}" }, "Non-word characters don't terminate tag names (T19663, T42670, T54022)": { "wt2wt": "<blockquote|>a\n\n<b→> doesn't terminate </b→>\n\n<bä> doesn't terminate </bä>\n\n<boo> doesn't terminate </boo>\n\n<s.foo> doesn't terminate </s.foo>\n\n<sub-ID#1>", "html2wt": "<blockquote|>a\n\n<b→> doesn't terminate </b→>\n\n<bä> doesn't terminate </bä>\n\n<boo> doesn't terminate </boo>\n\n<s.foo> doesn't terminate </s.foo>\n\n<sub-ID#1>\n", "selser [0,0,0,3,0,4,1,3,[3],0,[2]]": "<blockquote|>a</blockquote>\n\n<b→> doesn't terminate </b→>\n\n<bä> doesn't terminate </bä>\n\ng0p38s\n\n<boo> doesn't terminate </boo>\n\n\n15zmhzp<sub-ID#1>", "selser [0,0,[3],4,3,0,1,4,[4],0,0]": "<blockquote|>a</blockquote>\n\n\n10u9srl\n\n<boo> doesn't terminate </boo>\n\n1pfxe03\n\n17gvfiq\n\n<sub-ID#1>", "selser [2,0,0,2,1,0,[4],0,0,0,[3]]": "1kvfbh7\n\n<blockquote|>a</blockquote>\n\n<b→> doesn't terminate </b→>\n\n1ckx0ef\n\n<bä> doesn't terminate </bä>\n\n1euhok7\n\n<s.foo> doesn't terminate </s.foo>\n\n", "selser [4,3,2,0,4,4,1,2,[3],3,0]": "xkwlxr\n\noglbw8\n\n<b→> doesn't terminate </b→>\n\n1idx6c7\n\n12q9nwh\n\n<boo> doesn't terminate </boo>\n\nh6uxwa\n\n<sub-ID#1>", "selser [2,4,1,0,[2],0,0,0,[4],3,2]": "1jnsohs\n\n<blockquote|>a</blockquote>\n\nmsvqr8\n\n<b→> doesn't terminate </b→>\n\n1blzxen<bä> doesn't terminate </bä>\n\n<boo> doesn't terminate </boo>\n\n1q0c8fj\n\ndk8akl\n\n<sub-ID#1>", "selser [0,0,2,2,3,3,3,4,3,0,1]": "<blockquote|>a</blockquote>\n\n1ego5dv\n\n<b→> doesn't terminate </b→>\n\n1bkybqx\n\nn2r4nj\n\n<sub-ID#1>", "selser [0,4,2,0,4,4,1,0,0,2,[2]]": "<blockquote|>a</blockquote>\n\n1vd24n8\n\n18ssbe9\n\n<b→> doesn't terminate </b→>\n\n1yjt8s3\n\nn9g45c\n\n<boo> doesn't terminate </boo>\n\n<s.foo> doesn't terminate </s.foo>\n\n1qy93z2\n\niaid67<sub-ID#1>" }, "Nonexistent template": { "html2html": "<p data-parsoid='{\"dsr\":[0,108,0,0]}'>[/index.php?title=Template:Thistemplatedoesnotexist&action=edit&redlink=1 Template:Thistemplatedoesnotexist]</p>\n", "html2wt": "[/index.php?title=Template:Thistemplatedoesnotexist&action=edit&redlink=1 Template:Thistemplatedoesnotexist]\n" }, "Normalizations should be restricted to edited content": { "selser [2,0,0,2,3]": "qnd1q4\n\na\n= =\nzvmmb4\n", "selser [0,4,0,0,3]": "a\n\n1b27ypv\n\n= =\n", "selser [3,0,0,3,[2]]": "\n= =\n158zbx1b", "selser [0,4,0,0,0]": "a\n\ncs5h4n\n\n= =\nb", "selser [2,2,0,4,3]": "1u9m45m\n\na\n\n1wk6xex\n\n= =\nm4bj9", "selser [[4],0,2,2,4]": "4zaulx\n\n8lgr3b\n\n= =\nq57o1d\n1yj3afc", "selser [3,2,0,3,4]": "71i7pu\n\n= =\n1aurpu1", "selser [0,0,2,0,[3]]": "a\n\n1d4voyj\n\n= =\n", "selser [3,4,0,2,3]": "1dbwger\n\n= =\np3hzk\n", "selser [1,2,0,4,4]": "a\n\n1k4ytql\n\n= =\n1tgll7o\n\nh7z05y", "selser [1,2,0,0,0]": "a\n\n1qeflfy\n\n= =\nb", "selser [1,2,2,3,0]": "a\n\n1sud6qp\n\n1suxewc\n\n= =\nb" }, "Numbered list": { "html2wt": "# Numbered list\n# item 2\n# item 3" }, "Out-of-order TOC heading levels": { "wt2html": "<h2 id=\"2\" data-parsoid='{\"dsr\":[0,5,2,2]}'>2</h2>\n<h6 id=\"6\" data-parsoid='{\"dsr\":[6,19,6,6]}'>6</h6>\n<h3 id=\"3\" data-parsoid='{\"dsr\":[20,27,3,3]}'>3</h3>\n<h1 id=\"1\" data-parsoid='{\"dsr\":[28,31,1,1]}'>1</h1>\n<h5 id=\"5\" data-parsoid='{\"dsr\":[32,43,5,5]}'>5</h5>\n<h2 id=\"2_2\" data-parsoid='{\"dsr\":[44,49,2,2]}'>2</h2>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,808,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,800,0,0]}'><li data-parsoid='{\"dsr\":[349,573,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#2\"},\"sa\":{\"href\":\"#2\"},\"dsr\":[351,421,5,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[356,388,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[389,419,22,7]}'>2</span></a>\n<ul data-parsoid='{\"dsr\":[422,573,0,0]}'><li data-parsoid='{\"dsr\":[422,497,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#6\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#6\"},\"sa\":{\"href\":\"#6\"},\"dsr\":[425,497,5,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[430,464,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[465,495,22,7]}'>6</span></a></li>\n<li data-parsoid='{\"dsr\":[498,573,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#3\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#3\"},\"sa\":{\"href\":\"#3\"},\"dsr\":[501,573,5,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[506,540,24,7]}'>1.2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[541,571,22,7]}'>3</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[574,800,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#1\"},\"sa\":{\"href\":\"#1\"},\"dsr\":[576,646,5,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[581,613,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[614,644,22,7]}'>1</span></a>\n<ul data-parsoid='{\"dsr\":[647,800,0,0]}'><li data-parsoid='{\"dsr\":[647,722,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#5\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#5\"},\"sa\":{\"href\":\"#5\"},\"dsr\":[650,722,5,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[655,689,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[690,720,22,7]}'>5</span></a></li>\n<li data-parsoid='{\"dsr\":[723,800,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#2_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#2_2\"},\"sa\":{\"href\":\"#2_2\"},\"dsr\":[726,800,7,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[733,767,24,7]}'>2.2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[768,798,22,7]}'>2</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"2\" data-parsoid='{\"dsr\":[810,817,2,2,1,1]}'>2</h2>\n\n<h6 id=\"6\" data-parsoid='{\"dsr\":[819,834,6,6,1,1]}'>6</h6>\n\n<h3 id=\"3\" data-parsoid='{\"dsr\":[836,845,3,3,1,1]}'>3</h3>\n\n<h1 id=\"1\" data-parsoid='{\"dsr\":[847,852,1,1,1,1]}'>1</h1>\n\n<h5 id=\"5\" data-parsoid='{\"dsr\":[854,867,5,5,1,1]}'>5</h5>\n\n<h2 id=\"2_2\" data-parsoid='{\"dsr\":[869,876,2,2,1,1]}'>2</h2>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#2|<span class=\"tocnumber\">1</span> <span class=\"toctext\">2</span>]]\n** [[#6|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">6</span>]]\n** [[#3|<span class=\"tocnumber\">1.2</span> <span class=\"toctext\">3</span>]]\n* [[#1|<span class=\"tocnumber\">2</span> <span class=\"toctext\">1</span>]]\n** [[#5|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">5</span>]]\n** [[#2_2|<span class=\"tocnumber\">2.2</span> <span class=\"toctext\">2</span>]]\n\n</div>\n\n== 2 ==\n\n====== 6 ======\n\n=== 3 ===\n\n= 1 =\n\n===== 5 =====\n\n== 2 ==\n" }, "PAGESINCATEGORY invalid title fatal (r33546 fix)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGESINCATEGORY:<bogus>\",\"function\":\"pagesincategory\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_pagesincategory missing in Parsoid.</span></p>", "html2wt": "0\n" }, "Paragraphs inside blockquotes/divs (extra line break on close)": { "html2wt": "<blockquote><div>Line one\nLine two\n\n</div></blockquote>" }, "Paragraphs inside blockquotes/divs (extra line break on open and close)": { "html2wt": "<blockquote><div>\nLine one\n\nLine two\n\n</div></blockquote>" }, "Paragraphs inside blockquotes/divs (no extra line breaks)": { "html2wt": "<blockquote><div>Line one\nLine two</div></blockquote>" }, "Paragraphs inside divs (extra line break on close)": { "html2wt": "<div>Line one\nLine two\n\n</div>" }, "Paragraphs inside divs (extra line break on open and close)": { "html2wt": "<div>\nLine one\n\nLine two\n\n</div>" }, "Paragraphs inside divs (no extra line breaks)": { "html2wt": "<div>Line one\nLine two</div>" }, "Paragraphs with extra newline spacing": { "selser [2,2,1,0,[2,0,2],4,3,4,2,0,4,0,2]": "1p5wgdu\n\na\n\n1uqq7s6\n\nb (+2 nls)\n\nm0j4wq\nnlwdwp\nc (+3 nls)\n\n225o51\n\nkvvcz0\n\n15qp921\n\nd (+4 nls)\n\n13921h6\n\nlw982u\n\n\n\ne (+5 nls)", "selser [3,0,0,2,3,0,4,2,3,0,0,0,1]": "\nb (+2 nls)\n\nh3cghw\n\nvxaa29\n\n1v4qexx\n\n\n\n\n\ne (+5 nls)", "selser [[3],4,2,3,[3,0,0],3,[0,3],0,2,2,2,4,1]": "\n\n1xs9ccj\n\n1muasc3\n\nb (+2 nls)\n\n\n\nc (+3 nls)\n\no9cnyn\n\nd (+4 nls)\n\n12t0g19\n\n137115n\n\n\n\n\n1i8cxso\n\n\ne (+5 nls)", "selser [1,2,2,0,1,2,[0,1],3,2,0,3,0,2]": "a\n\nqbbefq\n\n7k45lz\n\nb (+2 nls)\n\n\nc (+3 nls)\n\n1gjxhrm\n\n\n\nskkv54\n\nd (+4 nls)\n\nzbx540\n\n\n\ne (+5 nls)", "selser [[4],4,[4],4,[0,3,4],4,0,0,[4],4,1,0,[3,0,0]]": "1xi6isp\n\n1p0ixdc\n\nrydgo2\n\n1i46z59\n\n654q2q\n\n1icytnk\n\n\n\n\ng08e2h\n\nzsz1s8\n\n\n\n\ne (+5 nls)", "selser [0,2,1,3,[0,0,3],2,0,0,4,4,4,3,2]": "a\n\nypbs9h\n\nb (+2 nls)\n\n\n\n17acb57\n\n\n\n\n8joa2d\n\nvplse6\n\nxpcb8a\n\nbq3uom\n\n\n\ne (+5 nls)", "selser [1,2,0,2,[0,4,0],0,0,0,[4],3,[3,0],2,[2,0,4]]": "a\n\n1h2md8m\n\nb (+2 nls)\n\n11c0qa4\n\nojrr5t\nc (+3 nls)\n\n\n\n\n8ahaal\n\n\n\n\n\n\n1ymqb8h\n\nkuadnh\n127xp8s", "selser [4,4,3,0,[2,2,0],0,4,4,[4],4,2,2,1]": "4yp5nn\n\n1nlaulh\n\nnz5tdw\n6tela6\nc (+3 nls)\n\na4vab1\n\nvpvfk2\n\n1vg1wi1\n\n16s65vs\n\n1ptiiwx\n\n\n\n\n6phwxb\n\n\ne (+5 nls)", "selser [3,0,4,3,[0,0,4],2,4,3,0,0,1,0,3]": "\n1s3o2oi\n\n\n\n\n1gxx3km\n\n1omx16r\n\n17a0znt\n\nd (+4 nls)\n\n\n", "selser [3,4,3,0,[0,0,3],3,0,3,2,0,3,4,[0,0,2]]": "13xe03t\n\n\n\n\n\n\n3ghcnp\n\nd (+4 nls)\n\n1j6rd6g\n\n\n1ddbx3x\ne (+5 nls)", "selser [[2],0,1,0,2,0,[4,0],3,[3],0,3,3,[3,4,2]]": "ytq2bba\n\nb (+2 nls)\n\nsq90h2\n\n\n\nc (+3 nls)\n\nv77kui\n\n\nbchjcm1k9m205\ne (+5 nls)" }, "Paragraphs with newline spacing with comment lines in between": { "html2wt": "----\na\nb\n\n----\na\nb\n\n----\na\nb\n\n----\na\n\nb\n\n----\na\n\nb\n\n----\na\n\n\nb\n\n----\na\n\n\nb\n\n----", "selser [4,3,3,0,3,2,[0,4,0,0],0,0,0,[3,0,2,0,0,0,0],2,2,0,4,0,4,0,[2],0,2,0,[3],0,0,0,2,0,0,0,0,3,2,0,2,2,3,2,2,2,1,3,0]": "4idmdg\n\nv1u4kj\n\na\n19flyu<!--More than 1 comment, still stripped-->\nb\n----\n<!--foo-->yhh6od <!----> <!-- bar --> \nb\n\n1vzwza1\nksuej1\n----\n533jg6\n\n18693a9\n\n1b1zzq2b\n1j4oogd\n----\na\n\n<!--foo-->\npiqwm7\n\nb\n----\na\n\nsi4rzz<!--foo-->\n\noq15o2\n\n\n\nb\n\n1u7gllo\n\n1l7j2hn\n\n1hp408e\n\na\n\nug0tqu\n\n\n<!--foo-->\nb\n----", "selser [1,2,3,0,0,2,[3,3,0,0],2,0,0,[4,0,4,0,0,4,3],4,0,3,1,3,4,0,[3],0,0,2,2,3,0,0,[2],0,3,0,[3],2,0,0,2,0,0,4,3,0,4,2,0]": "----kur8nv\n\n----1kgil6l\n<!--More than 1 comment, still stripped-->\nb\n\n9nm1fb\n----\n1g5hu4w<!--foo-->xc83vu<!----> 27n7tk\n\ndvmogw\n----a\n\n5w3avv\n\n----1pv6hwb\n3fto9i\n\na<!--foo-->\n\nxmhxk3b\n\n\n1e1n2gp\n<!--foo-->\n\nudauta\n\n\n\nb\n----1ytgmp5\nt5r6mc\n\n1neouug\n----", "selser [0,0,2,0,0,3,0,0,4,0,[4,0,2,0,0,0,3],0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,[2],0,2,0,3,0,0,4,2,3,3,2,0,4,2,0,2]": "----\nugqg84\n\na\n<!--foo-->\nb\n----a\n<!--foo--><!--More than 1 comment, still stripped-->\nb\n8a8i4f\n\n14p3eym<!--foo-->5k6xgo <!----> <!-- bar -->\n----\na\n<!--foo-->\n\nj4kzgd\n\nb\n----\n\n<!--foo-->\niel4beb\n1idp93\n----\n\n<!--foo-->10fyx94\n\nreu5h9\n\n\n\nb\n\n19sgszs\n\na\n\n1ux3wa1\n\n15knlnd\n\n\n\n<!--foo-->\nb\n1nos462\n----", "selser [0,0,[2,2,3],0,3,3,0,0,2,4,[0,0,3,2,2,0,2],2,3,4,1,4,0,0,[3],0,2,4,2,2,4,4,0,0,0,0,2,0,2,2,1,3,1,3,4,2,2,0,0]": "----\n8iqt3ba\n18t9xnl<!--foo-->\n\na\n<!--foo--><!--More than 1 comment, still stripped-->\nb\ng5g4wq\n----19z39mj\n\na\n<!--foo-->1lxz6r6<!---->1avra4v <!-- bar -->1jnnr7 \nb\n\n1y1n5cj\n\n1baofm9\n\na\n\n1vdumlm<!--foo-->\n\n\nze3288\n----z4w7so\n\n1oyvpzk\n\na\n\na8olhi\n\n1r0h0ai\n\n1pj4344\n\nb\n----\nyhdpga\n\na\n\nie2pvd<!--foo-->\n\nljbyvk\n\n\nb\n----1wf7d0l\n\n9aers9\nyfi9gw\n\n\n\n<!--foo-->\nb\n----", "selser [0,0,[3,0,2],0,0,0,[0,0,3,2],3,0,3,3,0,3,3,3,2,3,0,4,0,0,3,0,3,0,2,4,0,0,0,[3],0,3,3,2,3,0,0,[3],0,0,3,0]": "----\n<!--foo-->1cfe1r9\nb\n----\na\n<!--foo-->1kv89hz\nb\n----\nrecajl\n\niz11ly\n----a<!--foo-->tnuwbs\n\n1knfzvl\n----\n\n\n16neghi\n\n\n\nb\n----\n\n\n\n<!--foo-->\nb\n----", "selser [0,3,3,2,4,0,3,2,4,3,[0,3,4,0,0,2,0],4,0,0,1,0,0,2,2,3,0,3,0,0,3,0,4,3,2,2,4,4,4,0,3,2,0,0,4,0,0,0,1]": "----1f66zr4\nn47tnq\n\n5jmuqp\n\n1r4xzcd\n\na\n1hn4lv<!----> 83rtdb<!-- bar --> \nb\n\n1kt0p1m\n----\na\n<!--foo-->\njs6wu\n\n10xch7v\n\nb\n----a\n\n943gpk\n\n1x4bitf\n----s1in1u\n13s4qy4\n\n1lv6da1\n\nlv0j52\n\n14zly32\n----\nhh4p2m\n\n\n\n<!--foo-->\nb\n----" }, "Paragraphs with newline spacing with non-empty mixed comment and white-space lines in between": { "html2wt": "----\na\nb\n\n----\na\nb\n\n----\na\n\nb\n\n----\na\n \n\nb\n\n----", "selser [0,3,[0,4,2],3,1,0,1,0,0,4,2,3,0,2,0,2,0,3,0,3,[3],2,2,0,3]": "----a\nsgci4lkkecrw\nb\n----\na\n <!--foo--><!--More than 1 comment doesn't disable stripping of this line!-->\nb\n----ijh0ts\n\n9a6gc5\n\na<!--foo-->decf0j\n <!--bar-->\na76vx8\nb\n----\n\n\nlj3p7b\nfd5g6h\n\n\n <!--foo-->\n <!--bar-->\n \nb\n", "selser [0,0,2,0,0,3,4,0,0,0,1,3,0,0,3,3,[4],0,2,2,0,2,2,0,0]": "----\nd03a05\n\na\n <!--foo-->\nb\n----1hhttf7\n----\na<!--foo-->\n \n1yoorrh\n1t1utlk\n----xbpuid\na\n\n7i21zg\n \n1q5ki3w\n\n\n <!--foo-->\n <!--bar-->\n \nb\n----" }, "Paragraphs with newline spacing with non-empty white-space lines in between": { "html2wt": "----\na\n\nb\n\n----\na\n \n\nb\n\n----", "selser [0,3,[4],3,0,3,0,3,2,0,2,3,0]": "----2y2wh0\n\nb\n----18j2y5c\n\na\naj5awq\n\n\n \nb\n----", "selser [0,0,1,0,[4],2,0,0,4,0,1,2,2]": "----\na\n \ng4unt5\n\n83ekqt\n----\n1rr1da8\n\n \n \nb\n\nd8t3up\n5smtg8\n----", "selser [2,0,[4],4,1,3,0,4,0,4,0,0,2]": "1l51hcq\n----\n1vm7egp\n\n1hrk1i2\n\nb\n----1olcgo3\n\na\n\nyz8wnq\n\n\n \nb\nj6et0b\n----", "selser [3,2,4,4,0,0,0,4,[4],0,2,3,2]": "kfvmkr\n\nzhj2dm\n\n1d8tvqj\n\nb\n----1pgs76x\n\n1cthmp7\n7y51dc\n\n\n \nb\n\nk284t3\n----", "selser [1,0,0,0,3,3,4,0,[4],0,[0,0,3],2,4]": "----\na\n \n1tcdcfc\n\n110qe1v\n \n \n\n\n\n1vozlr0\n\nuqg61g" }, "Parents of subpages, two levels up": { "selser [[[3],3],2,1]": "\nlhdwhe\n\n[[../../|L1]]l" }, "Parser Function: {{PAGESIZE:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,25,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,25,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGESIZE:{{PAGENAME}}\",\"function\":\"pagesize\"},\"params\":{},\"i\":0}}]}'>100</span></p>" }, "Parser Function: {{REVISIONDAY:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,28,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,28,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONDAY:{{PAGENAME}}\",\"function\":\"revisionday\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionday missing in Parsoid.</span></p>" }, "Parser Function: {{REVISIONID:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID:{{PAGENAME}}\",\"function\":\"revisionid\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionid missing in Parsoid.</span></p>" }, "Parser Function: {{REVISIONID:{{PAGENAME}}}} on non-saved revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID:{{PAGENAME}}\",\"function\":\"revisionid\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionid missing in Parsoid.</span></p>" }, "Parser Function: {{REVISIONMONTH:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,30,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONMONTH:{{PAGENAME}}\",\"function\":\"revisionmonth\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionmonth missing in Parsoid.</span></p>" }, "Parser Function: {{REVISIONTIMESTAMP:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,34,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,34,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONTIMESTAMP:{{PAGENAME}}\",\"function\":\"revisiontimestamp\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisiontimestamp missing in Parsoid.</span></p>" }, "Parser Function: {{REVISIONYEAR:{{PAGENAME}}}} on latest revision": { "wt2html": "<p data-parsoid='{\"dsr\":[0,29,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,29,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONYEAR:{{PAGENAME}}\",\"function\":\"revisionyear\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_revisionyear missing in Parsoid.</span></p>" }, "Parser Functions: 1. Simple example": { "html2wt": "FOO\n" }, "Parser Functions: 2. Nested use (only outermost should be marked up)": { "html2wt": "FOO\n" }, "Parsing an URL": { "html2wt": "http://fr.wikipedia.org/wiki/🍺\n", "selser [[[2]],2,0]": "[[:fr:🍺|1cq91rfhttp://fr.wikipedia.org/wiki/🍺]]\n\nszrdkt\n<!-- EasterEgg we love beer, better be able be able to link to it -->" }, "Parsing of overlapping (improperly nested) inline html tags": { "wt2wt": "<span><s>x</span>", "html2wt": "<span><s>x</s></span>\n", "selser [2]": "1mui2b\n\n<span><s>x</span></s>" }, "Parsing optional HTML elements (T8171)": { "html2wt": "{| \n | Some tabular data\n | More tabular data ...\n | And yet som tabular data \n|}" }, "Parsoid link bracket escaping": { "html2html": "<p data-parsoid='{\"dsr\":[0,8,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[0,8,2,2]}'>Test</a></p>\n\n<p data-parsoid='{\"dsr\":[10,29,0,0]}'>[<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[11,20,9,0]}'></span><a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[20,28,2,2]}'>Test</a>]</p>\n\n<p data-parsoid='{\"dsr\":[31,43,0,0]}'>[[<a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[33,41,2,2]}'>Test</a>]]</p>\n\n<p data-parsoid='{\"dsr\":[45,68,0,0]}'>[[[<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[48,57,9,0]}'></span><a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[57,65,2,2]}'>Test</a>]]]</p>\n\n<p data-parsoid='{\"dsr\":[70,86,0,0]}'>[[[[<a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[74,82,2,2]}'>Test</a>]]]]</p>\n\n<p data-parsoid='{\"dsr\":[88,115,0,0]}'>[[[[[<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[93,102,9,0]}'></span><a rel=\"mw:WikiLink\" href=\"./Test\" title=\"Test\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Test\"},\"sa\":{\"href\":\"Test\"},\"dsr\":[102,110,2,2]}'>Test</a>]]]]]</p>" }, "Parsoid link trail escaping": { "html2html": "<p data-parsoid='{\"dsr\":[0,19,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Apple\" title=\"Apple\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Apple\"},\"sa\":{\"href\":\"apple\"},\"dsr\":[0,9,2,2]}'>apple</a><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[9,18,9,0]}'></span>s</p>" }, "Parsoid should not accept invalid interwiki shortcuts": { "html2wt": "[[news:Foo|Foo]]\n[news:Foo Foo]\n[news:Foo Foo]" }, "Parsoid-centric test: Whitespace in ext- and wiki-links should be preserved": { "wt2wt": "[[Foo| bar]]\n\n[[Foo| ''bar'']]\n\n[http://wp.org foo]\n\n[http://wp.org ''foo'']", "html2wt": "[[Foo| bar]]\n\n[[Foo| ''bar'']]\n\n[http://wp.org foo]\n\n[http://wp.org ''foo'']\n", "selser [3,2,[[4,2]],3,4,3,2]": "2i1snz\n\n[[Foo|16tbpzj148o92k''bar'']]\n\n223sno\n\n19y3bzn\n\n[http://wp.org ''foo'']", "selser [0,3,1,0,1,0,1]": "[[Foo| bar]]\n\n[[Foo| ''bar'']]\n\n[http://wp.org foo]\n\n[http://wp.org ''foo'']", "selser [[[3]],4,3,4,[2],3,3]": "\n1t8ns1i\n\n1o1te3p\n\n1uxkvgv[http://wp.org foo]", "selser [[[2]],0,[[2,3]],3,4,4,0]": "[[Foo|vx7uar bar]]\n\n[[Foo|1s87bt2]]\n\n1bax44\n\n17mezoo\n\n[http://wp.org ''foo'']", "selser [[[3]],4,2,2,2,4,0]": "\n1bb3nq0\n\nn4ns6p\n\n[[Foo| ''bar'']]\n\n6g4kky\n\nuse10m\n\n[http://wp.org foo]\n\n18yuaf7\n\n[http://wp.org ''foo'']", "selser [2,0,[[0,3]],0,4,0,3]": "bynb0\n\n[[Foo| bar]]\n\n1s1uvua\n", "selser [2,4,[2],4,2,0,4]": "1g99wzg\n\n[[Foo| bar]]\n\ngubtp7\n\n1vs4tsb[[Foo| ''bar'']]\n\n70ua8g\n\n1tsq6qe\n\n[http://wp.org foo]\n\nccfjxu", "selser [3,0,1,3,0,0,[[[2]]]]": "\n[[Foo| ''bar'']]\n\n[http://wp.org foo]\n\n[http://wp.org ''paswhgfoo'']", "selser [2,4,2,0,[2],2,4]": "of8xbl\n\n[[Foo| bar]]\n\n18noozq\n\n139rkhq\n\n[[Foo| ''bar'']]\n\n16kx4cb[http://wp.org foo]\n\np6eisn\n\n1cgowhb", "selser [3,4,2,2,2,0,4]": "ex036k\n\n38b961\n\n[[Foo| ''bar'']]\n\n116wf43\n\nrpnam1\n\n[http://wp.org foo]\n\n9bk7he", "selser [0,2,1,3,[[4]],3,0]": "[[Foo| bar]]\n\n17tedga\n\n[[Foo| ''bar'']]\n\n[http://wp.org 1r1ldpn]\n\n[http://wp.org ''foo'']", "selser [3,4,4,2,2,4,0]": "qu9hey\n\nmxpnzr\n\nkk5on7\n\n15tt3s3\n\n[http://wp.org foo]\n\n19vr3au\n\n[http://wp.org ''foo'']" }, "Parsoid-specific test: Wikilinks with should RT properly": { "html2html": "<p data-parsoid='{\"dsr\":[0,53,0,0]}'>[/index.php?title=WW_II&action=edit&redlink=1 WW II]</p>\n", "html2wt": "[/index.php?title=WW_II&action=edit&redlink=1 WW II]\n" }, "Parsoid: Defaultsort variations (T236846)": { "selser [2,0,3,0,0]": "fz1m6v\n\n{{DEFAULTSORT}}\n\n\n{{DEFAULTSORT:DOGGIE}}" }, "Parsoid: Make sure nested lists are serialized on their own line even if HTML contains no newlines": { "html2wt": "# foo\n## bar\n\n* foo\n** bar\n\n: foo\n:: bar\n" }, "Parsoid: Round-trip tables directly followed by content (T53219)": { "selser [2,2,3,[0,1],0]": "10h0oj6\n{|\n|foo\n|}\no8dbkm\n\n bar\n{|\n|baz\n|}<b>quux</b>", "selser [4,2,4,[4,[[2],0]],4]": "1bdlqm0\n\n1gek6ph\n\n bar\n\n1ejx8cn\n{|<!--cqele4-->\n|kx2gm6\n|baz\n|}\n1jm9odp" }, "Parsoid: Row-syntax table headings followed by comment & table cells": { "wt2wt": "{|\n!foo||bar\n<!-- foo -->||baz||quux\n|}", "selser [1]": "{| data-foobar=\"8sbos2\"\n!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [[3,2]]": "{|<!--7ufvg4-->\n!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [[0,1]]": "{|\n!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [[0,[1,0]]]": "{|\n!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [2]": "1nug4m3\n{|\n!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [[0,2]]": "{|\n<!--qj5cah-->!foo||bar\n<!-- foo --> ||baz||quux\n|}", "selser [[3,1]]": "{|\n!foo||bar\n<!-- foo --> ||baz||quux\n|}" }, "Parsoid: recognize interwiki links without a target page": { "selser [2,2,1]": "y5402j\n\n[[:es:]]\n\nb54ct7\n\n[[ko:]]", "selser [[2],2,1]": "13dr04g[[:es:]]\n\ni9nxnb\n\n[[ko:]]", "selser [1,4,1]": "[[:es:]]\n\n1v5n13f\n\n[[ko:]]" }, "Parsoid: unknown parser function (T314524)": { "selser [0,0,[3],0,2,0,3]": "{{#tag:b|This is a known parser function}}\nNow show the unknown parser functions for comparison.\n\nto6td\n\n{{#foo}}\n" }, "Piped link to namespace": { "html2html": "<p data-parsoid='{\"dsr\":[0,73,0,0]}'>[/index.php?title=Meta:Disclaimers&action=edit&redlink=1 The disclaimers]</p>\n", "html2wt": "[/index.php?title=Meta:Disclaimers&action=edit&redlink=1 The disclaimers]\n" }, "Piped link with comment in link text": { "html2wt": "[[Main Page|The Main Page]]\n" }, "Play a bit with r67090 and T5158": { "selser [0,2,1,3,0,0,1]": "<div style=\"width:50% !important\"> </div>yyzg2g\n<div style=\"width:50% !important\" data-foobar=\"338jos\"> </div>\n<div style=\"width:50% !important\"> </div>\n<div style=\"border : solid;\" data-foobar=\"1sol4wa\"> </div>" }, "Quote balancing context should be restricted to td/th cells on the same wikitext line": { "wt2wt": "{|\n!''a''!!''b''\n|''a''||''b''\n|}", "selser [1]": "{| data-foobar=\"yen5m2\"\n!''a!!''b\n|''a||''b\n|}", "selser [2]": "q2n44z\n{|\n!''a!!''b\n|''a||''b\n|}", "selser [[0,[2,0]]]": "{|\n<!--ace8th-->!''a!!''b\n|''a||''b\n|}", "selser [[0,[[3,[2],3,[2],1],3]]]": "{|\n!nuy6u8''b\n|ykcg1o''a|| data-foobar=\"zcw9jx\" |''b\n|}", "selser [[4,[[[3],1,0,[[2]],0],0]]]": "{|<!--1lklyic-->\n! !! data-foobar=\"1jleimz\" |''b\n|''1rjer2a''||''b\n|}", "selser [[0,[[1,0,0,4,1],0]]]": "{|\n! data-foobar=\"v7nyy1\" |''a!!''b\n!1b17k5o\n| data-foobar=\"75hlhq\" |''b''\n|}", "selser [[4,[[[3],4,0,0,[3]],3]]]": "{|<!--ci9nun-->\n!\n!zfilpo\n|''a||\n|}", "selser [[4,1]]": "{|<!--110f59d-->\n!''a!!''b\n|''a||''b\n|}", "selser [[0,1]]": "{|\n!''a!!''b\n|''a||''b\n|}" }, "RAW magic word": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Template:RAW:QUERTY\" title=\"Template:RAW:QUERTY\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Template:RAW:QUERTY\"},\"sa\":{\"href\":\"Template:RAW:QUERTY\"},\"dsr\":[0,14,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"RAW:QUERTY\",\"href\":\"./Template:RAW:QUERTY\"},\"params\":{},\"i\":0}}]}'>Template:RAW:QUERTY</a></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,72,0,0]}'>[/index.php?title=Template:QUERTY&action=edit&redlink=1 Template:QUERTY]</p>\n", "html2wt": "[/index.php?title=Template:QUERTY&action=edit&redlink=1 Template:QUERTY]\n" }, "Redirect followed by multiple newlines": { "selser [0,2,0]": "#REDIRECT [[Main Page]]\n1kgt7nw\n\n\n\nA newline" }, "Regression with preformatted in <center>": { "html2wt": "<center>\n Blah\n\n</center>" }, "Remove a list item but do not insert newline above list": { "selser [manual]": "header\n*foo\n\nfooter" }, "Render invalid page names as plain text (T53090)": { "wt2wt": "[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n<nowiki>[[foo~~~bar]]</nowiki>\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n[[{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}|bar]]\n[[{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}]]\n[[{{1x|foo>bar}}]]\n[[{{1x|foo././bar}}]]\n[[{{1x|foo{bar}}]]\n[[{{1x|foo}bar}}]]\n[[{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}]]", "html2html": "<p data-parsoid='{\"dsr\":[0,174,0,0]}'>[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[61,91,8,9]}'>[[foo~~~bar]]</span>\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo<a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external autonumber\" data-parsoid='{\"dsr\":[149,169,19,1]}'></a>xyz]]</p>\n\n<p data-parsoid='{\"dsr\":[176,400,0,0]}'>[[<span about=\"#mwt9\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[178,193,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"./../foo\"}},\"i\":0}}]}'>./../foo</span>|bar]]\n[[<span about=\"#mwt14\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[202,214,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo/.\"}},\"i\":0}}]}'>foo/.</span>|bar]]\n[[<span about=\"#mwt19\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[223,236,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo/..\"}},\"i\":0}}]}'>foo/..</span>|bar]]\n[[<span about=\"#mwt24\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[245,262,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo~~~~bar\"}},\"i\":0}}]}'>foo~~~~bar</span>]]\n[[<span about=\"#mwt29\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[267,281,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo>bar\"}},\"i\":0}}]}'>foo>bar</span>]]\n[[<span about=\"#mwt34\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[286,303,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo././bar\"}},\"i\":0}}]}'>foo././bar</span>]]\n[[<span about=\"#mwt39\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[308,322,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo{bar\"}},\"i\":0}}]}'>foo{bar</span>]]\n[[<span about=\"#mwt44\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[327,341,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo}bar\"}},\"i\":0}}]}'>foo}bar</span>]]\n[[<span about=\"#mwt49\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[346,360,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo[bar\"}},\"i\":0}}]}'>foo[bar</span>]]\n[[<span about=\"#mwt54\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[365,379,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo]bar\"}},\"i\":0}}]}'>foo]bar</span>]]\n[[<span about=\"#mwt59\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[384,398,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo<bar\"}},\"i\":0}}]}'>foo<bar</span>]]</p>", "html2wt": "[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n<nowiki>[[foo~~~bar]]</nowiki>\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n[[{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}|bar]]\n[[{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}]]\n[[{{1x|foo>bar}}]]\n[[{{1x|foo././bar}}]]\n[[{{1x|foo{bar}}]]\n[[{{1x|foo}bar}}]]\n[[{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}]]", "selser [2,4,[4,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,4,0,0,0,0,0,4]]": "qotbd7\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n124i42d\n\n1kvpep{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}|bar]]\n[[{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}]]\n[[{{1x|foo>bar}}{{1x|foo././bar}}]]\n[[{{1x|foo{bar}}ray2sa]]\n[[{{1x|foo}bar}}6gtjnj{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}1baix6o", "selser [0,0,[4,0,0,0,2,0,0,0,3,0,0,0,0,0,4,0,0,0,0,0,0,0,2]]": "[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n1cpfkcv{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}yrz3yc|bar]]\n[[{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}{{1x|foo>bar}}]]\n[[{{1x|foo././bar}}]]\n[[{{1x|foo{bar}}1vcbz01{{1x|foo}bar}}]]\n[[{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}tpybk4]]", "selser [2,2,4]": "1cqndhq\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n1m64qc8\n\n1w5jbhp", "selser [2,0,4]": "1miybq4\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n1v0vumv", "selser [0,3,[3,0,0,0,3,0,3,0,0,0,4,0,4,0,4,0,3,0,3,0,0,0,0]]": "[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}{{1x|foo/..}}{{1x|foo~~~~bar}}]]\n[[{{1x|foo>bar}}1369k38{{1x|foo././bar}}1s2pdje{{1x|foo{bar}}kc7br8{{1x|foo}bar}}{{1x|foo[bar}}{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}]]", "selser [2,2,2]": "1p7ag6r\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\nzgbtfl\n\n1s6qnfr\n\n[[{{1x|./../foo}}|bar]]\n[[{{1x|foo/.}}|bar]]\n[[{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}]]\n[[{{1x|foo>bar}}]]\n[[{{1x|foo././bar}}]]\n[[{{1x|foo{bar}}]]\n[[{{1x|foo}bar}}]]\n[[{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}]]", "selser [2,0,[0,0,4,0,4,0,0,0,4,0,2,0,2,0,0,0,2,0,0,0,0,0,0]]": "1ys83ti\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n[[foo[http://example.com]xyz]]\n\n[[{{1x|./../foo}}3vtcxh{{1x|foo/.}}17795w{{1x|foo/..}}|bar]]\n[[{{1x|foo~~~~bar}}nbklz1{{1x|foo>bar}}1jbv0hg]]\n[[{{1x|foo././bar}}zoqgl4]]\n[[{{1x|foo{bar}}]]\n[[{{1x|foo}bar}}nhq2qs]]\n[[{{1x|foo[bar}}]]\n[[{{1x|foo]bar}}]]\n[[{{1x|foo<bar}}]]" }, "Render paragraphs when indent-pre is suppressed in blocklevels": { "html2wt": "<blockquote>\n foo\n\n bar\n\n</blockquote>" }, "Replacing whitespace with tabs still doesn't break the list (gerrit 78327)": { "html2wt": "* a\n* b\n* c\n* d" }, "Resolving duplicate section names": { "html2wt": "== Foo bar ==\n\n== Foo bar ==\n" }, "Resolving duplicate section names with differing case (T12721)": { "html2wt": "== Foo bar ==\n\n== Foo Bar ==\n" }, "Ruby markup (W3C-style)": { "html2wt": "; Mono-ruby for individual base characters\n: <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>\n; Group ruby\n: <ruby>今日<rt>きょう</rt></ruby>\n; Jukugo ruby\n: <ruby>法<rb>華</rb><rb>経</rb><rt>ほ</rt><rt>け</rt><rt>きょう</rt></ruby>\n; Inline ruby\n: <ruby>東<rb>京</rb><rp>(</rp><rt>とう</rt><rt>きょう</rt><rp>)</rp></ruby>\n; Double-sided ruby\n: <ruby><rb>旧</rb><rb>金</rb><rb>山</rb><rt>jiù</rt><rt>jīn</rt><rt>shān</rt><rtc>San Francisco</rtc></ruby>\n\n<ruby>\n<rb>♥</rb><rtc><rt>Heart</rt></rtc><rtc lang=\"fr\"><rt>Cœur</rt></rtc>\n<rb>☘</rb><rtc><rt>Shamrock</rt></rtc><rtc lang=\"fr\"><rt>Trèfle</rt></rtc>\n<rb>✶</rb><rtc><rt>Star</rt></rtc><rtc lang=\"fr\"><rt>Étoile</rt></rtc>\n</ruby>\n" }, "Sanitizer: Validating that <meta> and <link> work, but only for Microdata": { "wt2html": "<div itemscope=\"\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,308,15,6]}'>\n\t<p data-parsoid='{\"dsr\":[17,301,0,0]}'><meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></p>\n</div>", "wt2wt": "<div itemscope=\"\">\n\t<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n</div>", "html2html": "<div itemscope=\"\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,244,18,6]}'>\n\t<p data-parsoid='{\"dsr\":[20,236,0,0]}'><meta itemprop=\"hello\" content=\"world\" />\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" content=\"5\" />\n\t<a rel=\"mw:ExtLink\" href=\"http://example.org\" class=\"external autonumber\" data-parsoid='{\"dsr\":[143,163,19,1]}'></a>\n\t<link rel=\"stylesheet\" href=\"http://example.org\">\n\t<a rel=\"mw:ExtLink\" href=\"http://example.org\" class=\"external autonumber\" data-parsoid='{\"dsr\":[216,236,19,1]}'></a></p>\n\n</div>", "html2wt": "<div itemscope=\"\">\n\t<meta itemprop=\"hello\" content=\"world\" />\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" content=\"5\" />\n\t[http://example.org]\n\t<link rel=\"stylesheet\" href=\"http://example.org\">\n\t[http://example.org]\n\n</div>", "selser [[0,1,4]]": "<div itemscope>\n\t<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\n1uvppgm</div>", "selser [[2,0,2]]": "<div itemscope>9oayah\n\t<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n\n18xd70d\n</div>", "selser [2]": "gokl50<div itemscope>\n\t<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n</div>", "selser [[0,[2],2]]": "<div itemscope>\n\t1uu4540<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\n1rud2ro\n</div>", "selser [[4,1,0]]": "<div itemscope>ayn37o\n<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n</div>", "selser [[4,[3],0]]": "<div itemscope>jjbnc0\n</div>", "selser [[0,0,4]]": "<div itemscope>\n\t<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n\n51og3w</div>", "selser [[0,[4],3]]": "<div itemscope>\n\t1rj6y53\n</div>", "selser [[0,3,4]]": "<div itemscope>\n\t1dsojdk</div>", "selser [[2,1,0]]": "<div itemscope>obr3o0\n\t<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n</div>", "selser [[0,1,0]]": "<div itemscope>\n\t<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n</div>", "selser [[0,[2],0]]": "<div itemscope>\n\t7gwr4j<nowiki><meta itemprop=\"hello\" content=\"world\"></nowiki>\n\t<nowiki><meta http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\"></nowiki>\n\t<nowiki><link itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" href=\"{{SERVER}}\"></nowiki>\n\t<nowiki><link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\"></nowiki>\n</div>", "selser [[3,2,0]]": "<div itemscope>1mh1xk5\n<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n</div>", "selser [1]": "<div itemscope=\"\" data-foobar=\"itggi0\">\n\t<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n</div>", "selser [[2,2,0]]": "<div itemscope>59jrda\n\t131zru6\n<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n</div>", "selser [[2,4,0]]": "<div itemscope>1k21p46\n\t10tbl0m\n</div>", "selser [[3,0,4]]": "<div itemscope>\n<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n14z0d3m</div>", "selser [[0,2,0]]": "<div itemscope>\n\tcfkjjt\n<meta itemprop=\"hello\" content=\"world\">\n\t<meta http-equiv=\"refresh\" content=\"5\">\n\t<meta itemprop=\"hello\" http-equiv=\"refresh\" content=\"5\">\n\t<link itemprop=\"hello\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" href=\"{{SERVER}}\">\n\t<link rel=\"stylesheet\" itemprop=\"hello\" href=\"{{SERVER}}\">\n</div>" }, "Say the magic word": { "wt2html": "<ul data-parsoid='{\"dsr\":[0,522,0,0]}'><li data-parsoid='{\"dsr\":[0,13,1,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[1,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAME\",\"function\":\"pagename\"},\"params\":{},\"i\":0}}]}'>Parser test</span></li>\n<li data-parsoid='{\"dsr\":[14,28,1,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[15,28,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span></li>\n<li data-parsoid='{\"dsr\":[29,46,1,0]}'><span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[30,46,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAME\",\"function\":\"fullpagename\"},\"params\":{},\"i\":0}}]}'>Parser test</span></li>\n<li data-parsoid='{\"dsr\":[47,65,1,0]}'><span about=\"#mwt4\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[48,65,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAMEE\",\"function\":\"fullpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser test</span></li>\n<li data-parsoid='{\"dsr\":[66,83,1,0]}'><span about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[67,83,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"function\":\"basepagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_basepagename missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[84,102,1,0]}'><span about=\"#mwt6\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[85,102,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"function\":\"basepagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_basepagenamee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[103,119,1,0]}'><span about=\"#mwt7\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[104,119,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"function\":\"subpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subpagename missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[120,137,1,0]}'><span about=\"#mwt8\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[121,137,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"function\":\"subpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subpagenamee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[138,155,1,0]}'><span about=\"#mwt9\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[139,155,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"function\":\"rootpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_rootpagename missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[156,174,1,0]}'><span about=\"#mwt10\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[157,174,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"function\":\"rootpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_rootpagenamee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[175,192,1,0]}'><span about=\"#mwt11\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[176,192,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAME\",\"function\":\"talkpagename\"},\"params\":{},\"i\":0}}]}'>Parser test</span></li>\n<li data-parsoid='{\"dsr\":[193,211,1,0]}'><span about=\"#mwt12\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[194,211,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"function\":\"talkpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_talkpagenamee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[212,232,1,0]}'><span about=\"#mwt13\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[213,232,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"function\":\"subjectpagename\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectpagename missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[233,254,1,0]}'><span about=\"#mwt14\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[234,254,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"function\":\"subjectpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectpagenamee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[255,270,1,0]}'><span about=\"#mwt15\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[256,270,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACEE\",\"function\":\"namespacee\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li data-parsoid='{\"dsr\":[271,285,1,0]}'><span about=\"#mwt16\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[272,285,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACE\",\"function\":\"namespace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li data-parsoid='{\"dsr\":[286,306,1,0]}'><span about=\"#mwt17\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[287,306,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACENUMBER\",\"function\":\"namespacenumber\"},\"params\":{},\"i\":0}}]}'>0</span></li>\n<li data-parsoid='{\"dsr\":[307,321,1,0]}'><span about=\"#mwt18\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[308,321,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</span></li>\n<li data-parsoid='{\"dsr\":[322,337,1,0]}'><span about=\"#mwt19\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[323,337,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"function\":\"talkspacee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_talkspacee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[338,355,1,0]}'><span about=\"#mwt20\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[339,355,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li data-parsoid='{\"dsr\":[356,374,1,0]}'><span about=\"#mwt21\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[357,374,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"function\":\"subjectspacee\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_subjectspacee missing in Parsoid.</span></li>\n<li data-parsoid='{\"dsr\":[375,522,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Template:Dynamic\" title=\"Template:Dynamic\" about=\"#mwt22\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Template:Dynamic\"},\"sa\":{\"href\":\"Template:Dynamic\"},\"dsr\":[376,522,null,null],\"pi\":[[{\"k\":\"1\"},{\"k\":\"2\"},{\"k\":\"3\"},{\"k\":\"4\"},{\"k\":\"5\"},{\"k\":\"6\"},{\"k\":\"7\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Dynamic\",\"href\":\"./Template:Dynamic\"},\"params\":{\"1\":{\"wt\":\"{{NUMBEROFUSERS}}\"},\"2\":{\"wt\":\"{{NUMBEROFPAGES}}\"},\"3\":{\"wt\":\"{{CURRENTVERSION}}\"},\"4\":{\"wt\":\"{{CONTENTLANGUAGE}}\"},\"5\":{\"wt\":\"{{DIRECTIONMARK}}\"},\"6\":{\"wt\":\"{{CURRENTTIMESTAMP}}\"},\"7\":{\"wt\":\"{{NUMBEROFARTICLES}}\"}},\"i\":0}}]}'>Template:Dynamic</a></li></ul>", "html2html": "<ul data-parsoid='{\"dsr\":[0,308,0,0]}'><li data-parsoid='{\"dsr\":[0,13,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[14,27,1,0,1,0]}'>Parser_test</li>\n<li data-parsoid='{\"dsr\":[28,41,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[42,55,1,0,1,0]}'>Parser_test</li>\n<li data-parsoid='{\"dsr\":[56,69,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[70,83,1,0,1,0]}'>Parser_test</li>\n<li data-parsoid='{\"dsr\":[84,97,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[98,111,1,0,1,0]}'>Parser_test</li>\n<li data-parsoid='{\"dsr\":[112,125,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[126,139,1,0,1,0]}'>Parser_test</li>\n<li data-parsoid='{\"dsr\":[140,158,1,0,1,0]}'>Talk:Parser test</li>\n<li data-parsoid='{\"dsr\":[159,177,1,0,1,0]}'>Talk:Parser_test</li>\n<li data-parsoid='{\"dsr\":[178,191,1,0,1,0]}'>Parser test</li>\n<li data-parsoid='{\"dsr\":[192,205,1,0,1,0]}'>Parser_test</li>\n<li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[206,207,1,0]}'></li>\n<li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[208,209,1,0]}'></li>\n<li data-parsoid='{\"dsr\":[210,213,1,0,1,0]}'>0</li>\n<li data-parsoid='{\"dsr\":[214,220,1,0,1,0]}'>Talk</li>\n<li data-parsoid='{\"dsr\":[221,227,1,0,1,0]}'>Talk</li>\n<li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[228,229,1,0]}'></li>\n<li class=\"mw-empty-elt\" data-parsoid='{\"dsr\":[230,231,1,0]}'></li>\n<li data-parsoid='{\"dsr\":[232,308,1,0,1,0]}'>[/index.php?title=Template:Dynamic&action=edit&redlink=1 Template:Dynamic]</li></ul>", "html2wt": "* Parser test\n* Parser_test\n* Parser test\n* Parser_test\n* Parser test\n* Parser_test\n* Parser test\n* Parser_test\n* Parser test\n* Parser_test\n* Talk:Parser test\n* Talk:Parser_test\n* Parser test\n* Parser_test\n*\n*\n* 0\n* Talk\n* Talk\n*\n*\n* [/index.php?title=Template:Dynamic&action=edit&redlink=1 Template:Dynamic]" }, "Section headings with TOC": { "wt2html": "<h2 id=\"Headline_1\" data-parsoid='{\"dsr\":[0,14,2,2]}'>Headline 1</h2>\n<h3 id=\"Subheadline_1\" data-parsoid='{\"dsr\":[15,34,3,3]}'>Subheadline 1</h3>\n<h5 id=\"Skipping_a_level\" data-parsoid='{\"dsr\":[35,61,5,5]}'>Skipping a level</h5>\n<h6 id=\"Skipping_a_level_2\" data-parsoid='{\"dsr\":[62,90,6,6]}'>Skipping a level</h6>\n\n<h2 id=\"Headline_2\" data-parsoid='{\"dsr\":[92,106,2,2]}'>Headline 2</h2>\n<p data-parsoid='{\"dsr\":[107,116,0,0]}'>Some text</p>\n<h3 id=\"Another_headline\" data-parsoid='{\"dsr\":[117,139,3,3]}'>Another headline</h3>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,967,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,959,0,0]}'><li data-parsoid='{\"dsr\":[349,762,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_1\"},\"sa\":{\"href\":\"#Headline_1\"},\"dsr\":[351,439,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[365,397,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[398,437,22,7]}'>Headline 1</span></a>\n<ul data-parsoid='{\"dsr\":[440,762,0,0]}'><li data-parsoid='{\"dsr\":[440,762,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Subheadline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Subheadline_1\"},\"sa\":{\"href\":\"#Subheadline_1\"},\"dsr\":[443,539,17,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[460,494,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[495,537,22,7]}'>Subheadline 1</span></a>\n<ul data-parsoid='{\"dsr\":[540,762,0,0]}'><li data-parsoid='{\"dsr\":[540,762,3,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Skipping_a_level\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Skipping_a_level\"},\"sa\":{\"href\":\"#Skipping_a_level\"},\"dsr\":[544,648,20,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[564,600,24,7]}'>1.1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[601,646,22,7]}'>Skipping a level</span></a>\n<ul data-parsoid='{\"dsr\":[649,762,0,0]}'><li data-parsoid='{\"dsr\":[649,762,4,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Skipping_a_level_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Skipping_a_level_2\"},\"sa\":{\"href\":\"#Skipping_a_level_2\"},\"dsr\":[654,762,22,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[676,714,24,7]}'>1.1.1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[715,760,22,7]}'>Skipping a level</span></a></li></ul></li></ul></li></ul></li>\n<li data-parsoid='{\"dsr\":[763,959,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_2\"},\"sa\":{\"href\":\"#Headline_2\"},\"dsr\":[765,853,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[779,811,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[812,851,22,7]}'>Headline 2</span></a>\n<ul data-parsoid='{\"dsr\":[854,959,0,0]}'><li data-parsoid='{\"dsr\":[854,959,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Another_headline\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Another_headline\"},\"sa\":{\"href\":\"#Another_headline\"},\"dsr\":[857,959,20,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[877,911,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[912,957,22,7]}'>Another headline</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"Headline_1\" data-parsoid='{\"dsr\":[969,985,2,2,1,1]}'>Headline 1</h2>\n\n<h3 id=\"Subheadline_1\" data-parsoid='{\"dsr\":[987,1008,3,3,1,1]}'>Subheadline 1</h3>\n\n<h5 id=\"Skipping_a_level\" data-parsoid='{\"dsr\":[1010,1038,5,5,1,1]}'>Skipping a level</h5>\n\n<h6 id=\"Skipping_a_level_2\" data-parsoid='{\"dsr\":[1040,1070,6,6,1,1]}'>Skipping a level</h6>\n\n<h2 id=\"Headline_2\" data-parsoid='{\"dsr\":[1072,1088,2,2,1,1]}'>Headline 2</h2>\n<p data-parsoid='{\"dsr\":[1089,1098,0,0]}'>Some text</p>\n\n<h3 id=\"Another_headline\" data-parsoid='{\"dsr\":[1100,1124,3,3,1,1]}'>Another headline</h3>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#Headline_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">Headline 1</span>]]\n** [[#Subheadline_1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">Subheadline 1</span>]]\n*** [[#Skipping_a_level|<span class=\"tocnumber\">1.1.1</span> <span class=\"toctext\">Skipping a level</span>]]\n**** [[#Skipping_a_level_2|<span class=\"tocnumber\">1.1.1.1</span> <span class=\"toctext\">Skipping a level</span>]]\n* [[#Headline_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">Headline 2</span>]]\n** [[#Another_headline|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">Another headline</span>]]\n\n</div>\n\n== Headline 1 ==\n\n=== Subheadline 1 ===\n\n===== Skipping a level =====\n\n====== Skipping a level ======\n\n== Headline 2 ==\nSome text\n\n=== Another headline ===\n" }, "Section headings with TOC and language conversion (T295187)": { "wt2html": "<h2 id=\"Headline_1\" data-parsoid='{\"dsr\":[0,14,2,2]}'>Headline 1</h2>\n<h3 id=\"Subheadline_1\" data-parsoid='{\"dsr\":[15,34,3,3]}'>Subheadline 1</h3>\n<h2 id=\"Headline_2\" data-parsoid='{\"dsr\":[35,49,2,2]}'>Headline 2</h2>\n<p data-parsoid='{\"dsr\":[50,59,0,0]}'>Some text</p>\n<h3 id=\"Another_headline\" data-parsoid='{\"dsr\":[60,82,3,3]}'>Another headline</h3>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,757,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,349,42,6]}'>\n<h2 id=\"Ontentscay\" data-parsoid='{\"dsr\":[229,245,2,2,1,1]}'>Ontentscay</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[246,343,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[351,749,0,0]}'><li data-parsoid='{\"dsr\":[351,545,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_1\"},\"sa\":{\"href\":\"#Headline_1\"},\"dsr\":[353,443,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[367,399,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[400,441,22,7]}'>Eadlinehay 1</span></a>\n<ul data-parsoid='{\"dsr\":[444,545,0,0]}'><li data-parsoid='{\"dsr\":[444,545,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Subheadline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Subheadline_1\"},\"sa\":{\"href\":\"#Subheadline_1\"},\"dsr\":[447,545,17,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[464,498,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[499,543,22,7]}'>Ubheadlinesay 1</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[546,749,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_2\"},\"sa\":{\"href\":\"#Headline_2\"},\"dsr\":[548,638,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[562,594,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[595,636,22,7]}'>Eadlinehay 2</span></a>\n<ul data-parsoid='{\"dsr\":[639,749,0,0]}'><li data-parsoid='{\"dsr\":[639,749,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Another_headline\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Another_headline\"},\"sa\":{\"href\":\"#Another_headline\"},\"dsr\":[642,749,20,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[662,696,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[697,747,22,7]}'>Anotherway eadlinehay</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"Eadlinehay_1\" data-parsoid='{\"dsr\":[759,777,2,2,1,1]}'>Eadlinehay 1</h2>\n\n<h3 id=\"Ubheadlinesay_1\" data-parsoid='{\"dsr\":[779,802,3,3,1,1]}'>Ubheadlinesay 1</h3>\n\n<h2 id=\"Eadlinehay_2\" data-parsoid='{\"dsr\":[804,822,2,2,1,1]}'>Eadlinehay 2</h2>\n<p data-parsoid='{\"dsr\":[823,836,0,0]}'>Omesay exttay</p>\n\n<h3 id=\"Anotherway_eadlinehay\" data-parsoid='{\"dsr\":[838,867,3,3,1,1]}'>Anotherway eadlinehay</h3>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Ontentscay ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#Headline_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">Eadlinehay 1</span>]]\n** [[#Subheadline_1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">Ubheadlinesay 1</span>]]\n* [[#Headline_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">Eadlinehay 2</span>]]\n** [[#Another_headline|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">Anotherway eadlinehay</span>]]\n\n</div>\n\n== Eadlinehay 1 ==\n\n=== Ubheadlinesay 1 ===\n\n== Eadlinehay 2 ==\nOmesay exttay\n\n=== Anotherway eadlinehay ===\n" }, "Section headings with TOC and language conversion disabled (T295187)": { "wt2html": "<h2 id=\"Headline_1\" data-parsoid='{\"dsr\":[0,14,2,2]}'>Headline 1</h2>\n<h3 id=\"Subheadline_1\" data-parsoid='{\"dsr\":[15,34,3,3]}'>Subheadline 1</h3>\n<h2 id=\"Headline_2\" data-parsoid='{\"dsr\":[35,49,2,2]}'>Headline 2</h2>\n<p data-parsoid='{\"dsr\":[50,59,0,0]}'>Some text</p>\n<h3 id=\"Another_headline\" data-parsoid='{\"dsr\":[60,82,3,3]}'>Another headline</h3>\n<meta property=\"mw:PageProp/nocontentconvert\" data-parsoid='{\"src\":\"__NOCONTENTCONVERT__\",\"magicSrc\":\"__NOCONTENTCONVERT__\",\"dsr\":[83,103,null,null]}'/>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,744,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,736,0,0]}'><li data-parsoid='{\"dsr\":[349,539,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_1\"},\"sa\":{\"href\":\"#Headline_1\"},\"dsr\":[351,439,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[365,397,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[398,437,22,7]}'>Headline 1</span></a>\n<ul data-parsoid='{\"dsr\":[440,539,0,0]}'><li data-parsoid='{\"dsr\":[440,539,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Subheadline_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Subheadline_1\"},\"sa\":{\"href\":\"#Subheadline_1\"},\"dsr\":[443,539,17,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[460,494,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[495,537,22,7]}'>Subheadline 1</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[540,736,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Headline_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Headline_2\"},\"sa\":{\"href\":\"#Headline_2\"},\"dsr\":[542,630,14,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[556,588,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[589,628,22,7]}'>Headline 2</span></a>\n<ul data-parsoid='{\"dsr\":[631,736,0,0]}'><li data-parsoid='{\"dsr\":[631,736,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Another_headline\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Another_headline\"},\"sa\":{\"href\":\"#Another_headline\"},\"dsr\":[634,736,20,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[654,688,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[689,734,22,7]}'>Another headline</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"Headline_1\" data-parsoid='{\"dsr\":[746,762,2,2,1,1]}'>Headline 1</h2>\n\n<h3 id=\"Subheadline_1\" data-parsoid='{\"dsr\":[764,785,3,3,1,1]}'>Subheadline 1</h3>\n\n<h2 id=\"Headline_2\" data-parsoid='{\"dsr\":[787,803,2,2,1,1]}'>Headline 2</h2>\n<p data-parsoid='{\"dsr\":[804,813,0,0]}'>Some text</p>\n\n<h3 id=\"Another_headline\" data-parsoid='{\"dsr\":[815,839,3,3,1,1]}'>Another headline</h3>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#Headline_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">Headline 1</span>]]\n** [[#Subheadline_1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">Subheadline 1</span>]]\n* [[#Headline_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">Headline 2</span>]]\n** [[#Another_headline|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">Another headline</span>]]\n\n</div>\n\n== Headline 1 ==\n\n=== Subheadline 1 ===\n\n== Headline 2 ==\nSome text\n\n=== Another headline ===\n" }, "Self closed html pairs (T7487)": { "wt2html": "<center data-parsoid='{\"stx\":\"html\",\"dsr\":[0,47,8,9]}'><font id=\"bug\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[8,25,17,0]}'></font>Centered text</center>\n<div data-parsoid='{\"stx\":\"html\",\"dsr\":[48,88,5,6]}'><font id=\"bug2\" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[53,71,18,0]}'></font>In div text</div>", "html2wt": "<center><font id=\"bug\">Centered text</font></center><font id=\"bug\"><div><font id=\"bug2\">In div text</font></div></font>" }, "Self-closed noinclude, includeonly, onlyinclude tags": { "wt2html": "<meta typeof=\"mw:Includes/NoInclude\" data-parsoid='{\"src\":\"<noinclude />\",\"dsr\":[0,13,null,null]}'/>\n<meta typeof=\"mw:Includes/IncludeOnly\" data-parsoid='{\"dsr\":[14,29,null,null]}' data-mw='{\"src\":\"<includeonly />\"}'/>\n<meta typeof=\"mw:Includes/OnlyInclude\" data-parsoid='{\"src\":\"<onlyinclude />\",\"dsr\":[30,45,null,null]}'/>", "html2html": "\n\n", "html2wt": "\n\n" }, "Self-closed tag with broken attribute value quoting": { "wt2html": "<div title=\"Hello world \" data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[0,26,26,0]}'></div><p data-parsoid='{\"dsr\":[26,29,0,0]}'>Foo</p>" }, "Simple list": { "html2wt": "* Item 1\n* Item 2" }, "Simple table": { "html2wt": "{|\n|1\n|2\n|-\n|3\n|4\n|}" }, "Simple table but with multiple dashes for row wikitext": { "html2wt": "{|\n|foo\n|-\n|bar\n|}" }, "Simple template": { "html2wt": "This is a test template\n" }, "Single-comment whitespace lines dont break lists, and neither do multi-comment whitespace lines": { "html2wt": "* a\n* b\n* c\n* d" }, "Single-line or multiline-comments can follow headings": { "selser [2,4,3,1,0,4,[2],3]": "1is6xi5\n\n==foo==\n1c6vh2i\n\n==bar==<!--c1-->\nvp2olc\n\n==xmkpambaz==<!--\nc2\nc3-->" }, "Space and question mark encoding in interlanguage links (T95473)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'>Blah blah blah</p>\n<link rel=\"mw:PageProp/Language\" href=\"http://es.wikipedia.org/wiki/Foo%20bar%3F\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://es.wikipedia.org/wiki/Foo%20bar%3F\"},\"sa\":{\"href\":\"es:Foo bar?\"},\"dsr\":[15,30,null,null]}'/>" }, "Spaced heading with element": { "selser [[3,4,0]]": "=== 1z3xsf hi ho ===", "selser [[2,0,0]]": "=== 170gdm3hi <span id=\"x\">hi</span> hi ho ===", "selser [1]": "=== hi <span id=\"x\">hi</span> hi ho ===", "selser [2]": "y61ost\n\n=== hi <span id=\"x\">hi</span> hi ho ===", "selser [[0,3,0]]": "=== hi hi ho ===", "selser [[4,[2],0]]": "=== 3r47fx<span id=\"x\">13z345whi</span> hi ho ===", "selser [[3,4,3]]": "=== 7t8v47 ===", "selser [[3,0,0]]": "=== <span id=\"x\">hi</span> hi ho ===", "selser [[0,1,2]]": "=== hi <span id=\"x\" data-foobar=\"1f91hhe\">hi</span>r9yx8e hi ho ===", "selser [[0,3,4]]": "=== hi 1wfz4el ===", "selser [[0,1,0]]": "=== hi <span id=\"x\" data-foobar=\"bwaljq\">hi</span> hi ho ===", "selser [[4,3,0]]": "=== 1r0v4o9 hi ho ===", "selser [[0,[2],0]]": "=== hi <span id=\"x\">1icvnnlhi</span> hi ho ===", "selser [[3,0,4]]": "=== <span id=\"x\">hi</span>12czxl1 ===", "selser [[0,2,2]]": "=== hi 15wkygl<span id=\"x\">hi</span>vzqtm7 hi ho ===", "selser [[3,0,3]]": "=== <span id=\"x\">hi</span> ===", "selser [[0,0,2]]": "=== hi <span id=\"x\">hi</span>1w2au0v hi ho ===", "selser [[4,[3],0]]": "=== 64yg7h<span id=\"x\"></span> hi ho ===" }, "Spacing of numbers in formatted dates": { "wt2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:January 15\",\"function\":\"formatdate\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"01-15\">January 15</span>\n" }, "Special page transclusion": { "wt2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Special:PrefixIndex/Xyzzyx\" title=\"Special:PrefixIndex/Xyzzyx\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"sa\":{\"href\":\"Special:PrefixIndex/Xyzzyx\"},\"dsr\":[0,30,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"params\":{},\"i\":0}}]}'>Special:PrefixIndex/Xyzzyx</a></p>", "html2wt": "* [[Xyzzyx]]\n" }, "Special page transclusion twice (T7021)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,61,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Special:PrefixIndex/Xyzzyx\" title=\"Special:PrefixIndex/Xyzzyx\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"sa\":{\"href\":\"Special:PrefixIndex/Xyzzyx\"},\"dsr\":[0,30,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"params\":{},\"i\":0}}]}'>Special:PrefixIndex/Xyzzyx</a>\n<a rel=\"mw:WikiLink\" href=\"./Special:PrefixIndex/Xyzzyx\" title=\"Special:PrefixIndex/Xyzzyx\" about=\"#mwt2\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"sa\":{\"href\":\"Special:PrefixIndex/Xyzzyx\"},\"dsr\":[31,61,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"href\":\"./Special:PrefixIndex/Xyzzyx\"},\"params\":{},\"i\":0}}]}'>Special:PrefixIndex/Xyzzyx</a></p>", "html2wt": "* [[Xyzzyx]]\n\n* [[Xyzzyx]]\n", "selser [[0,2,0]]": "{{Special:Prefixindex/Xyzzyx}}<nowiki/>af0o8m\n{{Special:Prefixindex/Xyzzyx}}" }, "Special parser function": { "wt2html": "<p data-parsoid='{\"dsr\":[0,65,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,23,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:RandomPage\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span>\n<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[24,45,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:BaDtItLe\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span>\n<span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[46,65,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Foobar\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span></p>", "html2wt": "Special:Random\nSpecial:Badtitle\nSpecial:Foobar\n" }, "Special:Search page linking.": { "html2wt": "[[Special:Search]]\n" }, "Strip marker in formatNum": { "html2wt": "12\n12\n" }, "Strip marker in grammar": { "wt2html": "<p data-parsoid='{\"dsr\":[0,35,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,35,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"grammar:elative\",\"function\":\"grammar\"},\"params\":{\"1\":{\"wt\":\"foo<nowiki/>bar\"}},\"i\":0}}]}'>Parser function implementation for pf_grammar missing in Parsoid.</span></p>", "html2wt": "foobarista\n" }, "Strip marker in lc": { "html2wt": "xy\n" }, "Strip marker in padleft": { "html2wt": "xy\n" }, "Strip marker in padright": { "html2wt": "xy\n" }, "Strip marker in uc": { "html2wt": "XY\n" }, "Subpage noslash link": { "html2wt": "[[Subpage test/subpage|subpage]]\n" }, "T10293: Use of center tag ruins paragraph formatting": { "html2wt": "<center>\nfoo\n\n</center>\nbar\n\n baz\n" }, "T13748: Literal closing tags": { "html2wt": "\n; test 1\n: test test test test test\n; test 2\n: test test test test test\n", "selser [[0,4,3,[2],0,[3],3,0,0]]": "<dl>\n<dd>1k0w39v</dd><dd>lotdkwtest test test test test</dd>\n<dt></dt>\n<dd>test test test test test</dd>\n</dl>" }, "T153140: Don't break table handling if language converter markup is in the cell.": { "wt2wt": "{|\n|-\n|<nowiki/>-{R|B}-\n|}", "selser [2]": "a5ione\n{|\n|-\n| -{R|B}-\n|}", "selser [[0,[1,0]]]": "{|\n|- data-foobar=\"1gyt116\"\n| -{R|B}-\n|}", "selser [[3,1]]": "{|\n|-\n| -{R|B}-\n|}", "selser [1]": "{| data-foobar=\"6y5vda\"\n|-\n| -{R|B}-\n|}", "selser [[2,1]]": "{|<!--m84v5d-->\n|-\n| -{R|B}-\n|}", "selser [[4,2]]": "{|<!--1868jd--><!--1d0w5t2-->\n|-\n| -{R|B}-\n|}", "selser [[0,[1,2]]]": "{|\n|- data-foobar=\"1i6qbai\"\n| -{R|B}-<!--17qpaqz-->\n|}", "selser [[0,[[0,2],4]]]": "{|\n|-\n|1owe1ce\n| -{R|B}-<!--a2zy4x-->\n|}", "selser [[4,1]]": "{|<!--1i1athc-->\n|-\n| -{R|B}-\n|}" }, "T17491: <ins>/<del> in blockquote": { "html2wt": "<blockquote>\nFoo <del>bar</del> <ins>baz</ins> quux\n\n</blockquote>" }, "T192913 Regression test: 2. html2wt of links should not trip on parser functions found in target (2)": { "wt2wt": "[[Category:Bugs-{{#if:blah|Regression|None}}|<nowiki>Category:Bugs-{{#if:blah|Regression|None}}</nowiki>]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|<nowiki>Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}</nowiki>]]", "html2html": "<link typeof=\"mw:ExpandedAttrs\" about=\"#mwt2\" rel=\"mw:PageProp/Category\" href=\"./Category:Bugs-Regression\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Bugs-Regression\"},\"sa\":{\"href\":\"Category:Bugs-{{#if:blah|Regression|None}}\"},\"dsr\":[0,46,null,null]}' data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Category:Bugs-<span about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"},{\\\"k\\\":\\\"2\\\"}]],\\\"dsr\\\":[16,44,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"#if:blah\\\",\\\"function\\\":\\\"if\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"Regression\\\"},\\\"2\\\":{\\\"wt\\\":\\\"None\\\"}},\\\"i\\\":0}}]}'>Regression</span>\"}]]}'/>\n<link typeof=\"mw:ExpandedAttrs\" about=\"#mwt5\" rel=\"mw:PageProp/Category\" href=\"./Category:Bugs-Regression-2020\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Bugs-Regression-2020\"},\"sa\":{\"href\":\"Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}\"},\"dsr\":[47,116,null,null]}' data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Category:Bugs-<span about=\\\"#mwt3\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"},{\\\"k\\\":\\\"2\\\"}]],\\\"dsr\\\":[63,91,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"#if:blah\\\",\\\"function\\\":\\\"if\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"Regression\\\"},\\\"2\\\":{\\\"wt\\\":\\\"None\\\"}},\\\"i\\\":0}}]}'>Regression</span>-<span about=\\\"#mwt4\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"},{\\\"k\\\":\\\"2\\\"}]],\\\"dsr\\\":[92,114,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"#if:blah\\\",\\\"function\\\":\\\"if\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"2020\\\"},\\\"2\\\":{\\\"wt\\\":\\\"None\\\"}},\\\"i\\\":0}}]}'>2020</span>\"}]]}'/>", "html2wt": "[[Category:Bugs-{{#if:blah|Regression|None}}]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}]]", "selser [2,0,0]": "fzlv20\n[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [3,0,0]": "\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [1,0,2]": "[[Category:Bugs-{{#if:blah|Regression|None}}|<nowiki>Category:Bugs-{{#if:blah|Regression|None}}</nowiki>]]\nch5480\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [4,2,1]": "1qzsk51\n\n1q7u882\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}]]", "selser [3,0,2]": "\n1z0mf5c\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [0,0,1]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|<nowiki>Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}</nowiki>]]", "selser [0,3,4]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n1cdxgr", "selser [3,2,1]": "e3d6n4\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}]]", "selser [0,0,4]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\nq4i7jz", "selser [2,0,2]": "gp679p\n[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n2zkhkj\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [1,0,0]": "[[Category:Bugs-{{#if:blah|Regression|None}}|<nowiki>Category:Bugs-{{#if:blah|Regression|None}}</nowiki>]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [0,3,2]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\nf3tw5x\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [0,4,0]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n11dapge\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [0,3,0]": "[[Category:Bugs-{{#if:blah|Regression|None}}|fragment]]\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [4,2,0]": "77wx48\n\n1dy0ips\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [3,2,0]": "1kxc4ot\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]", "selser [4,2,2]": "1c1qznt\n\nklxc2j\n\n1ixrma7\n[[Category:Bugs-{{#if:blah|Regression|None}}-{{#if:blah|2020|None}}|fragment]]" }, "T2041: Template parameters shown as broken links": { "html2wt": "<nowiki>{{{parameter}}}</nowiki>\n" }, "T21052 U+3000 IDEOGRAPHIC SPACE should terminate bracketed external links": { "wt2wt": "[http://www.example.org/ ideograms]", "html2wt": "[http://www.example.org/ ideograms]\n", "selser [2]": "1dbyq81\n\n[http://www.example.org/ ideograms]", "selser [[2]]": "k7rfsq[http://www.example.org/ ideograms]", "selser [1]": "[http://www.example.org/ ideograms]" }, "T2289: \">\"-token in bracketed URL": { "wt2wt": "[http://www.example.com/ <hello> stuff]", "html2wt": "[http://www.example.com/ <hello> stuff]\n", "selser [1]": "[http://www.example.com/<hello> stuff]", "selser [2]": "19ih7dw\n\n[http://www.example.com/<hello> stuff]", "selser [[2]]": "eoq4sv[http://www.example.com/<hello> stuff]" }, "T2289: literal \">\"-token in bracketed URL": { "wt2wt": "[http://www.example.com/ <b>html</b> stuff]", "html2wt": "[http://www.example.com/ '''html''' stuff]\n", "selser [1]": "[http://www.example.com/<b>html</b> stuff]", "selser [2]": "qyoqs5\n\n[http://www.example.com/<b>html</b> stuff]", "selser [[2]]": "ls4uur[http://www.example.com/<b>html</b> stuff]" }, "T2289: literal double quote in bracketed URL": { "wt2wt": "[http://www.example.com/ \"hello\" stuff]", "html2wt": "[http://www.example.com/ \"hello\" stuff]\n", "selser [2]": "yc0ilp\n\n[http://www.example.com/\"hello\" stuff]", "selser [1]": "[http://www.example.com/\"hello\" stuff]", "selser [[2]]": "1yr3lpy[http://www.example.com/\"hello\" stuff]" }, "T2337: Escaped self-links should be bold": { "html2wt": "[[Bug462]] [[Bug462]]" }, "T24297: safesubst: works during normal parse": { "html2wt": "Foobar\n" }, "T2523: Template shouldn't eat newline (or add an extra one before table)": { "html2wt": "foo\n\n{|\n|1\n|2\n|-\n|3\n|4\n|}" }, "T2529: Uncovered bullet": { "wt2wt": "*Foo{{bullet}}\n", "html2wt": "* Foo{{bullet}}\n", "selser [2]": "xpt49k\n*Foo {{bullet}}", "selser [[2,0,0]]": "* b9vx2l\n*Foo {{bullet}}", "selser [1]": "*Foo {{bullet}}", "selser [[1,0,0]]": "*Foo {{bullet}}" }, "T2529: Uncovered bullet in a deeply nested list": { "wt2wt": "*******Foo\n{{bullet}}\n", "html2html": "<ul data-parsoid='{\"dsr\":[0,22,0,0]}'><li data-parsoid='{\"dsr\":[0,11,1,0]}'><ul data-parsoid='{\"dsr\":[1,11,0,0]}'><li data-parsoid='{\"dsr\":[1,11,1,0]}'><ul data-parsoid='{\"dsr\":[2,11,0,0]}'><li data-parsoid='{\"dsr\":[2,11,1,0]}'><ul data-parsoid='{\"dsr\":[3,11,0,0]}'><li data-parsoid='{\"dsr\":[3,11,1,0]}'><ul data-parsoid='{\"dsr\":[4,11,0,0]}'><li data-parsoid='{\"dsr\":[4,11,1,0]}'><ul data-parsoid='{\"dsr\":[5,11,0,0]}'><li data-parsoid='{\"dsr\":[5,11,1,0]}'><ul data-parsoid='{\"dsr\":[6,11,0,0]}'><li data-parsoid='{\"dsr\":[6,11,1,0,1,0]}'>Foo</li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>\n<li about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[12,22,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"bullet\",\"href\":\"./Template:Bullet\"},\"params\":{},\"i\":0}}]}'>Bar</li></ul>\n", "html2wt": "******* Foo\n{{bullet}}\n", "selser [[[[[2]]],0,0]]": "**1pu16hr\n*******Foo {{bullet}}", "selser [[[[2]],0,0]]": "** vaurd6\n*******Foo {{bullet}}", "selser [[2,0,0]]": "* oag6qw\n*******Foo {{bullet}}", "selser [1]": "*******Foo {{bullet}}", "selser [[[1],0,0]]": "*******Foo {{bullet}}", "selser [2]": "113swo7\n*******Foo {{bullet}}", "selser [[[[1]],0,0]]": "*******Foo {{bullet}}", "selser [[[2],0,0]]": "*lrgux8\n*******Foo {{bullet}}", "selser [[1,0,0]]": "*******Foo {{bullet}}", "selser [[[[[[[1]]]]],0,0]]": "*******Foo {{bullet}}" }, "T2529: Uncovered bullet in parser function result": { "html2html": "<ul data-parsoid='{\"dsr\":[0,23,0,0]}'><li data-parsoid='{\"dsr\":[0,23,1,0,1,0]}'>Foo <span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[6,23,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"lc:{{bullet}}\",\"function\":\"lc\"},\"params\":{},\"i\":0}}]}'>bar</span></li></ul>", "html2wt": "* Foo {{lc:{{bullet}}}}" }, "T2553: link with two variables in a piped link": { "wt2wt": "{|\n|[[{{{1}}}<nowiki>|</nowiki>{{{2}}}]]\n|}", "html2html": "<table data-parsoid='{\"dsr\":[0,43,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[3,41,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"dsr\":[3,40,0,0]}'><td data-parsoid='{\"dsr\":[3,40,1,0]}'>[[<span about=\"#mwt11\" typeof=\"mw:Param\" data-parsoid='{\"pi\":[[]],\"dsr\":[6,13,null,null]}' data-mw='{\"parts\":[{\"templatearg\":{\"target\":{\"wt\":\"1\"},\"params\":{},\"i\":0}}]}'>{{{1}}}</span><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[13,31,8,9]}'>|</span><span about=\"#mwt12\" typeof=\"mw:Param\" data-parsoid='{\"pi\":[[]],\"dsr\":[31,38,null,null]}' data-mw='{\"parts\":[{\"templatearg\":{\"target\":{\"wt\":\"2\"},\"params\":{},\"i\":0}}]}'>{{{2}}}</span>]]</td></tr>\n</tbody></table>", "html2wt": "{|\n|[[{{{1}}}<nowiki>|</nowiki>{{{2}}}]]\n|}", "selser [1]": "{| data-foobar=\"bouvs0\"\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[3,2]]": "{|<!--yuc62n-->\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[0,2]]": "{|\n<!--bfvyi1-->|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[0,1]]": "{|\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[4,[[[2,0,0,0,0]],0]]]": "{|<!--1531c7v-->\n|gzam8[[{{{1}}}|{{{2}}}]]\n|}", "selser [2]": "oxk5cd\n{|\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[3,[[[2,0,0,0,3]],0]]]": "{|\n|1q9cnf3[[{{{1}}}|{{{2}}}\n|}", "selser [[0,[1,0]]]": "{|\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[3,1]]": "{|\n|[[{{{1}}}|{{{2}}}]]\n|}", "selser [[4,1]]": "{|<!--1t4r17j-->\n|[[{{{1}}}|{{{2}}}]]\n|}" }, "T2561: {{/Subpage}}": { "html2html": "<p data-parsoid='{\"dsr\":[0,66,0,0]}'>[/index.php?title=Page/Subpage&action=edit&redlink=1 Page/Subpage]</p>\n", "html2wt": "[/index.php?title=Page/Subpage&action=edit&redlink=1 Page/Subpage]\n" }, "T33098 Template which includes system messages which includes the template": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Identical\",\"href\":\"./Template:Identical\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_int missing in Parsoid.\nParser function implementation for pf_int missing in Parsoid.</span></p>", "html2wt": "<span class=\"error\">Template loop detected: [[Template:Identical]]</span>\n<span class=\"error\">Template loop detected: [[Template:Identical]]</span>\n" }, "T33490 Turkish: lcfirst 'BLAH'": { "html2wt": "bLAH\n" }, "T33490 Turkish: ucfirst 'blah'": { "html2wt": "Blah\n" }, "T33490 Turkish: ucfirst 'ix'": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfirst:ix\",\"function\":\"ucfirst\"},\"params\":{},\"i\":0}}]}'>Ix</span></p>", "html2wt": "İx\n" }, "T33490 Turkish: ucfırst (with a dotless i)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Şablon:Ucfırst:blah\" title=\"Şablon:Ucfırst:blah\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Şablon:Ucfırst:blah\"},\"sa\":{\"href\":\"Şablon:Ucfırst:blah\"},\"dsr\":[0,17,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfırst:blah\",\"href\":\"./Şablon:Ucfırst:blah\"},\"params\":{},\"i\":0}}]}'>Şablon:Ucfırst:blah</a></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,92,0,0]}'>[/index.php?title=%C5%9Eablon:Ucf%C4%B1rst:blah&action=edit&redlink=1 Şablon:Ucfırst:blah]</p>\n", "html2wt": "[/index.php?title=%C5%9Eablon:Ucf%C4%B1rst:blah&action=edit&redlink=1 Şablon:Ucfırst:blah]\n" }, "T33490 ucfırst (with a dotless i) with English language": { "html2html": "<p data-parsoid='{\"dsr\":[0,90,0,0]}'>[/index.php?title=Template:Ucf%C4%B1rst:blah&action=edit&redlink=1 Template:Ucfırst:blah]</p>\n", "html2wt": "[/index.php?title=Template:Ucf%C4%B1rst:blah&action=edit&redlink=1 Template:Ucfırst:blah]\n" }, "T34057: Title needed when expanding <h> nodes.": { "wt2html": "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"int:T34057\",\"function\":\"int\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_int missing in Parsoid.</span></p>", "html2wt": "== OK ==\n" }, "T4095: link with pipe and three closing brackets, version 2": { "wt2wt": "[[Main Page|<nowiki>[http://example.com/]</nowiki>]]", "html2html": "<p data-parsoid='{\"dsr\":[0,52,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Main_Page\" title=\"Main Page\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main Page\"},\"dsr\":[0,52,12,2]}'><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[12,50,8,9]}'>[http://example.com/]</span></a></p>", "html2wt": "[[Main Page|<nowiki>[http://example.com/]</nowiki>]]", "selser [1]": "[[Main Page|[http://example.com/]]]", "selser [2]": "fzyteq\n\n[[Main Page|[http://example.com/]]]", "selser [[2]]": "v7jqm7[[Main Page|[http://example.com/]]]" }, "T4304: HTML attribute safety (unsafe breakout parameter 2; 2309)": { "wt2html": "<div style='float: right; \" >alert(document.cookie)' about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"float: right; \\\" >alert(document.cookie)\"},\"sa\":{\"style\":\"float: right; {{{1}}}\"},\"dsr\":[0,56,null,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"div style\",\"href\":\"./Template:Div_style\"},\"params\":{\"1\":{\"wt\":\"\\\" ><script>alert(document.cookie)</script>\"}},\"i\":0}}]}'>Magic div</div>", "html2wt": "<div style=\"float: right;\"><script>alert(document.cookie)</script>\">Magic div</div>" }, "T4304: HTML attribute safety (unsafe breakout parameter; 2309)": { "wt2html": "<div style='float: right; \">alert(document.cookie)' about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"float: right; \\\">alert(document.cookie)\"},\"sa\":{\"style\":\"float: right; {{{1}}}\"},\"dsr\":[0,55,null,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"div style\",\"href\":\"./Template:Div_style\"},\"params\":{\"1\":{\"wt\":\"\\\"><script>alert(document.cookie)</script>\"}},\"i\":0}}]}'>Magic div</div>", "html2wt": "<div style=\"float: right;\"><script>alert(document.cookie)</script>\">Magic div</div>" }, "T45661: Piped links with identical prefixes": { "html2wt": "[[Prefixed article|prefixed articles with spaces]]\n\n[[Prefixed article|prefixed articlesaoeu]]\n\n[[Main Page|Main Page test]]\n", "selser [0,2,[[3]],2,[2]]": "[[prefixed article|prefixed articles with spaces]]\n\n7u53g5\n\n1fq2srm\n\n106il2l[[Main Page|Main Page test]]" }, "T4702: Mismatched <i>, <b> and <a> tags are invalid": { "wt2wt": "''[http://example.com text]''\n[http://example.com '''text''']\n''Something [http://example.com in italic]''\n''Something [http://example.com mixed''''', even bold''''']'''\n'''''Now [http://example.com both]'''''", "html2html": "<p data-parsoid='{\"dsr\":[0,209,0,0]}'><i data-parsoid='{\"dsr\":[0,29,2,2]}'><a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external text\" data-parsoid='{\"dsr\":[2,27,20,1]}'>text</a></i>\n<a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external text\" data-parsoid='{\"dsr\":[30,61,20,1]}'><b data-parsoid='{\"dsr\":[50,60,3,3]}'>text</b></a>\n<i data-parsoid='{\"dsr\":[62,106,2,2]}'>Something <a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external text\" data-parsoid='{\"dsr\":[74,104,20,1]}'>in italic</a></i>\n<i data-parsoid='{\"dsr\":[107,169,2,2]}'>Something <a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external text\" data-parsoid='{\"dsr\":[119,166,20,1]}'>mixed<i data-parsoid='{\"dsr\":[144,165,2,2]}'><b data-parsoid='{\"dsr\":[146,163,3,3]}'>, even bold</b></i></a>'</i>\n<i data-parsoid='{\"dsr\":[170,209,2,2]}'><b data-parsoid='{\"dsr\":[172,207,3,3]}'>Now <a rel=\"mw:ExtLink\" href=\"http://example.com\" class=\"external text\" data-parsoid='{\"dsr\":[179,204,20,1]}'>both</a></b></i></p>", "html2wt": "''[http://example.com text]''\n[http://example.com '''text''']\n''Something [http://example.com in italic]''\n''Something [http://example.com mixed''''', even bold''''']'''\n'''''Now [http://example.com both]'''''", "selser [[[3],0,0,0,0,[0,[3,1]],0,[4,3,2],0,3]]": "\n[http://example.com '''text]'''\n''Something [http://example.com]''\n''ujxjzra47q9r'''\n", "selser [2]": "1w5nzr6\n\n''[http://example.com text'']\n[http://example.com '''text]'''\n''Something [http://example.com in italic'']\n''Something [http://example.com mixed''''', even bold]'''\n'''''Now [http://example.com both''''']", "selser [1]": "''[http://example.com text'']\n[http://example.com '''text]'''\n''Something [http://example.com in italic'']\n''Something [http://example.com mixed''''', even bold]'''\n'''''Now [http://example.com both''''']", "selser [[[[2,0]],3,[[2]],1,4,[0,3],0,[0,4,4],4,1]]": "''[http://example.com 1ie384ttext'']''[http://example.com '''k7725ktext''']1dy3095''Something ''\n''Something 1spdymo1y4ijr9''1cethmn'''''Now [http://example.com both''''']'''", "selser [[4,0,4,2,0,1,0,3,0,2]]": "grwjkq\n1lot087vcvcyx'''\n''Something [http://example.com in italic'']''\n\n1m0k7zr'''''Now [http://example.com both''''']", "selser [[4,0,[2],3,3,1,2,3,0,[[0,[3,0]]]]]": "1om7u04\n[http://example.com vrwdsq'''text]''Something [http://example.com in italic'']''wm0zay\n\n'''''Now [http://example.com ''''']'''''", "selser [[[[2,0]],3,[[2]],3,0,4,4,3,0,2]]": "''[http://example.com uz3hfhtext'']''[http://example.com '''w3pgfntext''']\n1apcmhc1asm4e3\n1b2pppj'''''Now [http://example.com both''''']", "selser [[2,0,[[2]],0,0,3,0,2,0,[[0,2]]]]": "1mmp26e''[http://example.com text'']\n[http://example.com '''12agtubtext''']'''\n\n1fumkj3''Something [http://example.com mixed''''', even bold]'''\n'''''Now 7tlb0a[http://example.com both''''']'''''", "selser [[0,0,[2],1,3,[4,[3,0]],4,[0,[3,4],2],0,[1]]]": "''[http://example.com text'']\n[http://example.com 9mtm57'''text]''bc87qa[http://example.com '']''dddk6d''Something [http://example.com wrlh1r]1nyzqa'<nowiki/>''\n'''''Now [http://example.com both''''']'''''", "selser [[[[2,4]],3,[1],0,4,[0,[0,1]],3,2,0,[3]]]": "''[http://example.com gmrlyetextytqaz0]''[http://example.com '''text''']'''1ms01p0''Something [http://example.com in italic]''py6uhu''Something [http://example.com mixed''''', even bold]'''\n", "selser [[[3],3,[3],1,4,[3,2],0,[0,[0,2],4],0,[4]]]": "[http://example.com]248wls''1e6rzwq[http://example.com in italic'']''\n''Something [http://example.com mixed1m8avn6''''', even bold]1yvo8ai''\n'''hr40qt'''", "selser [[[[0,2]],2,[4],2,0,[4,[3,2]],3,[0,[0,3],0],0,[4]]]": "''[http://example.com text1p6xyxz'']''1hx28uc\n[http://example.com 14ob795]1epk0re'''\n''1vvap2n[http://example.com eov9sf'']Something [http://example.com mixed]'''\n'''ugv2mv'''", "selser [[1,2,2,0,2,[4,[0,4]],0,[0,[0,[[3]]],0],0,2]]": "''[http://example.com text'']''11n11i3\n8k2sbo[http://example.com '''text]'''kilfpv\n''1ga484n[http://example.com in italic1jyu5cf]''\n''Something [http://example.com mixed]'''\ngcoz8y'''''Now [http://example.com both''''']", "selser [[[1],0,[4],0,0,[0,4],4,[0,1,3],3,[[4,3]]]]": "''[http://example.com text'']''\n[http://example.com 3dopwh]'''\n''Something 1ob2p5f''ojb293''Something [http://example.com mixed''''', even bold]'''987qp0'''''", "selser [[[3],0,1,0,0,[2,[3,0]],3,[3,2,4],2,[2]]]": "\n[http://example.com '''text]'''\n''1xjshhaSomething [http://example.com '']1wmn059[http://example.com mixed''''', even bold]x2ogu4''1iok13m\n'''hc7hv6''Now [http://example.com both''''']'''", "selser [[4,2,3,2,3,[4,0],0,[0,2,0],0,0]]": "iivdyk17hf24y\n14qclac'''''13xl0an[http://example.com in italic'']''\n''Something 1gcs6ue[http://example.com mixed''''', even bold]'''\n'''''Now [http://example.com both''''']", "selser [[4,0,[3],4,0,4,2,3,0,2]]": "mire6j\n[http://example.com]alv1v8\nahtp4ipkxdyg\n\n1h9vu0l'''''Now [http://example.com both''''']" }, "T53086: Double newlines in blockquotes should be turned into paragraphs": { "html2wt": "<blockquote>\nFoo\n\nBar\n\n</blockquote>" }, "T54763: Preformatted in <blockquote>": { "html2wt": "<blockquote>\n Blah\n\n{|\n|\n indented cell (no pre-wrapping!)\n|}\n</blockquote>" }, "T73074: More fostering fun": { "wt2wt": "[[Category:Two]]\n<table><td></td></tr>{{1x|<tr>}}<!--c-->[[Category:Two]]", "html2html": "<link rel=\"mw:PageProp/Category\" href=\"./Category:Two\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Two\"},\"sa\":{\"href\":\"Category:Two\"},\"dsr\":[0,16,null,null]}'/>\n<link rel=\"mw:PageProp/Category\" href=\"./Category:Two\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Two\"},\"sa\":{\"href\":\"Category:Two\"},\"fostered\":true,\"dsr\":[17,17,null,null]}'/><table data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[17,73,7,0]}'><tbody data-parsoid='{\"dsr\":[24,73,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"stx\":\"html\",\"dsr\":[24,38,0,5]}'><td data-parsoid='{\"stx\":\"html\",\"dsr\":[24,33,4,5]}'></td></tr><tr about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[38,73,null,0],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"<tr>\"}},\"i\":0}},\"<!--c-->[[Category:Two]]\"]}'><!--c--></tr></tbody></table>", "html2wt": "[[Category:Two]]\n<table><td></td></tr>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,4]": "\nlomg0q", "selser [0,1]": "<table data-foobar=\"9cf581\"><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [2,[[[3],0]]]": "scse7n\n<table>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [3,1]": "<table data-foobar=\"nvceso\"><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [2,[4]]": "lmrcpt\n<table><!--tdercx-->", "selser [2,4]": "qee0jt\n\nw6btke", "selser [1,[2]]": "[[Category:Two]]<table><!--r9jimg--><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,[1]]": "<table><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,2]": "\n11oow1i<table><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [3,[1]]": "<table><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,3]": "", "selser [2,1]": "1mv3j75\n<table data-foobar=\"xgfqp4\"><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,[[[4],0]]]": "<table><td>1na3y5x</td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [3,[[[2],0]]]": "<table><td>gaip59</td><td></td>{{1x|<tr>}}<!--c-->[[Category:Two]]", "selser [0,[[[3],0]]]": "<table>{{1x|<tr>}}<!--c-->[[Category:Two]]" }, "T7678: Double-parsed template argument": { "html2wt": "<nowiki>{{{1}}}</nowiki>\n" }, "T7918: autonumbering": { "selser [4,0,[3],4,3,2,[3],0,0]": "i81tua\n\n\n3o2wz7\n\nrh4a4n\n\nmailto:inline@mail.tld" }, "T8200: blockquotes and paragraph formatting": { "html2wt": "<blockquote>\nfoo\n\n</blockquote>\nbar\n\n baz\n" }, "T8200: paragraphs inside blockquotes (extra line break on close)": { "html2wt": "<blockquote>Line one\n\nLine two\n\n</blockquote>" }, "T8200: paragraphs inside blockquotes (extra line break on open and close)": { "html2wt": "<blockquote>\nLine one\n\nLine two\n\n</blockquote>" }, "T8200: paragraphs inside blockquotes (extra line break on open)": { "selser [[0,[3],2]]": "<blockquote>\n\n1x8wibb\n\n\n\nLine two</blockquote>" }, "T8200: paragraphs inside blockquotes (no extra line breaks)": { "html2wt": "<blockquote>Line one\nLine two</blockquote>" }, "T8563: Edit link generation for section shown by <includeonly>": { "html2wt": "== Includeonly section ==\n\n== Section T-1 ==\n" }, "T8563: Edit link generation for section suppressed by <includeonly>": { "html2wt": "== Section 1 ==\n" }, "T8563: Section extraction for section shown by <includeonly>": { "wt2html": "<meta typeof=\"mw:Includes/IncludeOnly\" data-parsoid='{\"dsr\":[0,52,null,null]}' data-mw='{\"src\":\"<includeonly>\\n==Includeonly section==\\n</includeonly>\"}'/><meta typeof=\"mw:Includes/IncludeOnly/End\" data-parsoid='{\"src\":\"\",\"dsr\":[52,52,null,null]}'/>\n<h2 id=\"Section_T-2\" data-parsoid='{\"dsr\":[53,68,2,2]}'>Section T-2</h2>", "html2html": "<p data-parsoid='{\"dsr\":[0,32,0,0]}'><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[0,32,8,9]}'>==Section T-2==</span></p>", "html2wt": "<nowiki>==Section T-2==</nowiki>" }, "T8563: Section extraction for section suppressed by <includeonly>": { "wt2html": "<meta typeof=\"mw:Includes/IncludeOnly\" data-parsoid='{\"dsr\":[0,52,null,null]}' data-mw='{\"src\":\"<includeonly>\\n==Includeonly section==\\n</includeonly>\"}'/><meta typeof=\"mw:Includes/IncludeOnly/End\" data-parsoid='{\"src\":\"\",\"dsr\":[52,52,null,null]}'/>\n<h2 id=\"Section_1\" data-parsoid='{\"dsr\":[53,66,2,2]}'>Section 1</h2>", "html2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[0,30,8,9]}'>==Section 1==</span></p>", "html2wt": "<nowiki>==Section 1==</nowiki>" }, "T88318: p-wrapped dash in table.": { "wt2wt": "{|\n!-\n!-\n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[0,[1,4,3,3,[0,2,3,[2,4,1],2,0],0]]]": "{|\n!-\n!- <!--10ph6xs-->\n|-\n|1sxosdu\n|<small>-</small>\n|1xikuyp<br />1i2om9d\n-\n|12dri8j\n|<br />-\n|}", "selser [[4,1]]": "{|<!--avsco0-->\n!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[2,2]]": "{|<!--198ykec-->\n<!--1ja8163-->!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [2]": "1qlsswu\n{|\n!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[2,1]]": "{|<!--g6mv6-->\n!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[3,1]]": "{|\n!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[4,[0,4,4,3,1,4]]]": "{|<!--sz0yg8-->\n!-\n!- <!--ammywp--><!--1qztxse-->\n|- data-foobar=\"x39tdc\"\n|<small>-</small>\n|<br />\n-\n|<br />-<!--5q1uzu-->\n|}", "selser [1]": "{| data-foobar=\"1eth3uj\"\n!-\n!- \n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|-\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[4,[[3,3,[2]],3,[0,0,0,1],4,[0,2,3,[0,4,[3]],0,[3,3]],0]]]": "{|<!--lfm8t7-->\n!1r6l1p8- \n|-\n|<nowiki>-</nowiki>\n| data-foobar=\"15cp7gd\" |<nowiki>- </nowiki><!--14jqi8b-->\n|-\n|1o8h1ob\n|<small>-</small>\n|<br />1d00lsm\n|\n|}", "selser [[3,[1,0,3,4,[2,[2],3,1,3,[0,4]],4]]]": "{|\n!-\n!- \n<!--6f0mue-->|-\n|1qnprdx\n|nxpi5d<small>-</small>\n| data-foobar=\"j5al7i\" |<br />\n-\n|<br />11v0cd4<!--1nx3jrc-->\n|}", "selser [[0,[2,3,2,0,1,0]]]": "{|\n<!--1guo0fq-->!-\n!- <!--ude1c1-->\n|-\n|<nowiki>-</nowiki>\n|<nowiki>- </nowiki>\n|- data-foobar=\"arur3a\"\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}", "selser [[4,[[2,4,0],4,[0,[3],4,1],3,[0,2,0,[2,2,0],2,[0,3]],0]]]": "{|<!--1umn7ye-->\n!gvfg8v\n!-\n!15hviht\n!- <!--sgt3q3-->\n|-\n|\n|kkn25m\n| data-foobar=\"1n0s8vl\" |<nowiki>- </nowiki>\n|-\n|158hpl0\n|<small>-</small>\n|3mzszf<br />4wyn44\n-\n|yfh4qc\n|<br />\n|}", "selser [[0,[[2,3,1],2,3,3,1,0]]]": "{|\n!esps5t\n!-\n! data-foobar=\"i5sm52\" |- <!--1ot4a6a-->\n|- data-foobar=\"ogk7sg\"\n|<small>-</small>\n|<br />\n-\n|<br />-\n|}" }, "T90902: Normalize weird characters in section IDs": { "html2wt": "== Foo bar ==\n[[#Foo bar]]", "selser [3,4,[1],4]": "fju4o3\n\n[[#Foo bar]]\n\njhxqub", "selser [3,2,1,0]": "9arxg8\n\n[[#Foo bar]]\n" }, "TOC regression (T11764)": { "wt2html": "<h2 id=\"title_1\" data-parsoid='{\"dsr\":[0,11,2,2]}'>title 1</h2>\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[12,27,3,3]}'>title 1.1</h3>\n<h4 id=\"title_1.1.1\" data-parsoid='{\"dsr\":[28,47,4,4]}'>title 1.1.1</h4>\n<h3 id=\"title_1.2\" data-parsoid='{\"dsr\":[48,63,3,3]}'>title 1.2</h3>\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[64,75,2,2]}'>title 2</h2>\n<h3 id=\"title_2.1\" data-parsoid='{\"dsr\":[76,91,3,3]}'>title 2.1</h3>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,901,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,893,0,0]}'><li data-parsoid='{\"dsr\":[349,716,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1\"},\"sa\":{\"href\":\"#title_1\"},\"dsr\":[351,433,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[362,394,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[395,431,22,7]}'>title 1</span></a>\n<ul data-parsoid='{\"dsr\":[434,716,0,0]}'><li data-parsoid='{\"dsr\":[434,624,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.1\"},\"sa\":{\"href\":\"#title_1.1\"},\"dsr\":[437,525,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[450,484,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[485,523,22,7]}'>title 1.1</span></a>\n<ul data-parsoid='{\"dsr\":[526,624,0,0]}'><li data-parsoid='{\"dsr\":[526,624,3,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.1.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.1.1\"},\"sa\":{\"href\":\"#title_1.1.1\"},\"dsr\":[530,624,15,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[545,581,24,7]}'>1.1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[582,622,22,7]}'>title 1.1.1</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[625,716,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.2\"},\"sa\":{\"href\":\"#title_1.2\"},\"dsr\":[628,716,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[641,675,24,7]}'>1.2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[676,714,22,7]}'>title 1.2</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[717,893,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_2\"},\"sa\":{\"href\":\"#title_2\"},\"dsr\":[719,801,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[730,762,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[763,799,22,7]}'>title 2</span></a>\n<ul data-parsoid='{\"dsr\":[802,893,0,0]}'><li data-parsoid='{\"dsr\":[802,893,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_2.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_2.1\"},\"sa\":{\"href\":\"#title_2.1\"},\"dsr\":[805,893,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[818,852,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[853,891,22,7]}'>title 2.1</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"title_1\" data-parsoid='{\"dsr\":[903,916,2,2,1,1]}'>title 1</h2>\n\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[918,935,3,3,1,1]}'>title 1.1</h3>\n\n<h4 id=\"title_1.1.1\" data-parsoid='{\"dsr\":[937,958,4,4,1,1]}'>title 1.1.1</h4>\n\n<h3 id=\"title_1.2\" data-parsoid='{\"dsr\":[960,977,3,3,1,1]}'>title 1.2</h3>\n\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[979,992,2,2,1,1]}'>title 2</h2>\n\n<h3 id=\"title_2.1\" data-parsoid='{\"dsr\":[994,1011,3,3,1,1]}'>title 2.1</h3>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#title_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">title 1</span>]]\n** [[#title_1.1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">title 1.1</span>]]\n*** [[#title_1.1.1|<span class=\"tocnumber\">1.1.1</span> <span class=\"toctext\">title 1.1.1</span>]]\n** [[#title_1.2|<span class=\"tocnumber\">1.2</span> <span class=\"toctext\">title 1.2</span>]]\n* [[#title_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">title 2</span>]]\n** [[#title_2.1|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">title 2.1</span>]]\n\n</div>\n\n== title 1 ==\n\n=== title 1.1 ===\n\n==== title 1.1.1 ====\n\n=== title 1.2 ===\n\n== title 2 ==\n\n=== title 2.1 ===\n" }, "TOC regression (T14077)": { "wt2html": "<meta property=\"mw:PageProp/toc\" data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n<h2 id=\"title_1\" data-parsoid='{\"dsr\":[8,19,2,2]}'>title 1</h2>\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[20,35,3,3]}'>title 1.1</h3>\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[36,47,2,2]}'>title 2</h2>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,618,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,610,0,0]}'><li data-parsoid='{\"dsr\":[349,525,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1\"},\"sa\":{\"href\":\"#title_1\"},\"dsr\":[351,433,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[362,394,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[395,431,22,7]}'>title 1</span></a>\n<ul data-parsoid='{\"dsr\":[434,525,0,0]}'><li data-parsoid='{\"dsr\":[434,525,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.1\"},\"sa\":{\"href\":\"#title_1.1\"},\"dsr\":[437,525,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[450,484,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[485,523,22,7]}'>title 1.1</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[526,610,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_2\"},\"sa\":{\"href\":\"#title_2\"},\"dsr\":[528,610,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[539,571,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[572,608,22,7]}'>title 2</span></a></li></ul>\n\n</div>\n\n<h2 id=\"title_1\" data-parsoid='{\"dsr\":[620,633,2,2,1,1]}'>title 1</h2>\n\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[635,652,3,3,1,1]}'>title 1.1</h3>\n\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[654,667,2,2,1,1]}'>title 2</h2>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#title_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">title 1</span>]]\n** [[#title_1.1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">title 1.1</span>]]\n* [[#title_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">title 2</span>]]\n\n</div>\n\n== title 1 ==\n\n=== title 1.1 ===\n\n== title 2 ==\n" }, "TOC with wgMaxTocLevel=3 (T8204)": { "wt2html": "<h2 id=\"title_1\" data-parsoid='{\"dsr\":[0,11,2,2]}'>title 1</h2>\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[12,27,3,3]}'>title 1.1</h3>\n<h4 id=\"title_1.1.1\" data-parsoid='{\"dsr\":[28,47,4,4]}'>title 1.1.1</h4>\n<h3 id=\"title_1.2\" data-parsoid='{\"dsr\":[48,63,3,3]}'>title 1.2</h3>\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[64,75,2,2]}'>title 2</h2>\n<h3 id=\"title_2.1\" data-parsoid='{\"dsr\":[76,91,3,3]}'>title 2.1</h3>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,802,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,794,0,0]}'><li data-parsoid='{\"dsr\":[349,617,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1\"},\"sa\":{\"href\":\"#title_1\"},\"dsr\":[351,433,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[362,394,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[395,431,22,7]}'>title 1</span></a>\n<ul data-parsoid='{\"dsr\":[434,617,0,0]}'><li data-parsoid='{\"dsr\":[434,525,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.1\"},\"sa\":{\"href\":\"#title_1.1\"},\"dsr\":[437,525,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[450,484,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[485,523,22,7]}'>title 1.1</span></a></li>\n<li data-parsoid='{\"dsr\":[526,617,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_1.2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_1.2\"},\"sa\":{\"href\":\"#title_1.2\"},\"dsr\":[529,617,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[542,576,24,7]}'>1.2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[577,615,22,7]}'>title 1.2</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[618,794,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_2\"},\"sa\":{\"href\":\"#title_2\"},\"dsr\":[620,702,11,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[631,663,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[664,700,22,7]}'>title 2</span></a>\n<ul data-parsoid='{\"dsr\":[703,794,0,0]}'><li data-parsoid='{\"dsr\":[703,794,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#title_2.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#title_2.1\"},\"sa\":{\"href\":\"#title_2.1\"},\"dsr\":[706,794,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[719,753,24,7]}'>2.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[754,792,22,7]}'>title 2.1</span></a></li></ul></li></ul>\n\n</div>\n\n<h2 id=\"title_1\" data-parsoid='{\"dsr\":[804,817,2,2,1,1]}'>title 1</h2>\n\n<h3 id=\"title_1.1\" data-parsoid='{\"dsr\":[819,836,3,3,1,1]}'>title 1.1</h3>\n\n<h4 id=\"title_1.1.1\" data-parsoid='{\"dsr\":[838,859,4,4,1,1]}'>title 1.1.1</h4>\n\n<h3 id=\"title_1.2\" data-parsoid='{\"dsr\":[861,878,3,3,1,1]}'>title 1.2</h3>\n\n<h2 id=\"title_2\" data-parsoid='{\"dsr\":[880,893,2,2,1,1]}'>title 2</h2>\n\n<h3 id=\"title_2.1\" data-parsoid='{\"dsr\":[895,912,3,3,1,1]}'>title 2.1</h3>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#title_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">title 1</span>]]\n** [[#title_1.1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">title 1.1</span>]]\n** [[#title_1.2|<span class=\"tocnumber\">1.2</span> <span class=\"toctext\">title 1.2</span>]]\n* [[#title_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">title 2</span>]]\n** [[#title_2.1|<span class=\"tocnumber\">2.1</span> <span class=\"toctext\">title 2.1</span>]]\n\n</div>\n\n== title 1 ==\n\n=== title 1.1 ===\n\n==== title 1.1.1 ====\n\n=== title 1.2 ===\n\n== title 2 ==\n\n=== title 2.1 ===\n" }, "TOC with wgMaxTocLevel=3 and two level four headings (T8204)": { "wt2html": "<h2 id=\"Section_1\" data-parsoid='{\"dsr\":[0,13,2,2]}'>Section 1</h2>\n<h3 id=\"Section_1.1\" data-parsoid='{\"dsr\":[14,31,3,3]}'>Section 1.1</h3>\n<h4 id=\"Section_1.1.1\" data-parsoid='{\"dsr\":[32,53,4,4]}'>Section 1.1.1</h4>\n<h4 id=\"Section_1.1.1.1\" data-parsoid='{\"dsr\":[54,77,4,4]}'>Section 1.1.1.1</h4>\n<h2 id=\"Section_2\" data-parsoid='{\"dsr\":[78,91,2,2]}'>Section 2</h2>", "html2html": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\" data-parsoid='{\"stx\":\"html\",\"dsr\":[0,630,77,6]}'><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,347,42,6]}'>\n<h2 id=\"Contents\" data-parsoid='{\"dsr\":[229,243,2,2,1,1]}'>Contents</h2>\n<span class=\"toctogglespan\" data-parsoid='{\"stx\":\"html\",\"dsr\":[244,341,28,7]}'><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n<ul data-parsoid='{\"dsr\":[349,622,0,0]}'><li data-parsoid='{\"dsr\":[349,533,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Section_1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Section_1\"},\"sa\":{\"href\":\"#Section_1\"},\"dsr\":[351,437,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[364,396,24,7]}'>1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[397,435,22,7]}'>Section 1</span></a>\n<ul data-parsoid='{\"dsr\":[438,533,0,0]}'><li data-parsoid='{\"dsr\":[438,533,2,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Section_1.1\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Section_1.1\"},\"sa\":{\"href\":\"#Section_1.1\"},\"dsr\":[441,533,15,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[456,490,24,7]}'>1.1</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[491,531,22,7]}'>Section 1.1</span></a></li></ul></li>\n<li data-parsoid='{\"dsr\":[534,622,1,0,1,0]}'><a rel=\"mw:WikiLink\" href=\"./Parser_test#Section_2\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Parser_test#Section_2\"},\"sa\":{\"href\":\"#Section_2\"},\"dsr\":[536,622,13,2]}'><span class=\"tocnumber\" data-parsoid='{\"stx\":\"html\",\"dsr\":[549,581,24,7]}'>2</span> <span class=\"toctext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[582,620,22,7]}'>Section 2</span></a></li></ul>\n\n</div>\n\n<h2 id=\"Section_1\" data-parsoid='{\"dsr\":[632,647,2,2,1,1]}'>Section 1</h2>\n\n<h3 id=\"Section_1.1\" data-parsoid='{\"dsr\":[649,668,3,3,1,1]}'>Section 1.1</h3>\n\n<h4 id=\"Section_1.1.1\" data-parsoid='{\"dsr\":[670,693,4,4,1,1]}'>Section 1.1.1</h4>\n\n<h4 id=\"Section_1.1.1.1\" data-parsoid='{\"dsr\":[695,720,4,4,1,1]}'>Section 1.1.1.1</h4>\n\n<h2 id=\"Section_2\" data-parsoid='{\"dsr\":[722,737,2,2,1,1]}'>Section 2</h2>\n", "html2wt": "<div id=\"toc\" class=\"toc\" role=\"navigation\" aria-labelledby=\"mw-toc-heading\"><input type=\"checkbox\" role=\"button\" id=\"toctogglecheckbox\" class=\"toctogglecheckbox\" style=\"display:none\" /><div class=\"toctitle\" lang=\"en\" dir=\"ltr\">\n== Contents ==\n<span class=\"toctogglespan\"><label class=\"toctogglelabel\" for=\"toctogglecheckbox\"></label></span></div>\n\n* [[#Section_1|<span class=\"tocnumber\">1</span> <span class=\"toctext\">Section 1</span>]]\n** [[#Section_1.1|<span class=\"tocnumber\">1.1</span> <span class=\"toctext\">Section 1.1</span>]]\n* [[#Section_2|<span class=\"tocnumber\">2</span> <span class=\"toctext\">Section 2</span>]]\n\n</div>\n\n== Section 1 ==\n\n=== Section 1.1 ===\n\n==== Section 1.1.1 ====\n\n==== Section 1.1.1.1 ====\n\n== Section 2 ==\n" }, "Table / list interaction: indented table with lists in table contents": { "html2wt": ": {|\n|a\n\n* b\n|-\n|c\n\n* d\n|}\n", "selser [[[2]]]": ":1gdq7yk {| |- |a *b |- |c *d |}" }, "Table / list interaction: lists nested in tables nested in indented lists": { "html2wt": ": {|\n|\n: a\n: b\n|\n* c\n* d\n|}\n\n* e\n* f" }, "Table attribute legitimate extension": { "wt2wt": "{|\n! style=\"<nowiki>color:blue</nowiki>\" + |status\n|}", "html2wt": "{|\n! style=\"color:blue\" |status\n|}", "selser [[0,1]]": "{|\n!+ style=\"<nowiki>color:blue</nowiki>\"|status\n|}", "selser [[0,[1,4]]]": "{|\n!+ style=\"<nowiki>color:blue</nowiki>\"|status<!--i3j5qr-->\n|}", "selser [2]": "1jj0mbc\n{|\n!+ style=\"<nowiki>color:blue</nowiki>\"|status\n|}", "selser [[3,2]]": "{|<!--1pefuag-->\n!+ style=\"<nowiki>color:blue</nowiki>\"|status\n|}", "selser [1]": "{| data-foobar=\"buhzkf\"\n!+ style=\"<nowiki>color:blue</nowiki>\"|status\n|}", "selser [[0,[[[2]],2]]]": "{|\n!+ style=\"<nowiki>color:blue</nowiki>\"|ppiy4vstatus<!--ttb0cn-->\n|}" }, "Table attribute safety": { "wt2wt": "{|\n! style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\" + |status\n|}", "html2wt": "{|\n! style=\"/* insecure input */\" |status\n|}", "selser [[4,1]]": "{|<!--d17dj0-->\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [[4,[0,2]]]": "{|<!--cn6lpu-->\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status<!--tgejgq-->\n|}", "selser [[3,2]]": "{|<!--mix77b-->\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [1]": "{| data-foobar=\"q2fkfw\"\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [2]": "105b1n6\n{|\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [[0,2]]": "{|\n<!--1imb6os-->!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [[0,[[[2]],0]]]": "{|\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|ik2vnbstatus\n|}", "selser [[0,[2,0]]]": "{|\n<!--mblvqc-->!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [[0,[0,3]]]": "{|\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status\n|}", "selser [[0,[1,2]]]": "{|\n!+ style=\"<nowiki>border-width:expression(0+alert(document.cookie))</nowiki>\"|status<!--1500efe-->\n|}" }, "Table cell attributes: Pipes protected by nowikis should be treated as a plain character": { "wt2wt": "{|\n| title=\"foo\" |bar\n| title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "html2wt": "{|\n| title=\"foo\" |bar\n| title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [2]": "1v70o60\n{|\n|title=\"foo\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [[0,[[1,0,[3],2,[0,[2],0]],0]]]": "{|\n| title=\"foo\" data-foobar=\"dc6l96\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |\n|qyb9eu\n|title=\"foo<nowiki>mvdgbu|</nowiki>\" bar\n|}", "selser [[3,2]]": "{|<!--x9fvxn-->\n|title=\"foo\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [1]": "{| data-foobar=\"1fdcrc2\"\n|title=\"foo\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [[0,2]]": "{|\n<!--1l8szay-->|title=\"foo\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [[0,1]]": "{|\n|title=\"foo\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [[4,[[1,0,0,0,2],4]]]": "{|<!--19gn4sx-->\n| title=\"foo\" data-foobar=\"17ulhkg\" |bar\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|r1ztbh\n|title=\"foo<nowiki>|</nowiki>\" bar<!--1yk0khk-->\n|}", "selser [[3,[[1,0,2,4,[0,0,4]],4]]]": "{|\n| title=\"foo\" data-foobar=\"t7u4mj\" |bar\n|pvpgb5\n|title=\"foo<nowiki>|</nowiki>\" |bar\n|rpfjdf\n|title=\"foo<nowiki>|</nowiki>2i5lk4<!--10njgu1-->\n|}", "selser [[0,[[4,0,[2],3,2],0]]]": "{|\n|14qpfk\n|title=\"foo<nowiki>|</nowiki>\" |nqw0j5bar\n|12wx0lb\n|title=\"foo<nowiki>|</nowiki>\" bar\n|}", "selser [[3,[[[2],4,[3],3,1],0]]]": "{|\n|title=\"foo\" |1ww0lmubar\n|15aa2r6\n| title=\"foo<nowiki>|</nowiki>\" |\n| data-foobar=\"kim9v8\" |title=\"foo<nowiki>|</nowiki>\" bar\n|}" }, "Table cell with a single comment": { "html2wt": "{|\n|\n|a\n|}" }, "Table multiple attributes correction": { "wt2wt": "{|\n! class=\"awesome\" + |status\n|}", "html2wt": "{|\n! class=\"awesome\" |status\n|}", "selser [2]": "gfmvbo\n{|\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [1]": "{| data-foobar=\"e4w1bj\"\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[4,[[[2]],0]]]": "{|<!--15iehgr-->\n!+ class=\"error\" class=\"awesome\"|12qkhsgstatus\n|}", "selser [[0,2]]": "{|\n<!--1cmivxo-->!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[0,[1,3]]]": "{|\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[3,1]]": "{|\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[4,1]]": "{|<!--1p4ogrq-->\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[3,2]]": "{|<!--1uwfdeu-->\n!+ class=\"error\" class=\"awesome\"|status\n|}", "selser [[0,[2,0]]]": "{|\n<!--1hgrgiu-->!+ class=\"error\" class=\"awesome\"|status\n|}" }, "Table rowspan": { "wt2wt": "{| border=\"1\"\n|Cell 1, row 1\n| rowspan=\"2\" |Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "html2wt": "{| border=\"1\"\n|Cell 1, row 1\n| rowspan=\"2\" |Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[3,2]]": "{| border=1<!--bsg3j-->\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[0,1]]": "{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[2,[[2,0,3,0,4],0,[0,0,0,3],2]]]": "{| border=1<!--vu59jh-->\n|1wevifz\n|Cell 1, row 1\n|1arhi1f\n|-\n|Cell 1, row 2\n<!--blygy6-->\n|}", "selser [2]": "1akvfqc\n{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [1]": "{| border=\"1\" data-foobar=\"x2dq2h\"\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[0,[1,0,2,0]]]": "{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n<!--17ohwkd-->|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[3,4]]": "{| border=1<!--dhcub4-->\n|}", "selser [[2,2]]": "{| border=1<!--1wqljby-->\n<!--1x3lb84-->|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[3,3]]": "{| border=1\n|}", "selser [[0,[1,0,2,2]]]": "{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n<!--1ymdyuc-->|-\n|Cell 1, row 2\n|Cell 3, row 2<!--1jftah-->\n|}", "selser [[3,[1,0,[0,2,0,4],2]]]": "{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|o75uby\n|Cell 1, row 2\n|14qqwla<!--1xb3xh9-->\n|}", "selser [[0,[[4,0,4,0,1],0,1,2]]]": "{| border=1\n|1hxq18w\n|jw3fer\n| data-foobar=\"7z2fim\" |Cell 3, row 1\n|- data-foobar=\"xnlk74\"\n|Cell 1, row 2\n|Cell 3, row 2<!--1fzx2aa-->\n|}", "selser [[0,3]]": "{| border=1\n|}", "selser [[0,4]]": "{| border=1\n<!--9zhudu-->|}", "selser [[4,1]]": "{| border=1<!--12nblop-->\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[0,[2,0,4,0]]]": "{| border=1\n<!--drinag-->|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n<!--yc5yq0-->\n|}", "selser [[2,1]]": "{| border=1<!--l9k9aj-->\n|Cell 1, row 1\n| rowspan=\"2\" |Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n|Cell 1, row 2\n|Cell 3, row 2\n|}", "selser [[3,[1,0,[0,1,0,2],4]]]": "{| border=1\n|Cell 1, row 1\n|rowspan=2|Cell 2, row 1 (and 2)\n|Cell 3, row 1\n|-\n| data-foobar=\"kslfqt\" |Cell 1, row 2\n|p0tqkm\n|Cell 3, row 2<!--1454ta5-->\n|}" }, "Table td-cell syntax variations": { "wt2wt": "{|\n| foo bar |baz\n|foo bar foo||baz\n| style=\"color:red;\" |baz\n|style='color:red;'||baz\n|}", "html2wt": "{|\n|baz\n|foo bar foo\n|baz\n| style=\"color:red;\" |baz\n|style='color:red;'\n|baz\n|}", "selser [2]": "pk7eud\n{|\n|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz\n|}", "selser [[4,[1,4]]]": "{|<!--zvd4dx-->\n|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz<!--j8ngqd-->\n|}", "selser [1]": "{| data-foobar=\"ce1h0j\"\n|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz\n|}", "selser [[3,[2,0]]]": "{|<!--f8mryi-->\n|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz\n|}", "selser [[4,[[2,0,2,[3],4,0,3,[3],1],2]]]": "{|<!--1dvckmr-->\n|1q4f323\n|foo bar foo|baz\n|1xxpvyf\n|foo bar foo||\n|93pn2u\n|style='color:red;'|baz\n| || data-foobar=\"1397sh5\" |baz<!--lypzwq-->\n|}", "selser [[0,[[4,0,0,1,0,0,0,4,4],0]]]": "{|\n|wmksp5\n|foo bar foo|| data-foobar=\"1veeazb\" |baz\n|style='color:red;'|baz\n|1d18155\n|esix57\n|}", "selser [[0,[1,4]]]": "{|\n|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz<!--bg13zw-->\n|}", "selser [[0,[[1,4,0,2,2,0,4,0,0],3]]]": "{|\n| data-foobar=\"qs9lls\" foo bar |baz\n|1a6b5im\n|foo bar foo\n|i0zem6||baz\n|kypy6s\n|style='color:red;'|baz\n|1xt8wkm\n|style='color:red;'||baz\n|}", "selser [[0,2]]": "{|\n<!--1x3flov-->|foo bar foo|baz\n|foo bar foo||baz\n|style='color:red;'|baz\n|style='color:red;'||baz\n|}" }, "Table with missing opening <tr> tag": { "selser [[2,[[4,3],3]]]": "<table><!--y87cl6-->\n<td>1m48vn2</td></tr>\n</table>", "selser [[2,[0,3]]]": "<table><!--5qwxo-->\n<td>foo</td>\n</tr>\n</table>" }, "Tables: 4d. No escaping needed": { "html2wt": "{|\n|[[Foo]]-bar\n|| +1\n|| -2\n|}" }, "Template as link source": { "html2wt": "[[Main Page]]\n\n[[Main Page]]\n\n[[Main Page]]Page\n", "selser [0,4,[2],0,[1,0]]": "[[{{linktest2}}]]\n\npxk4qe\n\nfgwnub[[{{linktest2}}]]\n\n[[{{linktest2}}]]Page", "selser [[3],2,[[3]],3,[3,0]]": "\n\nn2eent\n\nPage", "selser [0,4,1,0,1]": "[[{{linktest2}}]]\n\n1rraqx1\n\n[[{{linktest2}}]]\n\n[[{{linktest2}}]]Page", "selser [2,2,[2],0,3]": "e4ict0\n\n[[{{linktest2}}]]\n\n1gd33w0\n\nd5dd2m[[{{linktest2}}]]\n" }, "Template caching": { "html2wt": "This is a test template\nThis is a test template\n" }, "Template from main namespace": { "html2wt": "blah blah\n" }, "Template from non-includable namespace": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,13,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"uh oh!\"}},\"i\":0}}]}'>uh oh!</span></p>", "html2wt": "[[Template:1x]]\n" }, "Template parameter": { "html2wt": "This is a test template with parameter foo\n" }, "Template parameter as link source": { "html2wt": "[[Main Page|link]]\n" }, "Template passing argument to another template": { "html2wt": "including another template, This is a test template with parameter 'hmm'\n" }, "Template unnamed parameter": { "html2wt": "[[Main Page|the main page]]\n" }, "Template with argument in separate line": { "wt2wt": "{{templateasargtest |\n templ = simple }}", "html2wt": "(test)\n", "selser [1]": "{{ templateasargtest |\n templ = simple }}", "selser [2]": "160j7hh\n\n{{ templateasargtest |\n templ = simple }}" }, "Template with complex arguments": { "wt2html": "<p data-parsoid='{\"dsr\":[0,106,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Template:Complextemplate\" title=\"Template:Complextemplate\" about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Template:Complextemplate\"},\"sa\":{\"href\":\"Template:complextemplate\"},\"dsr\":[0,106,null,null],\"pi\":[[{\"k\":\"param\",\"named\":true,\"spc\":[\"\\n \",\" \",\"\",\"\"]},{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"complextemplate\",\"href\":\"./Template:Complextemplate\"},\"params\":{\"param\":{\"wt\":\"{{ templateasargtest |\\n templ = simple }}\"},\"1\":{\"wt\":\"[[Template:complextemplate|link]]\"}},\"i\":0}}]}'>link</a><span about=\"#mwt1\"> This is a test template with parameter (test)</span></p>", "html2wt": "[[Template:Complextemplate|link]] This is a test template with parameter (test)\n" }, "Template with complex template as argument": { "html2wt": "This is a test template with parameter (test)\n" }, "Template with default value": { "html2wt": "(test)\n" }, "Template with default value (value set)": { "html2wt": "'''templ'''\n" }, "Template with explicit namespace": { "html2wt": "This is a test template\n" }, "Template with invalid target containing tags": { "wt2wt": "<nowiki>{{a</nowiki><b>b</b>|{{1x|foo}}|{{1x|a}}={{1x|b}}<nowiki>|a = b}}</nowiki>", "html2wt": "<nowiki>{{a</nowiki>'''b'''<nowiki>|foo|a=b|a = b}}</nowiki>\n", "selser [2]": "6m3b6y\n\n{{a<b>b</b>|{{1x|foo}}|{{1x|a}}={{1x|b}}|a = b}}", "selser [[3,3,3,0,4,0,2,0,0]]": "{{1x|foo}}napzwa{{1x|a}}iofwsk={{1x|b}}|a = b}}", "selser [[3,[4],2,0,0,0,3,0,0]]": "<b>1xxs67g</b>uckcy2|{{1x|foo}}|{{1x|a}}{{1x|b}}|a = b}}", "selser [1]": "<nowiki>{{a</nowiki><b>b</b>|{{1x|foo}}|{{1x|a}}={{1x|b}}|a = b}}", "selser [[2,[2],4,0,2,0,0,0,0]]": "<nowiki>9xe14n{{a</nowiki><b>eohk8ob</b>60vmj7{{1x|foo}}1i8dgjo|{{1x|a}}={{1x|b}}|a = b}}", "selser [[0,[2],2,0,0,0,3,0,0]]": "<nowiki>{{a</nowiki><b>1orfzvwb</b>1k84mlk|{{1x|foo}}|{{1x|a}}{{1x|b}}|a = b}}", "selser [[0,2,0,0,0,0,4,0,0]]": "<nowiki>{{aruce93</nowiki><b>b</b>|{{1x|foo}}|{{1x|a}}1klwcjt{{1x|b}}|a = b}}", "selser [[2,0,0,0,4,0,0,0,0]]": "<nowiki>9lhhf6{{a</nowiki><b>b</b>|{{1x|foo}}10rdcyk{{1x|a}}={{1x|b}}|a = b}}", "selser [[0,0,4,0,0,0,0,0,0]]": "<nowiki>{{a</nowiki><b>b</b>112xyy0{{1x|foo}}|{{1x|a}}={{1x|b}}|a = b}}", "selser [[4,1,0,0,4,0,3,0,0]]": "t9hq36<b data-foobar=\"ngjfip\">b</b>|{{1x|foo}}hc4wv8{{1x|a}}{{1x|b}}|a = b}}" }, "Template with invalid target containing wikilink": { "wt2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'>{{<a rel=\"mw:WikiLink\" href=\"./Main_Page\" title=\"Main Page\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main Page\"},\"dsr\":[2,15,2,2]}'>Main Page</a>}}</p>", "wt2wt": "<nowiki>{{</nowiki>[[Main Page]]<nowiki>}}</nowiki>", "html2html": "<p data-parsoid='{\"dsr\":[0,17,0,0]}'>{{<a rel=\"mw:WikiLink\" href=\"./Main_Page\" title=\"Main Page\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main Page\"},\"dsr\":[2,15,2,2]}'>Main Page</a>}}</p>", "selser [2]": "gmc0h9\n\n{{[[Main Page]]}}", "selser [1]": "<nowiki>{{</nowiki>[[Main Page]]}}", "selser [[3,0,0]]": "[[Main Page]]}}", "selser [[0,1,0]]": "<nowiki>{{</nowiki>[[Main Page]]}}", "selser [[2,0,0]]": "<nowiki>kjffgy{{</nowiki>[[Main Page]]}}", "selser [[0,[2],0]]": "<nowiki>{{</nowiki>[[Main Page|34249sMain Page]]}}", "selser [[4,2,0]]": "81pro31xhenjk[[Main Page]]}}", "selser [[3,[4],0]]": "[[Main Page|1787260]]}}" }, "Template with just whitespace in it, T70421": { "html2html": "<p data-parsoid='{\"dsr\":[0,29,0,0]}'>{{1x|{{ }<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[9,27,8,9]}'>}</span>}}</p>" }, "Template with template name as argument": { "html2wt": "(test)\n" }, "Template with template name as argument (2)": { "html2wt": "(test)\n" }, "Template with template name as unnamed argument": { "html2wt": "(test)\n" }, "Templated table cell with untemplated attributes: Unsupported Scenarios": { "wt2html": "<table data-parsoid='{\"dsr\":[0,128,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[3,126,0,0]}'><tr data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[3,36,2,0]}'>\n<td data-parsoid='{\"dsr\":[6,18,1,0]}'>class=\"foo\"</td><td about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[18,36,null,null],\"pi\":[[{\"k\":\"1\",\"named\":true,\"spc\":[\"\",\"\",\" \",\"\"]}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"{{!}}bar\"}},\"i\":0}}]}'>bar</td></tr>\n<tr data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[37,75,2,0]}'>\n<td about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[40,75,1,0],\"firstWikitextNode\":\"TD\",\"pi\":[[{\"k\":\"1\",\"named\":true}]]}' data-mw='{\"parts\":[\"|class=\\\"foo\\\"\",{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"&nbsp;{{!}}bar\"}},\"i\":0}}]}'>class=\"foo\"<span typeof=\"mw:Entity\"> </span></td><td about=\"#mwt3\">bar</td></tr>\n<tr data-parsoid='{\"startTagSrc\":\"|-\",\"dsr\":[76,125,2,0]}'>\n<td data-parsoid='{\"dsr\":[79,91,1,0]}'>class=\"foo\"</td><td about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[91,125,null,null],\"pi\":[[{\"k\":\"1\",\"named\":true}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"{{!}}title=\\\"fail\\\"{{!}}bar\"}},\"i\":0}}]}'>title=\"fail\"</td><td about=\"#mwt5\">bar</td></tr>\n</tbody></table>" }, "Templates with templated name": { "html2html": "<p data-parsoid='{\"dsr\":[0,39,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,17,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"{{1x|1x}}\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span>\n{<span about=\"#mwt3\" typeof=\"mw:Param\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[19,38,null,null]}' data-mw='{\"parts\":[{\"templatearg\":{\"target\":{\"wt\":\"1x\"},\"params\":{\"1\":{\"wt\":\"inner list\"}},\"i\":0}}]}'>inner list</span>}</p>", "html2wt": "{{{{1x|1x}}|foo}}\n{{{{1x|inner list}}}}" }, "Templates: 1. Simple use": { "html2wt": "Foo\n" }, "Templates: 2. Inside a block tag": { "html2wt": "<div>Foo</div>\n<blockquote>Foo</blockquote>" }, "Templates: Block Tags: 1. Multiple template uses": { "html2wt": "<div>Foo</div><div>bar</div><div>baz</div>" }, "Templates: Block Tags: 2. Back-to-back template uses": { "html2wt": "<div>Foo</div><div>bar</div>" }, "Templates: Don't strip whitespace from positional-param values": { "wt2html": "<p data-parsoid='{\"dsr\":[0,9,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,9,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"a \"}},\"i\":0}}]}'>a </span></p>\n\n<p data-parsoid='{\"dsr\":[11,27,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[11,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"{{1x|b}} \"}},\"i\":0}}]}'>b </span></p>\n\n<pre about=\"#mwt4\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[29,40,1,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\" c \\n\"}},\"i\":0}}]}'>c </pre><span about=\"#mwt4\">\n</span>\n\n<pre about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[42,59,1,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\" {{1x|d}}\\n\"}},\"i\":0}}]}'>d</pre><span about=\"#mwt5\">\n</span>\n\n<span about=\"#mwt7\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[61,71,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n e\"}},\"i\":0}}]}'>\n</span><pre about=\"#mwt7\">e</pre>\n\n<ul about=\"#mwt8\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[73,83,null,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n*f\"}},\"i\":0}}]}'><li>f</li></ul>\n\n<span about=\"#mwt9\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[85,95,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n \"}},\"i\":0}},\"g\"]}'>\n</span><pre about=\"#mwt9\">g</pre>", "html2wt": "a \n\nb \n\n c \n\n\n d\n\n\n e\n\n\n* f\n\n\n g\n" }, "Templates: HTML Tables: 1. Generating start of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 2a. Generating middle of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 2b. Generating middle of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 3. Generating end of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4a. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4b. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4c. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4d. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4e. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 4f. Generating a single tag of a HTML table": { "html2wt": "{|\n|foo\n|}" }, "Templates: HTML Tables: 5. Proper fostering of categories from inside": { "wt2wt": "[[Category:foo1]]\n<table><tr><td>foo</td></tr></table>\n<!--Two categories (T52330)-->\n[[Category:bar1]]\n[[Category:bar2]]\n<table><tr><td>foo</td></tr></table>", "selser [0,4,3,3,0,0,3,1]": "\n19h1ld5\n\n<table data-foobar=\"exxatp\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,[3],0,0,3,0,4,2]": "<table></table>\n<!--Two categories (T52330)-->\n87j86d\n\n1f0erjx<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [4,1,3,2,2,2,0,2]": "19xyk39<table data-foobar=\"1qcb51b\"><tr><td>foo</td></tr></table>1o0d9it<!--Two categories (T52330)-->3lz621\n1bgu2v5\n\n12i5r36<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,4,2,4,2,1,0,1]": "\npn4gr3\n\n1lihmsq\n\nd9y1hz\n\n1rj5xqn\n[[Category:bar1]]<table data-foobar=\"1eie4b1\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [3,[[3]],3,2,0,4,0,4]": "<table></table>1amt4y8<!--Two categories (T52330)-->\neqzawk\n\n14qwron", "selser [1,3,0,4,0,0,0,[[[[3]]]]]": "[[Category:foo1]]\n4wwu7l\n<table><tr><td></td></tr></table>", "selser [3,2,3,2,2,0,0,[[[[2]]]]]": "17g3f08<table>[[Category:foo1]]<tr><td>foo</td></tr></table>98bgxd<!--Two categories (T52330)-->5w164m\n<table><tr><td>gllkrhfoo</td></tr></table>", "selser [1,2,0,0,4,0,0,1]": "[[Category:foo1]]\nu53ooc<table>[[Category:foo1]]<tr><td>foo</td></tr></table>\n<!--Two categories (T52330)-->1yiap4j\n<table data-foobar=\"1pkwb5z\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,1,4,0,0,0,1,[1]]": "<table data-foobar=\"1ao67b1\">[[Category:foo1]]<tr><td>foo</td></tr></table>1qf8oge<!--Two categories (T52330)-->\n[[Category:bar2]]<table><tr><td>foo</td></tr></table>", "selser [4,3,0,2,2,0,0,[2]]": "1iafpl4\n\n6kydpl<!--Two categories (T52330)-->\n\n15ckbun\n<table><!--zfemic-->[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [2,3,4,2,3,0,0,0]": "1ruq81a\n\n1qw8sl4\n\n1qejmyr<!--Two categories (T52330)-->\n<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [4,1,0,2,0,0,3,2]": "5hz3aw<table data-foobar=\"upzbpv\"><tr><td>foo</td></tr></table>\ncwe6qn<!--Two categories (T52330)-->\n\ngqnxgh<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,3,2,4,3,3,0,4]": "\nog20f2\n\noew26\n\n14dtcb7", "selser [0,2,4,4,4,4,2,0]": "\n9681q6<table>[[Category:foo1]]<tr><td>foo</td></tr></table>9v9qhb\n\n7f819c\n\n1a1swkg\n\nfktl95\n\nlid51k\n<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,3,2,0,2,4,0,2]": "\nuwa66g\n<!--Two categories (T52330)-->\n13g5uav\n\n1reh495\n\n1dr806a<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [2,3,2,2,0,0,0,[[4]]]": "187345c\n\n1f6yku\n\n152w7ze<!--Two categories (T52330)-->\n<table><!--12qheqo--></table>", "selser [0,1,4,0,0,0,1,[2]]": "<table data-foobar=\"14spsos\">[[Category:foo1]]<tr><td>foo</td></tr></table>nfwv7p<!--Two categories (T52330)-->\n[[Category:bar2]]<table><!--1eg7h61-->[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>", "selser [0,[2],0,2,2,0,0,[1]]": "<table><!--z6fyce-->[[Category:foo1]]<tr><td>foo</td></tr></table>\nidlxej<!--Two categories (T52330)-->\n\n188n4it\n<table><tr><td>foo</td></tr></table>", "selser [0,[[3]],2,0,0,4,0,[[[4]]]]": "<table></table>2bm4an\n<!--Two categories (T52330)-->\nhvw0xo\n<table><tr><td>19l0hr1</td></tr></table>", "selser [0,4,4,0,0,3,2,[3]]": "\ng5pbjc\n\n1uawsi1<!--Two categories (T52330)-->\n\nxxbxzn\n<table></table>" }, "Templates: HTML Tag: 1. Generation of HTML attr. key": { "html2wt": "<div style=\"color:red;\">foo</div>" }, "Templates: HTML Tag: 2. Generation of HTML attr. value": { "wt2html": "<div style=\"'color:red;'\" about=\"#mwt2\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"'color:red;'\"},\"sa\":{\"style\":\"{{1x|'color:red;'}}\"},\"dsr\":[0,40,31,6]}' data-mw='{\"attribs\":[[{\"txt\":\"style\"},{\"html\":\"<span about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"}]],\\\"dsr\\\":[11,30,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"1x\\\",\\\"href\\\":\\\"./Template:1x\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"&apos;color:red;&apos;\\\"}},\\\"i\\\":0}}]}'>'color:red;'</span>\"}]]}'>foo</div>", "wt2wt": "<div style=\"{{1x|'color:red;'}}\">foo</div>", "html2wt": "<div style=\"color:red;\">foo</div>", "selser [[4]]": "<div style={{1x|'color:red;'}}>st8w6k</div>", "selser [[3]]": "<div style={{1x|'color:red;'}}></div>", "selser [2]": "j1h7tb<div style={{1x|'color:red;'}}>foo</div>", "selser [[2]]": "<div style={{1x|'color:red;'}}>1t5bf2jfoo</div>" }, "Templates: HTML Tag: 3. Generation of HTML attr key and value": { "wt2html": "<div style=\"'color:red;'\" about=\"#mwt3\" typeof=\"mw:ExpandedAttrs\" data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"'color:red;'\"},\"sa\":{\"style\":\"{{1x|'color:red;'}}\"},\"dsr\":[0,47,38,6]}' data-mw='{\"attribs\":[[{\"txt\":\"style\",\"html\":\"<span about=\\\"#mwt2\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"}]],\\\"dsr\\\":[5,17,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"1x\\\",\\\"href\\\":\\\"./Template:1x\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"style\\\"}},\\\"i\\\":0}}]}'>style</span>\"},{\"html\":\"<span about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\"}]],\\\"dsr\\\":[18,37,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"1x\\\",\\\"href\\\":\\\"./Template:1x\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"&apos;color:red;&apos;\\\"}},\\\"i\\\":0}}]}'>'color:red;'</span>\"}]]}'>foo</div>", "wt2wt": "<div {{1x|style}}=\"{{1x|'color:red;'}}\">foo</div>", "html2wt": "<div style=\"color:red;\">foo</div>", "selser [2]": "pdx0f1<div {{1x|style}}={{1x|'color:red;'}}>foo</div>", "selser [[2]]": "<div {{1x|style}}={{1x|'color:red;'}}>or4lrdfoo</div>", "selser [[3]]": "<div {{1x|style}}={{1x|'color:red;'}}></div>", "selser [[4]]": "<div {{1x|style}}={{1x|'color:red;'}}>1olq5ql</div>" }, "Templates: HTML Tag: 4. Generation of starting piece of HTML attr value": { "html2wt": "<div title=\"This is a long title with just one piece templated\">foo</div>" }, "Templates: HTML Tag: 5. Generation of middle piece of HTML attr value": { "html2wt": "<div title=\"This is a long title with just one piece templated\">foo</div>" }, "Templates: HTML Tag: 6. Generation of end piece of HTML attr value": { "html2wt": "<div title=\"This is a long title with just one piece templated\">foo</div>" }, "Templates: HTML Tag: 7. Generation of partial attribute key string": { "html2wt": "<div style=\"color:red;\">foo</div>" }, "Templates: HTML Tag: 8. Template-generated attribute (k=v)": { "html2wt": "<div id=\"v1\">bar</div>" }, "Templates: HTML Tag: 9. Multiple template-generated attributes": { "wt2wt": "<div {{1x|1=id=\"v1\" title=\"foo\"}} title=\"foo\">bar</div>", "html2wt": "<div id=\"v1\" title=\"foo\">bar</div>", "selser [2]": "p24rfu<div {{1x|1=id=\"v1\" title=\"foo\"}}>bar</div>", "selser [[4]]": "<div {{1x|1=id=\"v1\" title=\"foo\"}}>le9cq8</div>", "selser [[2]]": "<div {{1x|1=id=\"v1\" title=\"foo\"}}>1bxu541bar</div>", "selser [[3]]": "<div {{1x|1=id=\"v1\" title=\"foo\"}}></div>" }, "Templates: Handle comments in parameter names (T69657)": { "html2wt": "{{1x|1\n<!-- should be ignored -->=foo}}\n\n{{1x|<!-- should be ignored -->\n1=foo}}\n\n{{1x|1<!-- should be ignored -->=foo}}\n\n{{1x|<!-- should be ignored -->1=foo}}" }, "Templates: Handle comments in the target": { "wt2wt": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{1x|foo}}", "html2html": "<p data-parsoid='{\"dsr\":[0,37,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,37,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\\n<!-- should be ignored -->\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>\n\n<p data-parsoid='{\"dsr\":[39,132,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[39,132,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>\n\n<p data-parsoid='{\"dsr\":[134,170,0,0]}'><span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[134,170,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x<!-- should be ignored -->\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>\n\n<p data-parsoid='{\"dsr\":[172,208,0,0]}'><span about=\"#mwt4\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[172,208,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x<!-- should be ignored -->\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>\n\n<p data-parsoid='{\"dsr\":[210,220,0,0]}'><span about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[210,220,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>", "html2wt": "{{1x\n<!-- should be ignored -->|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{1x|foo}}", "selser [0,0,0,0,0,3,1,2,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n11s4vri\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,3,2,2,0,0,0,2,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\nx9t199\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\njf19e9\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\ne3eyak\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,3,0,0,0,0,4,3,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n1or8ult\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,3,0,2,0,0,0,0,2]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n3kje4\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\nhjntaw\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,3,0,4,0,0,0,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n19mqg7x\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,0,2,0,1,3,0,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n7b24db\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,0,0,3,0,2,4,4,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n1ja78u2\n\n1dx8rel\n\n16zh6f8\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,2,0,0,4,4,1,0,2]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n9y49hn\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n1ddrh7k\n\nusdnpp\n\n{{1x<!-- should be ignored -->|foo}}\n\nojmq1t\n\n{{<!-- should be ignored -->1x|foo}}", "selser [4,3,0,0,2,0,3,0,0]": "1mf1wb2\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n12ltey2\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,0,0,4,0,3,4,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n15kz7wx\n\n{{1x<!-- should be ignored -->\n|foo}}\n\nrrsz5e\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,2,3,4,3,0,1,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n1tk3qw5\n\n1hbje26\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [1,2,2,0,0,3,1,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n1vdnldk\n\nljxuak\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,0,0,0,0,0,4,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\nwikvcr\n\n{{<!-- should be ignored -->1x|foo}}", "selser [4,4,3,0,3,0,0,2,0]": "1io1y5h\n\nd6x522\n\n{{1x<!-- should be ignored -->|foo}}\n\n1yybzd6\n\n{{<!-- should be ignored -->1x|foo}}", "selser [3,0,1,0,1,0,0,4,0]": "\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n2bjd83\n\n{{<!-- should be ignored -->1x|foo}}", "selser [2,3,0,2,0,0,0,0,0]": "1p7jro6\n\n{{1x\n<!-- should be ignored -->\n|foo}}\n\n{{1x\n<!-- should be ignored and spaces on next line should not trip us up (T147742) -->\n |foo}}\n\n1sfbaik\n\n{{1x<!-- should be ignored -->\n|foo}}\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}", "selser [0,0,4,0,0,2,0,0,0]": "{{1x\n<!-- should be ignored -->\n|foo}}\n\n10zfktk\n\n{{1x<!-- should be ignored -->\n|foo}}\n\nahtv70\n\n{{1x<!-- should be ignored -->|foo}}\n\n{{<!-- should be ignored -->1x|foo}}" }, "Templates: Indent-Pre: 1a. Templates that break a line should suppress <pre>": { "html2wt": "" }, "Templates: Indent-Pre: 1b. Templates that break a line should suppress <pre>": { "html2wt": "foo\n" }, "Templates: Indent-Pre: 1c: Wrapping should be based on expanded content": { "html2wt": " a\n\nb\n" }, "Templates: Indent-Pre: 1d: Wrapping should be based on expanded content": { "html2wt": " a\n\nb\nc\n\n d\n\ne\n" }, "Templates: Indent-Pre: 1e. Wrapping should be based on expanded content": { "html2wt": " foo\n\n foo bar\n\n foo\n bar\n\n foo\n\n foo\n\n bar\n" }, "Templates: Indent-Pre: 1f: Wrapping should be based on expanded content": { "wt2html": "<pre about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,9,1,0],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\" \"}},\"i\":0}},\"a\"]}'>a</pre>\n\n<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[11,21,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n \"}},\"i\":0}},\"a\"]}'>\n</span><pre about=\"#mwt2\">a</pre>\n\n<span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[23,33,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n b\"}},\"i\":0}}]}'>\n</span><pre about=\"#mwt3\">b</pre>\n\n<p about=\"#mwt4\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[35,46,0,0],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"a\\n \"}},\"i\":0}},\"b\"]}'>a</p><span about=\"#mwt4\">\n</span><pre about=\"#mwt4\">b</pre>\n\n<p about=\"#mwt5\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[48,57,0,0],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"a\\n\"}},\"i\":0}}]}'>a</p><span about=\"#mwt5\">\n</span><pre data-parsoid='{\"dsr\":[57,59,1,0]}'>b</pre>", "wt2wt": "{{1x| }}a\n\n{{1x|\n }}a\n\n{{1x|\n b}}\n\n{{1x|a\n }}b\n\n{{1x|a\n}}\n b\n", "html2wt": " a\n\n\n a\n\n\n b\n\na\n\n b\n\na\n\n b\n", "selser [0,4,0,0,0,0,0,3,0,0,0,4,0,0,[3]]": "{{1x| }}a60me7p{{1x|\n }}a\n\n{{1x|\n b}}\n{{1x|a\n }}b\n1845xzp{{1x|a\n}} ", "selser [0,4,0,0,0,0,0,4,0,0,0,0,0,0,0]": "{{1x| }}aj90d3l{{1x|\n }}a\n\n{{1x|\n b}}\nzgdomz{{1x|a\n }}b\n\n{{1x|a\n}} b", "selser [0,3,0,0,0,0,0,4,0,0,0,0,0,0,[4]]": "{{1x| }}a{{1x|\n }}a\n\n{{1x|\n b}}\n14v9z5u{{1x|a\n }}b\n\n{{1x|a\n}} 99dktd", "selser [0,4,0,0,0,0,0,0,0,0,0,2,0,0,[3]]": "{{1x| }}adm7tcc{{1x|\n }}a\n\n{{1x|\n b}}\n\n{{1x|a\n }}b\nvw42dq\n\n{{1x|a\n}} ", "selser [0,3,0,0,0,0,0,0,0,0,0,2,0,0,[3]]": "{{1x| }}a{{1x|\n }}a\n\n{{1x|\n b}}\n\n{{1x|a\n }}b\n9taely\n\n{{1x|a\n}} ", "selser [0,3,0,0,0,0,0,3,0,0,0,4,0,0,0]": "{{1x| }}a{{1x|\n }}a\n\n{{1x|\n b}}\n{{1x|a\n }}b\n1izgzim{{1x|a\n}} b", "selser [0,3,0,0,0,0,0,3,0,0,0,3,0,0,0]": "{{1x| }}a{{1x|\n }}a\n\n{{1x|\n b}}\n{{1x|a\n }}b\n{{1x|a\n}} b", "selser [0,0,0,0,0,0,0,2,0,0,0,0,0,0,1]": "{{1x| }}a\n\n{{1x|\n }}a\n\n{{1x|\n b}}\noj610q\n\n{{1x|a\n }}b\n\n{{1x|a\n}} b", "selser [0,2,0,0,0,0,0,3,0,0,0,0,0,0,1]": "{{1x| }}a1442ymz\n\n{{1x|\n }}a\n\n{{1x|\n b}}\n{{1x|a\n }}b\n\n{{1x|a\n}} b", "selser [0,0,0,0,0,0,0,0,0,0,0,4,0,0,0]": "{{1x| }}a\n\n{{1x|\n }}a\n\n{{1x|\n b}}\n\n{{1x|a\n }}b\n3cw4yv{{1x|a\n}} b", "selser [0,0,0,0,4,0,0,0,0,0,0,0,0,0,[2]]": "{{1x| }}a\n\n{{1x|\n }}a\nzfyath{{1x|\n b}}\n\n{{1x|a\n }}b\n\n{{1x|a\n}} 12ev5ibb", "selser [0,0,0,0,0,0,0,0,0,0,0,0,0,0,[4]]": "{{1x| }}a\n\n{{1x|\n }}a\n\n{{1x|\n b}}\n\n{{1x|a\n }}b\n\n{{1x|a\n}} gcrjt0" }, "Templates: Inline Text: 1. Multiple template uses": { "html2wt": "Foobarbaz\n" }, "Templates: Inline Text: 2. Back-to-back template uses": { "html2wt": "Foobar\n" }, "Templates: Links: 1. Simple example": { "html2wt": "[[Foo|bar]]\n" }, "Templates: Links: 2. Generation of link href": { "html2wt": "[[Foo|bar]]\n" }, "Templates: Links: 3. Generation of part of a link href": { "html2html": "<p data-parsoid='{\"dsr\":[0,11,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Foo\" title=\"Foo\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Foo\"},\"sa\":{\"href\":\"Foo\"},\"dsr\":[0,11,6,2]}'>bar</a></p>\n\n<p data-parsoid='{\"dsr\":[13,67,0,0]}'>[/index.php?title=Foobar&action=edit&redlink=1 Foobar]</p>\n\n<p data-parsoid='{\"dsr\":[69,129,0,0]}'>[/index.php?title=Foobarbaz&action=edit&redlink=1 Foobarbaz]</p>\n\n<p data-parsoid='{\"dsr\":[131,182,0,0]}'>[/index.php?title=Foobar&action=edit&redlink=1 bar]</p>\n\n<p data-parsoid='{\"dsr\":[184,238,0,0]}'>[/index.php?title=Foobar&action=edit&redlink=1 Foobar]</p>\n\n<p data-parsoid='{\"dsr\":[240,291,0,0]}'>[/index.php?title=Foobar&action=edit&redlink=1 bar]</p>\n", "html2wt": "[[Foo|bar]]\n\n[/index.php?title=Foobar&action=edit&redlink=1 Foobar]\n\n[/index.php?title=Foobarbaz&action=edit&redlink=1 Foobarbaz]\n\n[/index.php?title=Foobar&action=edit&redlink=1 bar]\n\n[/index.php?title=Foobar&action=edit&redlink=1 Foobar]\n\n[/index.php?title=Foobar&action=edit&redlink=1 bar]\n", "selser [3,2,[[3]],0,4,2,[[3]],4,[1],4,[2]]": "aywe6t\n\n2atoa8\n\n1byy9q\n\n1o38tet\n\n[[:Foo{{1x|bar}}]]\n\n1dte6r9\n\ns1p4mx[[:Foo{{1x|bar}}|bar]]", "selser [0,4,4,0,1,0,[3],0,0,0,4]": "[[Fo{{1x|o}}|bar]]\n\n1c1r7lu\n\n1o3oo46\n\n[[Foo{{1x|bar}}baz]]\n\n[[:Foo{{1x|bar}}]]\n\n1iow8d2", "selser [[[3]],3,4,3,[1],0,[[4]],0,[4],2,[[4]]]": "\n1pm7qe5\n\n[[Foo{{1x|bar}}baz]]\n\n[[Foo{{1x|bar}}|1vrh4rz]]\n\n4pyayk\n\n1i2zpn1\n\n[[:Foo{{1x|bar}}|1kp3plh]]", "selser [3,0,1,4,[3],4,4,0,[[3]],0,0]": "\n[[Foo{{1x|bar}}]]\n\n999g2f\n\n\n1hm4i9h\n\n1feh9l\n\n[[:Foo{{1x|bar}}|bar]]" }, "Templates: Links: 4. Multiple templates generating link href": { "html2html": "<p data-parsoid='{\"dsr\":[0,54,0,0]}'>[/index.php?title=Foobar&action=edit&redlink=1 Foobar]</p>\n", "html2wt": "[/index.php?title=Foobar&action=edit&redlink=1 Foobar]\n" }, "Templates: Links: 5. Generation of link text": { "html2wt": "[[Foo|bar]]\n" }, "Templates: Links: 5. Nested templates (only outermost template should be marked)": { "html2wt": "[[Foo|bar]]\n" }, "Templates: Lists: Multi-line list-items via templates": { "html2html": "<ul data-parsoid='{\"dsr\":[0,173,0,0]}'><li data-parsoid='{\"dsr\":[0,86,1,0,1,0]}'>a [/index.php?title=Template:Nonexistent&action=edit&redlink=1 Template:Nonexistent]</li>\n<li data-parsoid='{\"dsr\":[87,173,1,0,1,0]}'>b [/index.php?title=Template:Nonexistent&action=edit&redlink=1 Template:Nonexistent]</li></ul>", "html2wt": "* a [/index.php?title=Template:Nonexistent&action=edit&redlink=1 Template:Nonexistent]\n* b [/index.php?title=Template:Nonexistent&action=edit&redlink=1 Template:Nonexistent]" }, "Templates: Other wikitext in parameter names (T69657)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"''1''\",\"named\":true}]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"''1''\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"''1''\",\"named\":true}]],\"dsr\":[0,16,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"''1''\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span></p>" }, "Templates: P-wrapping: 1a. Templates on consecutive lines": { "html2wt": "Foo\nbar\n" }, "Templates: P-wrapping: 1b. Templates on consecutive lines": { "html2wt": "Foo\n\nbar\nbaz\n" }, "Templates: P-wrapping: 1c. Templates on consecutive lines": { "selser [0,0,0,4,2]": "{{1x|Foo}}\n{{1x|bar}}\n\ny6i2wq\n\nwhdbxd<div>baz</div>", "selser [1,0,0,2,1]": "{{1x|Foo}}\n{{1x|bar}}\n\n1gf1ef7 <div data-foobar=\"lzr5vy\">baz</div>" }, "Templates: Strip leading and trailing whitespace from named-param values": { "html2wt": "a\n\nb\n\nc\n\n* d" }, "Templates: Ugly nesting: 1. Quotes opened/closed across templates (1x)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,34,0,0]}'><i about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,34,null,null],\"pi\":[[{\"k\":\"1\"}],[{\"k\":\"1\"}],[{\"k\":\"1\"}]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"''a\"}},\"i\":0}},{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"b''c''d\"}},\"i\":1}},{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"''e\"}},\"i\":2}}]}'>ab</i><span about=\"#mwt1\">c</span><i about=\"#mwt1\">d</i><span about=\"#mwt1\">e</span></p>", "html2wt": "''ab''c''d''e\n" }, "Templates: Ugly nesting: 4. Divs opened/closed across templates": { "html2wt": "a<div>bc</div>de" }, "Templates: Ugly templates: 3. newline-only template parameter": { "html2wt": "foo \n" }, "Templates: Ugly templates: 4. newline-only template parameter inconsistency": { "wt2html": "<span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,8,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"\\n\"}},\"i\":0}}]}'>\n</span>", "html2html": "\n\n", "html2wt": "\n\n" }, "Templates: Wiki Tables: 3. td-content via multiple templates": { "html2wt": "{|\n|ab\n|}" }, "Templates: Wiki Tables: 5. Templated tags, regular td-tags": { "html2wt": "{|\n|foo\n|}" }, "Templates: Wiki Tables: 6. Templated tags, templated td-tags": { "html2wt": "{|\n|foo\n|}" }, "Templates: Wiki Tables: 8. Fosterable meta-tags should get fostered": { "html2html": "<meta typeof=\"mw:Transclusion mw:Includes/OnlyInclude\" about=\"#mwt1\" data-parsoid='{\"dsr\":[0,64,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"UnclosedTableEndsWithTR\",\"href\":\"./Template:UnclosedTableEndsWithTR\"},\"params\":{},\"i\":0}},\"\\n<onlyinclude>\\n|foo\\n</onlyinclude>\\n|}\"]}'/><table about=\"#mwt1\">\n<tbody><tr>\n\n<td>foo\n<meta typeof=\"mw:Includes/OnlyInclude/End\"/></td></tr>\n</tbody></table>\n<table data-parsoid='{\"dsr\":[65,90,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[68,88,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"dsr\":[68,87,0,0]}'><td data-parsoid='{\"dsr\":[68,87,1,0]}'>foo\n<meta typeof=\"mw:Includes/OnlyInclude/End\" data-parsoid='{\"src\":\"</onlyinclude>\",\"dsr\":[73,87,null,null]}'/></td></tr>\n</tbody></table>\n\n<meta typeof=\"mw:Includes/NoInclude\" data-parsoid='{\"src\":\"<noinclude>\",\"dsr\":[92,103,null,null]}'/>\n<meta typeof=\"mw:Transclusion mw:Includes/NoInclude/End\" about=\"#mwt2\" data-parsoid='{\"dsr\":[104,152,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"UnclosedTableEndsWithTR\",\"href\":\"./Template:UnclosedTableEndsWithTR\"},\"params\":{},\"i\":0}},\"\\n</noinclude>\\n|foo\\n|}\"]}'/><table about=\"#mwt2\">\n<tbody><tr>\n\n<td>foo</td></tr>\n</tbody></table> \n<table data-parsoid='{\"dsr\":[154,164,2,2]}'>\n<tbody data-parsoid='{\"dsr\":[157,162,0,0]}'><tr data-parsoid='{\"autoInsertedStart\":true,\"dsr\":[157,161,0,0]}'><td data-parsoid='{\"dsr\":[157,161,1,0]}'>foo</td></tr>\n</tbody></table>", "html2wt": "{{UnclosedTableEndsWithTR}}\n<onlyinclude>\n|foo\n</onlyinclude>\n|}\n{|\n|foo\n</onlyinclude>\n|}\n\n<noinclude>\n{{UnclosedTableEndsWithTR}}\n</noinclude>\n|foo\n|} \n{|\n|foo\n|}", "selser [0,0,2,3,0,0,0]": "{{UnclosedTableEndsWithTR}}\n<onlyinclude>\n|foo\n</onlyinclude>\n|}\nl010k6\n\n\n{{UnclosedTableEndsWithTR}}\n</noinclude>\n|foo\n|}" }, "Test the li-hack (a hack from Tidy days, but doesn't work as advertised with Remex)": { "selser [[0,2,1,[3,3],3,0,0,3,2,[3]],0,3]": "*foo\n* v8yh25\n*<li>\n*{{1x|<li>templated li-hack}}\n**bar2* ksjd4q\n*<!--foo--><li>\n" }, "Testing serialization after deletion of table cells": { "selser [manual]": "{|\n!h1 !!h2 !!h3\n|c2 |||c3\n|}", "selser [[0,[[2,4,[3],2,3,2,1],0]]]": "{|\n!csxba4\n!h1 \n!t84r7o!!\n!1awkle6\n!1cz1t59\n|c2 || data-foobar=\"ztx97e\"|c3\n|}", "selser [1]": "{| data-foobar=\"1wk5r9j\"\n!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}", "selser [[0,2]]": "{|\n<!--pikbtg-->!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}", "selser [2]": "jjco8\n{|\n!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}", "selser [[4,[[1,[4],2,4,0,0,1],2]]]": "{|<!--1suoukh-->\n! data-foobar=\"rk18oo\" |h1 !!18wtl70 \n!qnyy7b!!h3\n!zs6fgw\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 || data-foobar=\"kaqv9t\"|c3<!--ux8nfz-->\n|}", "selser [[0,[[[2],0,0,2,0,1,0],3]]]": "{|\n!w2yar5h1 !!h2 !!h3\n!bwqkmm\n| id=\"x\" |c1 {{!}}{{!}} data-foobar=\"132iz66\"{{!}}c2 |||c3\n|}", "selser [[2,[[1,0,0,0,1,0,3],0]]]": "{|<!--pql4jf-->\n! data-foobar=\"bhnvrw\" |h1 !!h2 !!h3\n| id=\"x\" data-foobar=\"12hrisq\" |c1 {{!}}{{!}}{{!}}c2 \n|}", "selser [[4,[[1,0,1,0,0,4,4],0]]]": "{|<!--jbstp9-->\n! data-foobar=\"1pn0sp4\" |h1 !!h2 !! data-foobar=\"1f5qbgd\" |h3\n| id=\"x\" |c1 \n|uz7gua\n|vakcz3\n|}", "selser [[0,[2,4]]]": "{|\n<!--5xh8o9-->!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3<!--w8wfis-->\n|}", "selser [[0,1]]": "{|\n!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}", "selser [[2,[[4,1,4,2,0,[4],[4]],3]]]": "{|<!--qcs46g-->\n!11pa019!! data-foobar=\"1y95ntw\" |h2 \n!zdryfg\n!h2f3sk\n| id=\"x\" |c1 {{!}}{{!}}{{!}}r4h39b |||1lmf1dk\n|}", "selser [[4,2]]": "{|<!--cgr2fy--><!--1sny8l1-->\n!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}", "selser [[3,[2,0]]]": "{|<!--1kfzavr-->\n!h1 !!h2 !!h3\n| id=\"x\" |c1 {{!}}{{!}}{{!}}c2 |||c3\n|}" }, "Trailing newlines in a deep dom-subtree that ends a wikitext line should be migrated out": { "wt2wt": "{|\n|<small>foo\n\nbar\n|}\n\n{|\n|<small>foo<small>\n|}", "html2wt": "{|\n|<small>foo\n\nbar\n|}\n\n{|\n|<small>foo<small>\n|}", "selser [2,4,2]": "1vhem8t\n{|\n|<small>foo\nbar\n|}\nh41874\n\n12z4z6q\n{|\n|<small>foo<small>\n|}", "selser [[0,[[1],4]],3,[0,[[[[4,0]]],0]]]": "{|\n| data-foobar=\"1ue1gl4\" |<small>foo\nbar<!--1e5adh6-->\n|}\n{|\n|<small>q5va4q<small>\n|}", "selser [2,0,3]": "16x02uj\n{|\n|<small>foo\nbar\n|}\n", "selser [2,0,[2,[2,0]]]": "520cu8\n{|\n|<small>foo\nbar\n|}\n\n{|<!--1wcfyae-->\n<!--hzgi8f-->|<small>foo<small>\n|}" }, "Transclusion of MediaWiki message with space": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><a rel=\"mw:WikiLink\" href=\"./MediaWiki:History_short\" title=\"MediaWiki:History short\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./MediaWiki:History_short\"},\"sa\":{\"href\":\"MediaWiki:History_short\"},\"dsr\":[0,27,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"i\":0}}]}'>MediaWiki:History_short</a></p>", "html2wt": "History\n" }, "Transclusion of MediaWiki message with underscore": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><a rel=\"mw:WikiLink\" href=\"./MediaWiki:History_short\" title=\"MediaWiki:History short\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./MediaWiki:History_short\"},\"sa\":{\"href\":\"MediaWiki:History_short\"},\"dsr\":[0,27,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history_short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"i\":0}}]}'>MediaWiki:History_short</a></p>", "html2wt": "History\n" }, "Transclusion of a child page": { "html2wt": "Sibling article\n" }, "Transclusion of a sibling page (one level up)": { "html2wt": "Sibling article\n" }, "Transclusion of default MediaWiki message": { "wt2html": "<p data-parsoid='{\"dsr\":[0,22,0,0]}'><a rel=\"mw:WikiLink\" href=\"./MediaWiki:Mainpage\" title=\"MediaWiki:Mainpage\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./MediaWiki:Mainpage\"},\"sa\":{\"href\":\"MediaWiki:Mainpage\"},\"dsr\":[0,22,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:Mainpage\",\"href\":\"./MediaWiki:Mainpage\"},\"params\":{},\"i\":0}}]}'>MediaWiki:Mainpage</a></p>", "html2wt": "Main Page\n" }, "Transclusion of nonexistent MediaWiki message": { "html2html": "<p data-parsoid='{\"dsr\":[0,84,0,0]}'>[/index.php?title=MediaWiki:Mainpagexxx&action=edit&redlink=1 MediaWiki:Mainpagexxx]</p>\n", "html2wt": "[/index.php?title=MediaWiki:Mainpagexxx&action=edit&redlink=1 MediaWiki:Mainpagexxx]\n" }, "URL-encoding in URL functions (multiple parameters)": { "html2wt": "/index.php?title=Some_page&q=?&=&\n" }, "URL-encoding in URL functions (single parameter)": { "html2wt": "/index.php?title=Some_page&=&\n" }, "Un-closed <onlyinclude>": { "html2wt": "" }, "Unbalanced closing block tags break a list": { "html2wt": "<div>\n* a\n</div>\n<div>\n* b\n</div>" }, "Unbalanced closing wikitext block tags break a list": { "html2wt": "<p>\n\n* a</p><p>\n\n* b</p>" }, "Unbalanced includeonly and noinclude tags": { "html2wt": "{|\n|a\n|b\n|c</includeonly>\n|d</includeonly></includeonly>\n|}" }, "Unclosed and unmatched quotes": { "wt2wt": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n'''Bold text..'''\n\n..spanning two paragraphs (should not work).\n\n'''Bold tag left open'''\n\n''Italic tag left open''\n\nNormal text.\n\n<!-- Unmatching number of opening, closing tags: -->\n'''This year'<nowiki/>'''s election ''should'' beat '''last year''''s.\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\nPlain ''italic'''s plain", "html2html": "<p data-parsoid='{\"dsr\":[0,66,0,0]}'><i data-parsoid='{\"dsr\":[0,66,2,2]}'><b data-parsoid='{\"dsr\":[2,25,3,3]}'>Bold italic text </b>with bold deactivated<b data-parsoid='{\"dsr\":[46,64,3,3]}'> in between.</b></i></p>\n\n<p data-parsoid='{\"dsr\":[68,134,0,0]}'><b data-parsoid='{\"dsr\":[68,134,3,3]}'><i data-parsoid='{\"dsr\":[71,92,2,2]}'>Bold italic text </i>with italic deactivated<i data-parsoid='{\"dsr\":[115,131,2,2]}'> in between.</i></b></p>\n\n<p data-parsoid='{\"dsr\":[136,153,0,0]}'><b data-parsoid='{\"dsr\":[136,153,3,3]}'>Bold text..</b></p>\n\n<p data-parsoid='{\"dsr\":[155,199,0,0]}'>..spanning two paragraphs (should not work).</p>\n\n<p data-parsoid='{\"dsr\":[201,225,0,0]}'><b data-parsoid='{\"dsr\":[201,225,3,3]}'>Bold tag left open</b></p>\n\n<p data-parsoid='{\"dsr\":[227,251,0,0]}'><i data-parsoid='{\"dsr\":[227,251,2,2]}'>Italic tag left open</i></p>\n\n<p data-parsoid='{\"dsr\":[253,265,0,0]}'>Normal text.</p>\n\n<!-- Unmatching number of opening, closing tags: -->\n<p data-parsoid='{\"dsr\":[320,390,0,0]}'><b data-parsoid='{\"dsr\":[320,345,3,3]}'>This year'<span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[333,342,9,0]}'></span></b>s election <i data-parsoid='{\"dsr\":[356,366,2,2]}'>should</i> beat <b data-parsoid='{\"dsr\":[372,388,3,3]}'>last year'</b>s.</p>\n\n<p data-parsoid='{\"dsr\":[392,448,0,0]}'><i data-parsoid='{\"dsr\":[392,426,2,2]}'>Tom<b data-parsoid='{\"dsr\":[397,424,3,3]}'>s car is bigger than </b></i><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[426,435,9,0]}'></span><b data-parsoid='{\"dsr\":[435,446,3,3]}'>Susan</b>s.</p>\n\n<p data-parsoid='{\"dsr\":[450,474,0,0]}'>Plain <i data-parsoid='{\"dsr\":[456,467,2,2]}'>italic'</i>s plain</p>\n", "html2wt": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n'''Bold text..'''\n\n..spanning two paragraphs (should not work).\n\n'''Bold tag left open'''\n\n''Italic tag left open''\n\nNormal text.\n\n<!-- Unmatching number of opening, closing tags: -->\n'''This year'<nowiki/>'''s election ''should'' beat '''last year''''s.\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\nPlain ''italic'''s plain\n", "selser [[[0,0,4]],2,3,3,[1],0,4,0,1,2,[[2]],3,3,3,2,0,3,4,1,2,2]": "'''''Bold italic text '''with bold deactivated4kqer0''\n\n96dktu\n\n'''Bold text..'''\n\n1yaoe3f\n\n'''Bold tag left open\n\ncg2yjt\n\n''1stjapzItalic tag left open''\n\n1e5dhrb<!-- Unmatching number of opening, closing tags: -->\n\nrbyo83\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\n1flz0vt\n\ns1jkqx\n\nPlain ''italic'''s plain", "selser [[1],0,[1],0,[3],0,[2,2],0,4,0,4,2,4,0,3,0,4,0,[[0,[4]],0,3],0,4]": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n\n1q6bdp9..spanning two paragraphs (should not work).1yjracp'''\n\n1g8bmfw\n\nmxcb4a\n\nuza8ko\n\n1t8kp1j\n\na5a4ir\n\n''Tom'''8gjlrs'''''<nowiki/>'''Susan'''\n\n14egc25", "selser [[[3,0,[3]]],0,[1],0,2,2,3,0,[4],4,[4],0,0,3,0,4,[2,3,3,4,3,0],0,4,2,[0,3,4]]": "''with bold deactivated''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n1113d81\n\n'''Bold text..\n\n17oi27f\n\n1d1t91o\n\nia2xa5\n\n1fpkx6i\n\nNormal text.<!-- Unmatching number of opening, closing tags: -->\n\nj1ibp\n\n62g913'''This year''''1j5avags.\n\n1doife6\n\nz4u1uw\n\nPlain 11sk72u", "selser [4,0,3,0,2,0,0,2,4,0,[4],2,[4],2,4,0,[0,0,2,0,0,0],4,1,0,[0,2,0]]": "12bpmy6\n\n1cu9qet\n\n'''Bold text..\n\n..spanning two paragraphs (should not work).'''\n\n1moos9l\n\n1ntijl8\n\n1hqw6z8\n\n1kaqv8h\n\n1f3h6jp\n\n197cr1s\n\n1iqz776\n\n'''This year'<nowiki/>'''s election ycvf7u''should'' beat '''last year''''s.\n\nqtsa2z\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\nPlain 1evt8y4''italic'''s plain", "selser [[1],4,[2],3,3,3,1,2,2,0,2,0,2,3,4,2,[[2],3,3,0,[4],2],0,3,3,[0,4,0]]": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\nh74ndf\n\nkkggcz'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n..spanning two paragraphs (should not work).'''\n\ny67p3g\n\n1wo3dqp\n\n'''Bold tag left open\n\ns1byel\n\n''Italic tag left open\n\n1mihtak\n\nNormal text.\n\nnu7jvv\n\nu58yyj\n\n'''14ywvmeThis year'''' beat '''3dpun8'''iax3gys.\n\nPlain u8hv4es plain", "selser [4,2,2,2,4,4,[0,1],0,1,2,2,0,3,0,0,0,[1,0,1,0,3,3],3,3,4,4]": "atjprc\n\n1x4synw\n\npfbs3l\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n1tqjxs7\n\n5mslzl\n\np4gqzw\n\n..spanning two paragraphs (should not work).\n\n'''Bold tag left open'''\n\n16xzkkr\n\n1j70y3e\n\n''Italic tag left open\n\n<!-- Unmatching number of opening, closing tags: -->\n'''This year''''s election ''should'' beat \n\n1vw7dc\n\nr6e2sl", "selser [[[0,4,[2]]],4,[[3,0,1]],0,3,2,0,0,[[3]],3,3,3,0,0,0,0,3,0,[3,[4],0],0,2]": "'''''Bold italic text '''177zi8c'''etc4u6 in between.'''''\n\n1jpdodq\n\n'''with italic deactivated'' in between.'''''\n\nfad3r2\n\n..spanning two paragraphs (should not work).'''\n\nNormal text.\n<!-- Unmatching number of opening, closing tags: -->\n\n'''1ewo2rj'''s.\n\n1n9df0n\n\nPlain ''italic'''s plain", "selser [[[[4],0,0]],0,1,0,2,4,[0,1],0,2,4,4,2,0,0,0,0,[[3],3,0,0,[3],3],0,2,2,3]": "'''''1lr57dm'''with bold deactivated''' in between.'''''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\ndg1g8a\n\n'''Bold text..\n\n1to2zjq\n\n..spanning two paragraphs (should not work).\n\n1y2hs3o\n\n'''Bold tag left open\n\n1f3qfsj\n\nftgco\n\n1vjezwg\n\nNormal text.\n\n<!-- Unmatching number of opening, closing tags: -->\n''should'' beat \n\n1lmhmj2\n\n''Tom'''s car is bigger than ''Susan'''s.\n\n1j4lnnp\n", "selser [[1],2,3,3,0,0,2,0,[[2]],0,[3],0,3,3,0,0,1,0,[3,0,4],4,3]": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n1gzr79l\n\n'''Bold text..\n\n1ilsd86\n\n..spanning two paragraphs (should not work).'''\n\n'''1aj4znfBold tag left open'''\n\n\n<!-- Unmatching number of opening, closing tags: -->\n'''This year''''s election ''should'' beat '''last year''''s.\n\nSusan'''1g83zsv\n\n1325xry", "selser [2,0,[[2,2,[3]]],3,1,3,3,0,3,4,[[4]],2,4,4,2,0,3,0,1,2,[3,4,3]]": "d3tpl5\n\n'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n'''kq6n3q''Bold italic text ''1qa5mr1with italic deactivated'''\n\n'''Bold text..\n\n1mh8kfg\n\n''15d0sf2''\n\n18hz9jy\n\n10zz75j\n\n1oszw7p\n\n1fya1ev<!-- Unmatching number of opening, closing tags: -->\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\n1pkzcvj\n\ngn8stg", "selser [2,0,[1],0,[2],0,[3,0],0,0,2,3,4,[2],2,0,3,[2,3,4,0,[4],0],0,3,3,[3,1,0]]": "lnznpa\n\n'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n1vlc9pq'''Bold text..\n\n'''\n\n'''Bold tag left open\n\n723fwo\n\nq0661c\n\nz0l23zNormal text.\n\nofd1f9\n\n<!-- Unmatching number of opening, closing tags: -->c7fw42'''This year''''ylr908 beat '''58r6eq'''s.\n\n''italic'''s plain", "selser [[2],0,4,3,[2],3,3,4,[[2]],0,0,2,3,4,0,0,4,2,[[3,[4]],2,0],3,2]": "5zm9nc'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n1hrgoy\n\n130qy8p'''Bold text..\n\nlqovu6\n\n'''qg3h5rBold tag left open'''\n\n''Italic tag left open\n\n1t4sfxj\n\neok9g2<!-- Unmatching number of opening, closing tags: -->\n\n11udhhe\n\n1en5xaa\n\n'''''3i8fcb'''''im19fu'''Susan'''s.\n\ne33ewq\n\nPlain ''italic'''s plain", "selser [[[4,4,3]],3,2,4,[[3]],2,[0,2],2,[2],0,[[3]],0,4,0,2,3,3,3,[2,0,2],4,2]": "''gjtqu0t91mcu''\n\n1hx6l9d\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\nvdjo5s\n\nhcmsq1\n\n..spanning two paragraphs (should not work).1c5npxh\n\n141xib\n\n1cu8ajx'''Bold tag left open'''\n\nn42xwl\n\n18xr6qs<!-- Unmatching number of opening, closing tags: -->\n\n1v71r9''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''6om711s.\n\n1d4foh1\n\n621vp8\n\nPlain ''italic'''s plain", "selser [[[0,4,[4]]],4,[[[3],0,0]],3,4,2,[0,3],0,2,4,1,3,0,3,0,2,[3,2,[4],0,2,0],0,3,0,2]": "'''''Bold italic text '''s06jp1'''xda5m8'''''\n\n1kr52xu\n\n'''with italic deactivated'' in between.'''''\n\n142a6ay\n\n160iehx\n\n..spanning two paragraphs (should not work).\n\ngumuch\n\n'''Bold tag left open\n\n149fp1c\n\n''Italic tag left open''\n\nNormal text.<!-- Unmatching number of opening, closing tags: -->\n\nj4reai\n\n1jephw0s election ''6wxgg'' beat el8x97'''last year''''s.\n\n17qx10p\n\nPlain ''italic'''s plain", "selser [[[1,0,1]],3,[4],2,2,0,0,2,0,0,3,2,0,2,0,0,[[2],0,[3],3,0,4],0,[1,0,0],0,4]": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\nnxjugm\n\n1c0vrj0\n\nswl7p\n\n'''Bold text..\n\n..spanning two paragraphs (should not work).'''\n\nkbvl5k\n\n'''Bold tag left open\n\nifyn6e\n\nNormal text.\n\n172pzin\n\n<!-- Unmatching number of opening, closing tags: -->\n'''6hiklfThis year'<nowiki/>'''s election '''last year''''198j65z\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\n1ivj2in", "selser [[3],0,[1],0,3,2,1,4,4,4,4,3,[2],0,0,0,3,0,3,2,[4,3,3]]": "\n\n'''''Bold italic text ''with italic deactivated'' in between.'''''\n\nuhdjcl\n\n..spanning two paragraphs (should not work).'''\n\n5frquw\n\n19k6ov1\n\n1o0y2at\n\nryxd8e\n\niwtfi9Normal text.\n<!-- Unmatching number of opening, closing tags: -->\n\n9e99t4\n\n1qhd2t", "selser [3,0,[2],0,[[2]],3,[3,0],0,4,4,0,0,3,2,0,3,[[4],2,4,0,3,0],2,3,3,[3,3,0]]": "\nsghwuk'''''Bold italic text ''with italic deactivated'' in between.'''''\n\n'''13i7bvqBold text..'''\n\n'''\n\n1ui2y0x\n\nlpnm0d\n\n''Italic tag left open\n\n12gp2zl\n\n<!-- Unmatching number of opening, closing tags: -->'''1mzcrn1'''m9vkvrs election 6cfxy9 beat s.\n\nsfmqoa\n\ns plain", "selser [2,4,3,0,2,0,1,0,[3],0,[2],0,2,0,0,2,[2,2,4,0,1,0],2,4,3,4]": "1n8istl\n\n'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n12d31bp\n\nx5l5oh\n\n'''Bold text..\n\n..spanning two paragraphs (should not work).'''\n\n\nin7y9g''Italic tag left open\n\n1lselvv\n\nNormal text.\n\n<!-- Unmatching number of opening, closing tags: -->m5ct7x\n\n1sjjpk5'''This year'<nowiki/>'''12gxn62s election uti2ye beat '''last year''''s.\n\n16ejn0z\n\n11lx057\n\n1n5is1f", "selser [[1],2,4,0,[4],0,[4,0],0,[[2]],3,2,0,2,0,0,2,[0,2,2,0,1,0],0,1,0,2]": "'''''Bold italic text '''with bold deactivated''' in between.'''''\n\n1cn27kg\n\n10dnr9\n\nkuvhny\n\n26hv6l\n\n'''ic15fxBold tag left open'''\n\nldzxcv\n\n''Italic tag left open\n\n11ofp2j\n\nNormal text.\n\n<!-- Unmatching number of opening, closing tags: -->1fx6om2\n\n'''This year'<nowiki/>'''zpmbius election 1c8m37r''should'' beat '''last year''''s.\n\n''Tom'''s car is bigger than '''''<nowiki/>'''Susan'''s.\n\ncfphse\n\nPlain ''italic'''s plain" }, "Using {{!}} in wikilinks (T290526)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,32,0,0]}'><a typeof=\"mw:ExpandedAttrs\" about=\"#mwt2\" rel=\"mw:WikiLink\" href=\"./Main_PageSomething_else\" title=\"Main PageSomething else\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_PageSomething_else\"},\"sa\":{\"href\":\"Main Page{{!}}Something else\"},\"dsr\":[0,32,null,null]}' data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Main Page<span about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[]],\\\"dsr\\\":[11,16,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"!\\\",\\\"function\\\":\\\"!\\\"},\\\"params\\\":{},\\\"i\\\":0}}]}'>|</span>Something else\"}]]}'>Main PageSomething else</a></p>\n\n<p data-parsoid='{\"dsr\":[34,49,0,0]}'><a typeof=\"mw:ExpandedAttrs\" about=\"#mwt5\" rel=\"mw:WikiLink\" href=\"./Main_PageSomething_else\" title=\"Main PageSomething else\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_PageSomething_else\"},\"sa\":{\"href\":\"{{T290526}}\"},\"dsr\":[34,49,null,null]}' data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"<span about=\\\"#mwt3\\\" typeof=\\\"mw:Transclusion\\\" data-parsoid='{\\\"pi\\\":[[]],\\\"dsr\\\":[36,47,null,null]}' data-mw='{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"T290526\\\",\\\"href\\\":\\\"./Template:T290526\\\"},\\\"params\\\":{},\\\"i\\\":0}}]}'>Main Page|Something else</span>\"}]]}'>Main PageSomething else</a></p>", "html2wt": "[[Main Page|Something else]]\n\n[[Main Page|Something else]]\n" }, "WTS of an autolink surrounded by square brackets (T220018)": { "html2wt": "[http://example.com<nowiki>]</nowiki>" }, "WTS of an external link surrounded by square brackets (T220018)": { "html2wt": "[[http://example.com foo]]" }, "WTS of edited autolink surrounded by square brackets (T220018)": { "wt2wt": "[http://example.com<nowiki>]</nowiki>", "selser [manual]": "[http://example.com<nowiki>]</nowiki>" }, "WTS of edited external link surrounded by square brackets (T220018)": { "wt2wt": "[[http://example.com foo]]", "selser [manual]": "[[http://example.com foo]]" }, "Wikitext table with a lot of comments": { "html2wt": "{|\n|foo\n|-\n|\n|}", "selser [[0,4,0,[2,3,1,4]]]": "{|\n<!--iq9oza-->\n<!--1dqmhs4-->|foo\n<!-- c1 -->\n|- data-foobar=\"2v7bzw\"<!-- c2 -->\n<!-- c3 -->\n|<!-- c4 -->\n<!-- c5 --><!--setevm-->\n|}", "selser [[0,0,4,[2,4,[4,0,4,0,[2,2,2]],2]]]": "{|\n<!-- c0 --><!--1o352s1--><!--1ou61s9-->|foo\n<!-- c1 --><!--smmajy-->\n|-\n|tyk0it\n|1cc3s5x\n|1al41b7<!-- c4 -->s4layh\n6j4dys<!-- c5 --><!--1lv2wu5-->\n|}" }, "Wikitext table with html-syntax row": { "html2wt": "{|\n|foo\n|}" }, "Wrong option for formatNum (T58199)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,126,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,29,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"formatnum:1,234.56\",\"function\":\"formatnum\"},\"params\":{\"1\":{\"wt\":\"Random\"}},\"i\":0}}]}'>1,234.56</span>\n<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[30,63,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"formatnum:1,234.56\",\"function\":\"formatnum\"},\"params\":{\"1\":{\"wt\":\"EVERYTHING\"}},\"i\":0}}]}'>1,234.56</span>\n<span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[64,126,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"formatnum:1234.56\",\"function\":\"formatnum\"},\"params\":{\"1\":{\"wt\":\"any argument that has the string 'NOSEP'\"}},\"i\":0}}]}'>1234.56</span></p>", "html2wt": "1,234.56\n1,234.56\n1,234.56\n" }, "__NOEDITSECTION__ keyword": { "html2wt": "== Section 1 ==\n\n== Section 2 ==\n" }, "anchorencode encodes like the TOC generator: (T20431)": { "html2wt": "=== _ +:.3A%3A _ &&]] x ===\n{{anchorencode: _ +:.3A%3A _ &&]] x}}\n\n__NOEDITSECTION__\n", "selser [2,2,3,0,0]": "19m5ghj\n\n===_ +:.3A%3A _ &&]] x===\n1n9wtpj\n\n\n__NOEDITSECTION__" }, "div with illegal double attributes": { "wt2wt": "<div id=\"b\">HTML rocks</div>", "html2wt": "<div id=\"b\">HTML rocks</div>", "selser [2]": "mh76bk<div id=\"a\" id=\"b\">HTML rocks</div>", "selser [[4]]": "<div id=\"a\" id=\"b\">2q019h</div>", "selser [[3]]": "<div id=\"a\" id=\"b\"></div>", "selser [[2]]": "<div id=\"a\" id=\"b\">j6zotpHTML rocks</div>" }, "div with single-quoted attribute": { "wt2wt": "<div id=\"rock\">HTML rocks</div>", "html2wt": "<div id=\"rock\">HTML rocks</div>", "selser [2]": "pky5rs<div id='rock'>HTML rocks</div>", "selser [[2]]": "<div id='rock'>f3egylHTML rocks</div>", "selser [[4]]": "<div id='rock'>ttkym7</div>", "selser [[3]]": "<div id='rock'></div>" }, "div with unquoted attribute": { "wt2wt": "<div id=\"rock\">HTML rocks</div>", "html2wt": "<div id=\"rock\">HTML rocks</div>", "selser [2]": "gfvz7s<div id=rock>HTML rocks</div>", "selser [[4]]": "<div id=rock>1mp0zbb</div>", "selser [[3]]": "<div id=rock></div>", "selser [[2]]": "<div id=rock>1n6014eHTML rocks</div>" }, "formatdate parser function": { "wt2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:2009-03-24\",\"function\":\"formatdate\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"2009-03-24\">2009-03-24</span>\n" }, "formatdate parser function, with default format": { "wt2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,30,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:2009-03-24\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"mdy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"2009-03-24\">March 24, 2009</span>\n" }, "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": { "wt2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,30,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:2009-03-24\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"2009-03-24\">24 March 2009</span>\n" }, "formatdate uses correct capitalisation in English": { "wt2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:june 3\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"06-03\">3 June</span>\n" }, "formatdate uses correct capitalisation in French": { "wt2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:Juin 3\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"06-03\">3 juin</span>\n" }, "formatdate with invalid month": { "wt2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,30,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:2019-22-22\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "2019-22-22\n" }, "formatdate: dots in month name do not match any char (T220563)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,53,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:jun. 3\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span>\n<span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[27,53,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#formatdate:junx 3\",\"function\":\"formatdate\"},\"params\":{\"1\":{\"wt\":\"dmy\"}},\"i\":0}}]}'>Parser function implementation for pf_formatdate missing in Parsoid.</span></p>", "html2wt": "<span class=\"mw-formatted-date\" title=\"06-03\">3 Juni</span>\njunx 3\n" }, "int keyword": { "wt2html": "<p data-parsoid='{\"dsr\":[0,45,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"},{\"k\":\"2\"}]],\"dsr\":[0,45,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"int:youhavenewmessages\",\"function\":\"int\"},\"params\":{\"1\":{\"wt\":\"lots of money\"},\"2\":{\"wt\":\"not!\"}},\"i\":0}}]}'>Parser function implementation for pf_int missing in Parsoid.</span></p>", "html2wt": "You have lots of money (not!).\n" }, "int keyword - non-existing message": { "wt2html": "<p data-parsoid='{\"dsr\":[0,11,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,11,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"int:var\",\"function\":\"int\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_int missing in Parsoid.</span></p>", "html2wt": "⧼var⧽\n" }, "max template depth being reached": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x with depth\",\"href\":\"./Template:1x_with_depth\"},\"params\":{\"1\":{\"wt\":\"too deep!\"}},\"i\":0}}]}'>too deep!</span></p>", "html2wt": "<span class=\"error\">Template recursion depth limit exceeded (1)</span>\n" }, "message transform: <noinclude> in transcluded template (T6926)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,12,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,12,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes\",\"href\":\"./Template:Includes\"},\"params\":{},\"i\":0}}]}'>Foobar</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,6,0,0]}'>Foobar</p>", "html2wt": "Foobar" }, "message transform: <onlyinclude> in transcluded template (T6926)": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><meta typeof=\"mw:Transclusion mw:Includes/OnlyInclude\" about=\"#mwt1\" data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'/><span about=\"#mwt1\">Foo</span><meta typeof=\"mw:Includes/OnlyInclude/End\" about=\"#mwt1\"/></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,3,0,0]}'>Foo</p>", "html2wt": "Foo" }, "message transform: magic variables": { "wt2html": "<p data-parsoid='{\"dsr\":[0,12,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,12,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SITENAME\",\"function\":\"sitename\"},\"params\":{},\"i\":0}}]}'>MediaWiki</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,9,0,0]}'>MediaWiki</p>", "html2wt": "MediaWiki" }, "message transform: should not transform wiki markup": { "wt2html": "<p data-parsoid='{\"dsr\":[0,8,0,0]}'><i data-parsoid='{\"dsr\":[0,8,2,2]}'>test</i></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,25,0,0]}'><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[0,25,8,9]}'>''test''</span></p>", "html2wt": "<nowiki>''test''</nowiki>" }, "multiple templates that are redirects": { "wt2html": "<link rel=\"mw:PageProp/redirect\" href=\"./Template:Foo\" about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"a\":{\"href\":\"./Template:Foo\"},\"sa\":{\"href\":\"Template:Foo\"},\"dsr\":[0,19,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"redirect to foo\",\"href\":\"./Template:Redirect_to_foo\"},\"params\":{},\"i\":0}}]}'/>\n<link rel=\"mw:PageProp/redirect\" href=\"./Template:Foo\" about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"a\":{\"href\":\"./Template:Foo\"},\"sa\":{\"href\":\"Template:Foo\"},\"dsr\":[20,39,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"redirect to foo\",\"href\":\"./Template:Redirect_to_foo\"},\"params\":{},\"i\":0}}]}'/>", "html2wt": "FOO\nFOO\n" }, "mw:ExtLink linking to a interwiki URL can be round-tripped losslessly (T94723)": { "selser [[[4]]]": "[[:en:European_Robin|1g3q1dd]]", "selser [[[2]]]": "[[:en:European_Robin|8u2ng6European Robin]]" }, "new support for bdi element (T33817)": { "html2html": "<p data-parsoid='{\"dsr\":[0,193,0,0]}'>ולדימיר לנין (ברוסית: <bdi lang=\"ru\" data-parsoid='{\"stx\":\"html\",\"dsr\":[39,87,15,6]}'>Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי.</p>", "html2wt": "ולדימיר לנין (ברוסית: <bdi lang=\"ru\">Владимир Ленин</bdi>, 24 באפריל 1870–22 בינואר 1924) הוא מנהיג פוליטי קומוניסטי רוסי." }, "nowiki inside link inside heading (T20295)": { "html2wt": "== [[Foo|xyz]] ==\n" }, "percent-encoding and + signs in internal links (T28410)": { "selser [[0,0,0,0,[3],2,[4],4,2,4,3,3,4,4,3,4,[[[4]]],2,0,0,4]]": "[[User:+%]] [[Page+title%]]\ng6ebew [[%+|102p4ly]]<nowiki/>x43yh1kpwnbz[[%+ ]]1iz2d212bu4rt1hl6hdav5u0kv[[File:%+abc%39|foo|[[bar]]]]164yade\n[[%33%45]] mdq65u", "selser [[4,2,[4],2,[3],0,2,0,0,4,0,3,[4],2,1,0,0,4,0,0,2]]": "145pa6l129ts4i [[Page+title%|1wirx1k]]1gqpjm3\n40e2zd[[%+|%20]] [[%+ ]]15mcys[[%+r]][[%|1bzm99r]]11b6xgc [[+]] [[File:%+abc%39|foo|[[bar]]]]jk1r4l[[%33%45]] 1qjrzva[[%33%45+]]" }, "post-expand include size being exceeded": { "wt2html": "<p data-parsoid='{\"dsr\":[0,28,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,28,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"3x_on_newline\",\"href\":\"./Template:3x_on_newline\"},\"params\":{\"1\":{\"wt\":\"1234567890\"}},\"i\":0}}]}'>1234567890\n1234567890\n1234567890</span></p>", "html2wt": "[[Template:3x on newline]]<!-- WARNING: template omitted, post-expand include size too large -->\n" }, "span tags with directionality in TOC": { "html2wt": "__TOC__\n==<span dir=\"ltr\">C++</span>==\n\n== <span dir=\"rtl\">זבנג!</span> ==\n\n== <span style=\"font-style: italic\">The attributes on these span tags must be deleted from the TOC</span> ==\n\n== <span style=\"font-style: italic\" dir=\"ltr\">All attributes on these span tags must be deleted from the TOC</span> ==\n\n== <span dir=\"ltr\" style=\"font-style: italic\">Attributes after dir on these span tags must be deleted from the TOC</span> ==\n", "selser [0,3,4,2,[0,[3]],0,[[3]],3,0,3,3]": "__TOC__\n\n1jvuudn\n\n1scw8a8\n\n==<span dir=\"rtl\"></span>==\n\n==<span style=\"font-style: italic\"></span>==\n\n==<span style=\"font-style: italic\" dir=\"ltr\">All attributes on these span tags must be deleted from the TOC</span>==\n" }, "subst: does not work during normal parse": { "wt2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Template:Subst:Includes\" title=\"Template:Subst:Includes\" about=\"#mwt1\" typeof=\"mw:Transclusion\" class=\"new\" data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Template:Subst:Includes\"},\"sa\":{\"href\":\"Template:Subst:Includes\"},\"dsr\":[0,13,null,null],\"pi\":[[]]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SubstTest\",\"href\":\"./Template:SubstTest\"},\"params\":{},\"i\":0}}]}'>Template:Subst:Includes</a></p>", "html2wt": "<nowiki>{{subst:Includes}}</nowiki>\n" }, "text with character entity: eacute": { "html2wt": "I always thought é was a cute letter.\n" }, "{{#special:}} page name with subpage, known": { "wt2html": "<p data-parsoid='{\"dsr\":[0,32,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,32,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Recentchanges/param\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'>Special:RecentChanges/param</p>", "html2wt": "Special:RecentChanges/param" }, "{{#special:}} page name, known": { "wt2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,26,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Recentchanges\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,21,0,0]}'>Special:RecentChanges</p>", "html2wt": "Special:RecentChanges" }, "{{#special:}} page name, unknown": { "wt2html": "<p data-parsoid='{\"dsr\":[0,31,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,31,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:foobar nonexistent\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_special missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'>Special:Foobar nonexistent</p>", "html2wt": "Special:Foobar nonexistent" }, "{{#speciale:}} page name with subpage, known": { "wt2html": "<p data-parsoid='{\"dsr\":[0,33,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,33,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#speciale:Recentchanges/param\",\"function\":\"speciale\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_speciale missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'>Special:RecentChanges/param</p>", "html2wt": "Special:RecentChanges/param" }, "{{#speciale:}} page name, known": { "wt2html": "<p data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#speciale:Recentchanges\",\"function\":\"speciale\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_speciale missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,21,0,0]}'>Special:RecentChanges</p>", "html2wt": "Special:RecentChanges" }, "{{#speciale:}} page name, unknown": { "wt2html": "<p data-parsoid='{\"dsr\":[0,32,0,0]}'><span about=\"#mwt1\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,32,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#speciale:foobar nonexistent\",\"function\":\"speciale\"},\"params\":{},\"i\":0}}]}'>Parser function implementation for pf_speciale missing in Parsoid.</span></p>", "html2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'>Special:Foobar_nonexistent</p>", "html2wt": "Special:Foobar_nonexistent" } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0.49 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�