mediawiki-extensions-Cite/tests/parser/citeParserTests-knownFailures.json

368 lines
67 KiB
JSON
Raw Normal View History

{
"<ref> in a link should hoist the link outside the link (T301293)": {
"selser [[1,0],4,0]": "[[Foo|''x<ref>y</ref>z'']]\n\n1m2lppn",
"selser [2,4,0]": "ld2a56\n\n[[Foo|''x<ref>y</ref>z'']]\n\n6h9131",
"selser [[2,0],3,0]": "nc8qrb[[Foo|''x<ref>y</ref>z'']]",
"selser [[[2],0],2,0]": "[[Foo|10bqz6j''x<ref>y</ref>z'']]\n\n10lq6vy\n",
"selser [2,3,0]": "588i32\n\n[[Foo|''x<ref>y</ref>z'']]",
"selser [2,0,0]": "166nxt2\n\n[[Foo|''x<ref>y</ref>z'']]",
"selser [4,0,0]": "1bxnu7o\n",
"selser [1,0,0]": "[[Foo|''x<ref>y</ref>z'']]\n",
"selser [3,3,0]": "",
"selser [3,4,0]": "jwpc9a",
"selser [[1,0],3,0]": "[[Foo|''x<ref>y</ref>z'']]",
"selser [1,4,0]": "[[Foo|''x<ref>y</ref>z'']]\n\ne6nlfi",
"selser [3,0,0]": "\n",
"selser [[3,0],4,0]": "\n\nb7dsqp",
"selser [4,2,0]": "zygsjj\n\ncij924\n",
"selser [2,2,0]": "1ddbvcj\n\n[[Foo|''x<ref>y</ref>z'']]\n\nx6skl7\n",
"selser [[[2],0],0,0]": "[[Foo|1yvz53o''x<ref>y</ref>z'']]\n",
"selser [[[[2]],0],0,0]": "[[Foo|''138os21xz'']]\n",
"selser [1,2,0]": "[[Foo|''x<ref>y</ref>z'']]\n\n13m61ka\n",
"selser [[1,0],0,0]": "[[Foo|''x<ref>y</ref>z'']]\n"
},
"Blank ref followed by ref with content": {
"selser [0,4,1,3,0]": "<ref name=\"blank\" />\n\n14bnq08\n\n<ref name=\"blank\">content</ref>\n\n<references />"
},
"Broken wikitext making a ref as extended attribute and a duplicated fragment (with 2wt tests)": {
"wt2wt": "<i title=\"\">a\n\nz\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,13,0,0]}'><i title=\"\" data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,13,12,0]}'>a</i></p><i title=\"\" data-parsoid='{\"stx\":\"html\",\"autoInsertedStart\":true,\"autoInsertedEnd\":true,\"dsr\":[13,31,0,0]}'>\n\n<p data-parsoid='{\"dsr\":[15,16,0,0]}'>z</p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt2\" data-parsoid='{\"dsr\":[17,31,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"></ol></div></i>\n",
"html2wt": "<i title=\"\">a\n\nz\n<references />\n",
"selser [[[4]],1]": "<i title=\"<ref>y</ref>\">1dl6sme\n\nz\n<references />",
"selser [[[2]],[0,3,3,0]]": "<i title=\"<ref>y</ref>\">18cax6qa\n\n<references />",
"selser [0,[3,[4],3,0]]": "<i title=\"<ref>y</ref>\">a1uodljn<references />",
"selser [2,[0,1,3,0]]": "uw3pw3\n\n<i title=\"<ref>y</ref>\">a\n\nz<references />",
"selser [1,3]": "<i title=\"<ref>y</ref>\">a",
"selser [2,[3,[3],3,0]]": "16vxc88\n\n<i title=\"<ref>y</ref>\">a<references />",
"selser [[2],[2,[3],2,0]]": "qbsx98<i title=\"<ref>y</ref>\">a1s60c8h\n\n1i22hw5\n<references />",
"selser [1,[0,[3],0,0]]": "<i title=\"<ref>y</ref>\">a\n\n<references />",
"selser [1,1]": "<i title=\"<ref>y</ref>\">a\n\nz\n<references />",
"selser [0,2]": "<i title=\"<ref>y</ref>\">a\n\n17l6dw5\n\nz\n<references />",
"selser [1,[0,0,3,0]]": "<i title=\"<ref>y</ref>\">a\n\nz<references />",
"selser [2,4]": "12v64zm\n\n<i title=\"<ref>y</ref>\">a\n\n1l0xtce",
"selser [[2],2]": "gjptau<i title=\"<ref>y</ref>\">a\n\n1gk7mu0\n\nz\n<references />",
"selser [2,[0,2,2,0]]": "n2dq48\n\n<i title=\"<ref>y</ref>\">a\n\nx7vz6o\n\nz\n1pk1656\n<references />"
},
"Bug 13073 regression check: wrapped <references>": {
"html2wt": "<ref>\nfoo\n</ref>\n<div>\n<references />\n</div>",
"selser [0,3,3]": "<ref>\nfoo\n</ref>",
"selser [1,0,3]": "<ref>\nfoo\n</ref>\n",
"selser [2,0,3]": "1n3of6i\n\n<ref>\nfoo\n</ref>\n",
"selser [0,0,4]": "<ref>\nfoo\n</ref>\n\n193v7o9"
},
"Check Cite handing of linefeed whitespace in reference names": {
"wt2wt": "test linefeed<ref name=\"a b\">testLinefeedRef</ref>\n<references />",
"html2wt": "test linefeed<ref name=\"a b\">testLinefeedRef</ref>\n<references />",
"selser [[4,0],0,0]": "1euwgyt<ref name=\"a\nb\">testLinefeedRef</ref>\n<references />",
"selser [1,3,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref><references />",
"selser [2,0,0]": "15lkr1g\n\ntest linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n<references />",
"selser [1,4,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n\n1hw2qoa<references />",
"selser [0,4,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n\nfint7y<references />",
"selser [[3,0],2,0]": "<ref name=\"a\nb\">testLinefeedRef</ref>\n\n1881x1z\n<references />",
"selser [[3,0],0,0]": "<ref name=\"a\nb\">testLinefeedRef</ref>\n<references />",
"selser [1,0,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n<references />",
"selser [0,3,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref><references />",
"selser [1,2,0]": "test linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n\n13030ir\n<references />",
"selser [2,3,0]": "w46ct0\n\ntest linefeed<ref name=\"a\nb\">testLinefeedRef</ref><references />",
"selser [[2,0],2,0]": "piffj2test linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n\n2rj5xm\n<references />",
"selser [[2,0],0,0]": "pwq7btest linefeed<ref name=\"a\nb\">testLinefeedRef</ref>\n<references />",
"selser [[2,0],3,0]": "i6npostest linefeed<ref name=\"a\nb\">testLinefeedRef</ref><references />"
},
"Counters should be cleared after processing named <references group=\"…\">": {
"selser [2,0,0,4,[4,0],3,0]": "1m78266\n\nA <ref group=\"g\">foo</ref>\n\n<references group=\"g\" />g92zhb\n\n1sqtkvt<ref group=\"g\">bar</ref>\n\n<references group=\"g\" />"
},
"Erroneous refs": {
"wt2wt": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n<ref name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />\n\n<references />",
"html2wt": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n<ref name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />\n\n<references />",
"selser [0,0,4,2,4,0,0,3,0,0,0,0,0]": "<ref name=\"0\">Zero</ref>\n\nwie687\n\n1u7xv04\n\n1pm36tv\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />\n\n<references />",
"selser [3,2,0,0,1,2,0,0,1,0,0,2,0]": "1tb8tca\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\nl49cv6\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />ql4aqu\n\n<references />",
"selser [0,3,0,0,0,2,0,0,1,0,0,3,0]": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n1if3p11\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" /><references />",
"selser [2,0,4,3,4,4,0,0,0,3,0,0,0]": "1s759zl\n\n<ref name=\"0\">Zero</ref>\n\n1qgybr7\n\n1mfflfd\n\nruzy1u\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" /><references name=\"quasit\" />\n\n<references />",
"selser [0,4,0,3,0,0,0,0,0,3,0,0,0]": "<ref name=\"0\">Zero</ref>\n\n1lc0182\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" /><references name=\"quasit\" />\n\n<references />",
"selser [3,0,0,0,0,4,0,0,3,0,0,2,0]": "\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\nmg82zd\n\n<ref name=\"foo\" name=\"bar\" />\n\n<references name=\"quasit\" />xefmhr\n\n<references />",
"selser [3,2,4,2,4,0,0,2,3,0,0,4,0]": "im3he0\n\njws5le\n\ngf9tte\n\nsqickf\n\n<ref name=\"foo\" name=\"bar\" />\n\n14jiq7o\n\n<references name=\"quasit\" />1i0xhb<references />",
"selser [3,0,4,2,0,2,0,0,0,0,0,4,0]": "\n1to8jou\n\n1q4t40z\n\n<ref />\n\nh1kd4g\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />2s6rnl<references />",
"selser [0,0,1,0,0,4,0,3,1,2,0,4,0]": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\nermh8y\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n1lc73ob\n\n<references name=\"quasit\" />mzul4n<references />",
"selser [1,0,0,3,1,3,1,0,2,0,0,4,0]": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n<ref name=\"foo\" name=\"bar\" />\n\ngmbpkw\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />1xfh5g7<references />",
"selser [2,0,3,2,0,0,2,3,4,0,0,0,0]": "mucbqr\n\n<ref name=\"0\">Zero</ref>\n\ni8peub\n\n<ref />\n\n1px26o6\n\n<ref name=\"foo\" name=\"bar\" />\n\n18pbxhl\n\n<references name=\"quasit\" />\n\n<references />",
"selser [2,0,2,2,0,4,2,0,0,3,0,3,0]": "sqk5eb\n\n<ref name=\"0\">Zero</ref>\n\n4v5cn6\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n1v6r6u9\n\n<ref />\n\n1nafanq\n\nc5qatn\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" /><references name=\"quasit\" /><references />",
"selser [4,4,4,0,0,0,0,3,1,2,0,0,0]": "1devhdy\n\n1o3vfrh\n\n1hbzkdi\n\n<ref />\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\nqgk2ub\n\n<references name=\"quasit\" />\n\n<references />",
"selser [0,0,2,0,2,2,2,4,0,0,0,2,0]": "<ref name=\"0\">Zero</ref>\n\n154g1s7\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n1lzjdgw\n\n<ref />\n\nmycz92\n\n1phfm0r\n\n<ref name=\"foo\" name=\"bar\" />\n\n18223mm\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />odszxr\n\n<references />",
"selser [0,0,1,0,0,0,0,0,0,4,0,0,0]": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n1tejkzu<references name=\"quasit\" />\n\n<references />",
"selser [0,0,0,3,0,2,2,3,1,0,0,2,0]": "<ref name=\"0\">Zero</ref>\n\n<ref>Also zero, but differently! (Normal ref)</ref>\n\n<ref />\n\narbfc9\n\n1nbyl9p\n\n<ref name=\"foo\" name=\"bar\" />\n\n<ref name=\"blankwithnoreference\" />\n\n<references name=\"quasit\" />19hld02\n\n<references />"
},
"Grouped references with automatic group references generating errors": {
"selser [2,3,0,0,0,4,0]": "e7hpvx\n\nGROUP <ref group=\"theGroup\" name=\"theName\">theValue</ref>\nGROUP3 <ref group=\"theGroup3\" name=\"theName3\">theValue3</ref>\nGROUP2 <ref group=\"theGroup2\" name=\"theName2\">theValue2</ref>\naDifferentNameGROUP3 <ref group=\"theGroup3\" name=\"theName\">anotherValue3differentName</ref>\naDifferentNameGROUP2 <ref group=\"theGroup2\" name=\"anotherName2\">anotherValue2DifferentName</ref>\nanotherGROUP3 <ref group=\"theGroup3\" name=\"theName3\">anotherValue3</ref>\naDifferentNameGROUP <ref group=\"theGroup\" name=\"anotherName2\">anotherValueDifferentName</ref><references group=\"theGroup3\" />2qh34j",
"selser [[3,0,0,0,0,0,4,0,2,0,4,0,2,0],0,0,0,0,4,0]": "<ref group=\"theGroup\" name=\"theName\">theValue</ref>\nGROUP3 <ref group=\"theGroup3\" name=\"theName3\">theValue3</ref>\nGROUP2 <ref group=\"theGroup2\" name=\"theName2\">theValue2</ref>1h4fq7t<ref group=\"theGroup3\" name=\"theName\">anotherValue3differentName</ref>z1cho3\naDifferentNameGROUP2 <ref group=\"theGroup2\" name=\"anotherName2\">anotherValue2DifferentName</ref>1n1fwoa<ref group=\"theGroup3\" name=\"theName3\">anotherValue3</ref>dy2vej\naDifferentNameGROUP <ref group=\"theGroup\" name=\"anotherName2\">anotherValueDifferentName</ref>\n<references group=\"theGroup3\" />1jop4wf",
"selser [[2,0,0,0,3,0,0,0,2,0,4,0,0,0],0,0,0,0,2,0]": "1o90mvqGROUP <ref group=\"theGroup\" name=\"theName\">theValue</ref>\nGROUP3 <ref group=\"theGroup3\" name=\"theName3\">theValue3</ref><ref group=\"theGroup2\" name=\"theName2\">theValue2</ref>\naDifferentNameGROUP3 <ref group=\"theGroup3\" name=\"theName\">anotherValue3differentName</ref>rwewyu\naDifferentNameGROUP2 <ref group=\"theGroup2\" name=\"anotherName2\">anotherValue2DifferentName</ref>1c8jkqj<ref group=\"theGroup3\" name=\"theName3\">anotherValue3</ref>\naDifferentNameGROUP <ref group=\"theGroup\" name=\"anotherName2\">anotherValueDifferentName</ref>\n<references group=\"theGroup3\" />mikkul\n",
"selser [4,2,0,0,0,4,0]": "k6rbr\n\n1l7vu1\n<references group=\"theGroup3\" />emk1c5",
"selser [[4,0,3,0,0,0,4,0,4,0,0,0,0,0],0,0,0,0,4,0]": "16r1mvu<ref group=\"theGroup\" name=\"theName\">theValue</ref><ref group=\"theGroup3\" name=\"theName3\">theValue3</ref>\nGROUP2 <ref group=\"theGroup2\" name=\"theName2\">theValue2</ref>nxohyj<ref group=\"theGroup3\" name=\"theName\">anotherValue3differentName</ref>vq18di<ref group=\"theGroup2\" name=\"anotherName2\">anotherValue2DifferentName</ref>\nanotherGROUP3 <ref group=\"theGroup3\" name=\"theName3\">anotherValue3</ref>\naDifferentNameGROUP <ref group=\"theGroup\" name=\"anotherName2\">anotherValueDifferentName</ref>\n<references group=\"theGroup3\" />125ihu5"
},
"Hoisting multiple references should keep references in order": {
"selser [0,2,0]": "[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n\nskll29\n<references />",
"selser [2,3,0]": "ehf66i\n\n[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref><references />",
"selser [[1,0,0,0],0,0]": "[[Foo|hello]] <ref>note 3</ref>\n<references />",
"selser [[[3],0,0,0],0,0]": "<ref>note 3</ref>\n<references />",
"selser [1,2,0]": "[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n\n1pnv3hs\n<references />",
"selser [1,0,0]": "[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n<references />",
"selser [2,2,0]": "1yhdskf\n\n[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n\n1px7rgk\n<references />",
"selser [[[4],0,0,0],3,0]": "[[Foo|157cn7a]]<ref>note 3</ref><references />",
"selser [2,0,0]": "w5ildv\n\n[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n<references />",
"selser [[4,0,0,0],2,0]": "lyepzj<ref>note 3</ref>\n\n1yfhy9s\n<references />",
"selser [[2,0,0,0],0,0]": "u6ocmx[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n<references />",
"selser [0,3,0]": "[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref><references />",
"selser [1,3,0]": "[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref><references />",
"selser [[4,0,0,0],0,0]": "ycfpmk<ref>note 3</ref>\n<references />",
"selser [2,4,0]": "kpn8qp\n\n[[Foo|hello <ref>note 1</ref><ref>note 2</ref>]]<ref>note 3</ref>\n\n1wtlfei<references />"
},
"Multiple definition (inside {{#tag:references}})": {
"wt2html": "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-a_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,16,16,0]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\"}}'><a href=\"./Parser_test#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt5\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[17,86,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{},\"body\":{\"extsrc\":\"\\n&lt;ref name=\\\"a\\\">abc&lt;/ref>\\n&lt;ref name=\\\"a\\\">def&lt;/ref>\\n\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"\\n&lt;ref name=\\\"a\\\">abc&lt;/ref>\\n&lt;ref name=\\\"a\\\">def&lt;/ref>\\n\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-a-1\" id=\"cite_note-a-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-a_1-0\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-a-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">abc</span></li>\n</ol></div>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt13\" data-parsoid='{\"dsr\":[87,101,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"></ol></div>",
"html2html": "<p data-parsoid='{\"dsr\":[0,28,0,0]}'>Parsoid fails this right now</p>",
"html2wt": "Parsoid fails this right now"
},
"Numbers in the default group need to start with 1, independent from other groups": {
"wt2wt": "<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref name=\"c\">c</ref>\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,26,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-a_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,26,26,0]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\",\"group\":\"g\"}}'><a href=\"./Parser_test#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"g\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[g 1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt4\" data-parsoid='{\"group\":\"g\",\"pi\":[[{\"k\":\"1\"},{\"k\":\"group\",\"named\":true}]],\"dsr\":[27,76,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{\"group\":\"g\"},\"body\":{\"extsrc\":\"&lt;ref name=\\\"a\\\">a&lt;/ref>\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"&lt;ref name=\\\"a\\\">a&lt;/ref>\"},\"group\":{\"wt\":\"g\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-mw-group=\"g\" data-parsoid=\"{}\"><li about=\"#cite_note-a-1\" id=\"cite_note-a-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-a_1-0\" data-mw-group=\"g\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-a-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">a</span></li>\n</ol></div>\n<p data-parsoid='{\"dsr\":[77,98,0,0]}'><sup about=\"#mwt10\" class=\"mw-ref reference\" id=\"cite_ref-c_2-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[77,98,14,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"c\"},\"body\":{\"id\":\"mw-reference-text-cite_note-c-2\"}}'><a href=\"./Parser_test#cite_note-c-2\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt12\" data-parsoid='{\"dsr\":[99,113,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-c-2\" id=\"cite_note-c-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-c_2-0\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-c-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">c</span></li>\n</ol></div>",
"html2wt": "<ref name=\"a\" group=\"g\" />\n{{#tag:references|<ref name=\"a\">a</ref>|group=g}}\n<ref name=\"c\">c</ref>\n<references />",
"selser [3,0,0,3,1,2,0]": "\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref name=\"c\">c</ref>\n\n1xkz57y\n",
"selser [3,0,0,2,3,0,0]": "\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1x4tyf2\n\n",
"selser [2,3,0,2,0,0,0]": "1ej8t0v\n\n<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}o6on0l\n<ref name=\"c\">c</ref>",
"selser [0,2,0,0,0,2,0]": "<ref name=\"a\" group=\"g\" />\n\nwp6j9p\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref name=\"c\">c</ref>\n\n1m3g9gg\n",
"selser [0,4,0,0,4,0,0]": "<ref name=\"a\" group=\"g\" />\n\n846wg0{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n1tw2u46\n",
"selser [1,2,0,0,2,0,0]": "<ref name=\"a\" group=\"g\" />\n\n1dzhsrl\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\nu15f4n\n\n<ref name=\"c\">c</ref>",
"selser [1,3,0,0,0,2,0]": "<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref name=\"c\">c</ref>\n\ntj4ehx\n",
"selser [0,3,0,0,2,3,0]": "<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n19ke34v\n\n<ref name=\"c\">c</ref>",
"selser [4,3,0,4,3,2,0]": "1vf4gg5{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1wjax03\n\n17damaq\n",
"selser [0,2,0,0,3,0,0]": "<ref name=\"a\" group=\"g\" />\n\n1vwnk7l\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n\n",
"selser [0,4,0,0,0,4,0]": "<ref name=\"a\" group=\"g\" />\n\n1g99od4{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref name=\"c\">c</ref>\n\n1i2uphk",
"selser [3,2,0,4,4,0,0]": "p1h0i7\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1crdjyx\n\nqihif3\n",
"selser [4,0,0,0,3,4,0]": "xnuoja\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n1ymdh72",
"selser [0,3,0,3,0,0,0]": "<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref name=\"c\">c</ref>",
"selser [3,0,0,0,4,0,0]": "\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n1a3ay78\n",
"selser [0,4,0,2,0,0,0]": "<ref name=\"a\" group=\"g\" />\n\n17oynrv{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}s8vyr4\n<ref name=\"c\">c</ref>",
"selser [0,0,0,3,0,0,0]": "<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref name=\"c\">c</ref>",
"selser [1,3,0,4,0,0,0]": "<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}10qm2an\n\n<ref name=\"c\">c</ref>",
"selser [1,4,0,0,4,2,0]": "<ref name=\"a\" group=\"g\" />\n\n1yc2kkt{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\nc66qyv\n\n1wkm9pr\n",
"selser [3,4,0,0,1,0,0]": "mhy3ux{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref name=\"c\">c</ref>\n"
},
"Ref in ref: Multiple levels of nesting in parser function": {
"wt2wt": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,52,0,0]}'>one<sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-3\" rel=\"dc:references\" typeof=\"mw:Transclusion mw:Extension/ref\" data-parsoid='{\"dsr\":[3,52,null,null],\"pi\":[[{\"k\":\"1\"}]]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"extsrc\":\"two&lt;ref>three&lt;ref>four&lt;/ref>&lt;/ref>\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:ref\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"two{{#tag:ref|three&lt;ref>four&lt;/ref>}}\"}},\"i\":0}}]}'><a href=\"./Parser_test#cite_note-3\" style=\"counter-reset: mw-Ref 3;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[3]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt10\" data-parsoid='{\"dsr\":[53,67,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">four</span></li>\n<li about=\"#cite_note-2\" id=\"cite_note-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-2\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">three<sup about=\"#mwt6\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>four&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Parser_test#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></span></li>\n<li about=\"#cite_note-3\" id=\"cite_note-3\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-3\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-3\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">two<sup about=\"#mwt7\" class=\"mw-ref reference\" id=\"cite_ref-2\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>three&lt;ref>four&lt;/ref>&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-2\"}}'><a href=\"./Parser_test#cite_note-2\" style=\"counter-reset: mw-Ref 2;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[2]</span></a></sup></span></li>\n</ol></div>",
"html2wt": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n<references />",
"selser [1,3,0]": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}",
"selser [[2,0],0,0]": "1wgx3mrone{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n",
"selser [3,4,0]": "ptpea2",
"selser [0,2,0]": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\n146aw4h\n",
"selser [1,2,0]": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\nmuirlr\n",
"selser [2,3,0]": "15wh805\n\none{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}",
"selser [0,4,0]": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\n1y91zqr",
"selser [3,2,0]": "1svt85k\n",
"selser [1,0,0]": "one{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n",
"selser [[2,0],4,0]": "1w1ehrkone{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\n1rzhbj",
"selser [[4,0],0,0]": "1kpcg0a{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n",
"selser [4,0,0]": "bjgkkq\n",
"selser [3,0,0]": "\n",
"selser [[4,0],3,0]": "cf4u9w{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}",
"selser [4,4,0]": "kz18o0\n\n1kwzvny",
"selser [[4,0],2,0]": "lnwcib{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\nhiy4zs\n",
"selser [[3,0],3,0]": "{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}",
"selser [[2,0],2,0]": "zht2igone{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\n120d1kv\n",
"selser [2,2,0]": "grxmgx\n\none{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}\n\n18uph1n\n",
"selser [2,0,0]": "1qsn27t\n\none{{#tag:ref|two{{#tag:ref|three<ref>four</ref>}}}}"
},
"Ref: 12. ref-tags act as trailing newline migration barrier": {
"selser [4,[2],3,2,4,[4],3,0]": "7i6vwo\n\nfzf7t0a\n\n1cltg43\n\nb<!--the newline at the end of this line stays inside the p tag--> <ref>foo</ref>\n<ref>bar</ref>\n\n7vjkpr\n\n1vn32lo\n<references />"
},
"Ref: 3. spaces in ref-names should be ignored": {
"wt2wt": "A <ref name=\"x\">foo</ref>\nB <ref name=\"x\" />\nC <ref name=\"x\" />\n<references />",
"html2wt": "A <ref name=\"x\">foo</ref>\nB <ref name=\"x\" />\nC <ref name=\"x\" />\n<references />",
"selser [[0,0,2,0,3,0],0,0]": "A <ref name=\"x\">foo</ref>bgo09a\nB <ref name=\" x \" /><ref name= x />\n<references />",
"selser [[0,0,4,0,2,0],0,0]": "A <ref name=\"x\">foo</ref>zn8msh<ref name=\" x \" />c5u3nz\nC <ref name= x />\n<references />",
"selser [[0,0,3,0,0,0],3,0]": "A <ref name=\"x\">foo</ref><ref name=\" x \" />\nC <ref name= x /><references />",
"selser [[4,0,3,0,3,0],0,0]": "u3w7pb<ref name=\"x\">foo</ref><ref name=\" x \" /><ref name= x />\n<references />",
"selser [2,0,0]": "1jut7m6\n\nA <ref name=\"x\">foo</ref>\nB <ref name=\" x \" />\nC <ref name= x />\n<references />",
"selser [[3,0,4,0,0,0],4,0]": "<ref name=\"x\">foo</ref>1c9mhyo<ref name=\" x \" />\nC <ref name= x />\n\n1f5a5xx<references />",
"selser [1,2,0]": "A <ref name=\"x\">foo</ref>\nB <ref name=\" x \" />\nC <ref name= x />\n\n1d4omiq\n<references />",
"selser [0,4,0]": "A <ref name=\"x\">foo</ref>\nB <ref name=\" x \" />\nC <ref name= x />\n\n8n56tv<references />",
"selser [[4,0,2,0,0,0],0,0]": "av0irw<ref name=\"x\">foo</ref>63jwli\nB <ref name=\" x \" />\nC <ref name= x />\n<references />",
"selser [[3,0,3,0,0,0],0,0]": "<ref name=\"x\">foo</ref><ref name=\" x \" />\nC <ref name= x />\n<references />",
"selser [[0,0,4,0,3,0],4,0]": "A <ref name=\"x\">foo</ref>1dkz2w8<ref name=\" x \" /><ref name= x />\n\nti4ywv<references />",
"selser [[4,0,0,0,3,0],2,0]": "cvv2e<ref name=\"x\">foo</ref>\nB <ref name=\" x \" /><ref name= x />\n\n33wcuy\n<references />",
"selser [[3,0,3,0,0,0],2,0]": "<ref name=\"x\">foo</ref><ref name=\" x \" />\nC <ref name= x />\n\nkmsr29\n<references />",
"selser [1,0,0]": "A <ref name=\"x\">foo</ref>\nB <ref name=\" x \" />\nC <ref name= x />\n<references />",
"selser [[3,0,0,0,0,0],3,0]": "<ref name=\"x\">foo</ref>\nB <ref name=\" x \" />\nC <ref name= x /><references />",
"selser [[3,0,4,0,2,0],0,0]": "<ref name=\"x\">foo</ref>101p079<ref name=\" x \" />3m6jc7\nC <ref name= x />\n<references />",
"selser [[0,0,0,0,4,0],0,0]": "A <ref name=\"x\">foo</ref>\nB <ref name=\" x \" />baab28<ref name= x />\n<references />"
},
"Ref: 8. transclusion wikitext has lower precedence": {
"wt2wt": "A <ref><nowiki> foo {{1x|</nowiki></ref><nowiki> B C}}</nowiki>\n\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,63,0,0]}'>A <sup about=\"#mwt4\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[2,40,5,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Parser_test#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup><span typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[40,63,8,9]}'> B C}}</span></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt6\" data-parsoid='{\"dsr\":[64,78,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\"> foo {{1x|</span></li>\n</ol></div>",
"html2wt": "A <ref><nowiki> foo {{1x|</nowiki></ref><nowiki> B C}}</nowiki>\n<references />",
"selser [[3,0,0],0,0]": "<ref> foo {{1x|</ref> B C}}\n\n<references />",
"selser [[3,0,0],3,0]": "<ref> foo {{1x|</ref> B C}}<references />",
"selser [0,2,0]": "A <ref> foo {{1x|</ref> B C}}\n\n232wei\n\n<references />",
"selser [[0,0,2],2,0]": "A <ref> foo {{1x|</ref><nowiki>lhhaci B C}}</nowiki>\n\n1rk0l3t\n\n<references />",
"selser [1,4,0]": "A <ref> foo {{1x|</ref> B C}}\n\nu9t9ud<references />",
"selser [0,3,0]": "A <ref> foo {{1x|</ref> B C}}<references />",
"selser [[2,0,0],0,0]": "tz66ieA <ref> foo {{1x|</ref> B C}}\n\n<references />",
"selser [[2,0,4],0,0]": "1spohtmA <ref> foo {{1x|</ref>fdorka\n\n<references />",
"selser [0,4,0]": "A <ref> foo {{1x|</ref> B C}}\n\n1hy11rc<references />",
"selser [[4,0,3],4,0]": "1abu1po<ref> foo {{1x|</ref>\n\n1ly2yt3<references />",
"selser [1,0,0]": "A <ref> foo {{1x|</ref> B C}}\n\n<references />",
"selser [[3,0,0],2,0]": "<ref> foo {{1x|</ref> B C}}\n\n733hyo\n\n<references />",
"selser [[4,0,2],3,0]": "kfd1um<ref> foo {{1x|</ref><nowiki>1qghqn9 B C}}</nowiki><references />",
"selser [2,0,0]": "1g727md\n\nA <ref> foo {{1x|</ref> B C}}\n\n<references />",
"selser [[2,0,0],2,0]": "1afn0jkA <ref> foo {{1x|</ref> B C}}\n\n11z3b8h\n\n<references />",
"selser [[0,0,4],4,0]": "A <ref> foo {{1x|</ref>1vutmtj\n\nd3igfs<references />",
"selser [[4,0,2],4,0]": "196plys<ref> foo {{1x|</ref><nowiki>1jwbmk4 B C}}</nowiki>\n\n1k9iwxo<references />"
},
"Ref: 9. unclosed comments should not leak out of ref-body": {
"wt2wt": "A <ref> foo <!----></ref> B C\n<references />",
"html2wt": "A <ref> foo <!----></ref> B C\n<references />",
"selser [2,3,0]": "5vqncy\n\nA <ref> foo <!--</ref> B C<references />",
"selser [[4,0,0],4,0]": "enxstj<ref> foo <!--</ref> B C\n\nffz473<references />",
"selser [[0,0,4],3,0]": "A <ref> foo <!--</ref>bkgoyg<references />",
"selser [[2,0,0],2,0]": "fvipshA <ref> foo <!--</ref> B C\n\n1kr7noz\n<references />",
"selser [1,0,0]": "A <ref> foo <!--</ref> B C\n<references />",
"selser [[2,0,0],0,0]": "nme5ogA <ref> foo <!--</ref> B C\n<references />",
"selser [[3,0,2],0,0]": "<ref> foo <!--</ref>1eg7mz8 B C\n<references />",
"selser [[4,0,4],2,0]": "h9unkw<ref> foo <!--</ref>nr923z\n\ntcumap\n<references />",
"selser [[3,0,4],0,0]": "<ref> foo <!--</ref>3e486e\n<references />",
"selser [1,2,0]": "A <ref> foo <!--</ref> B C\n\nbzoeog\n<references />",
"selser [[2,0,0],4,0]": "gk7d8eA <ref> foo <!--</ref> B C\n\n18hcbar<references />",
"selser [[4,0,0],3,0]": "1eumrqx<ref> foo <!--</ref> B C<references />",
"selser [2,0,0]": "ddvova\n\nA <ref> foo <!--</ref> B C\n<references />",
"selser [[0,0,2],0,0]": "A <ref> foo <!--</ref>1gt768x B C\n<references />",
"selser [[3,0,3],4,0]": "<ref> foo <!--</ref>\n\n19u9571<references />",
"selser [[0,0,4],2,0]": "A <ref> foo <!--</ref>17e7gw7\n\n12k43e1\n<references />"
},
"References: 7b. Multiple references tags some with errors should be correctly handled": {
"selser [[4,0,0,0,0,0,3,0],0,0,0,0,2,3,0,0,4,0,4,[4,0,2,0],4,0,2,1,3,0]": "1j89wn7<ref name=\"foo\" />\nBETA<ref name=\"foo\" />\nONE<ref group=\"NOTES\" name=\"foo\" /><ref group=\"NOTES\" name=\"foo\">food</ref>\n<references group=\"NOTES\" />\n<references />1rwkqso\n\n<references group=\"NOTES\" />1jq071f<references>\n<ref name=\"foo\">NOGROUPCONTENT</ref>\n</references>14oe7ga\n\nbgmxhf<ref group=\"NOTES\" name=\"bar\" />pshdot\nEIGHT<ref group=\"NOTES\" name=\"foo\" />\n\nz8j9mw<references group=\"NOTES\" />hzkodm\nNINE<ref group=\"NOTES\" name=\"bar\">NINECONTENT</ref>\nTEN<ref group=\"NOTES\" name=\"foo\">TENCONTENT</ref>\n<references group=\"NOTES\" />",
"selser [[3,0,0,0,0,0,0,0],0,0,0,0,0,[4,0,3,0,0,0,2,0],4,0,0,0,4,[4,0,2,0],3,0,0,0,2,0]": "<ref name=\"foo\" />\nBETA<ref name=\"foo\" />\nONE<ref group=\"NOTES\" name=\"foo\" />\nTWO<ref group=\"NOTES\" name=\"foo\">food</ref>\n<references group=\"NOTES\" />\n<references />\n1psrboy<ref group=\"NOTES\" name=\"bar\">CONTENT</ref><ref group=\"NOTES\" name=\"foo\" />\nFIVE<ref group=\"NOTES\" name=\"foo\" />1qszo21\nSIX<ref name=\"foo\" />\n\nsuf1n1<references group=\"NOTES\" />\n<references>\n<ref name=\"foo\">NOGROUPCONTENT</ref>\n</references>25mjc5\n\nyu1kxj<ref group=\"NOTES\" name=\"bar\" />1g10riv\nEIGHT<ref group=\"NOTES\" name=\"foo\" />\n<references group=\"NOTES\" />\nNINE<ref group=\"NOTES\" name=\"bar\">NINECONTENT</ref>\nTEN<ref group=\"NOTES\" name=\"foo\">TENCONTENT</ref>\n\n1d580ro\n<references group=\"NOTES\" />",
"selser [[0,0,2,0,0,0,3,0],2,0,4,0,3,[3,0,0,0,0,0,2,0],3,0,4,0,2,[0,0,4,0],3,0,3,[3,0,4,0],0,0]": "ALPHA<ref name=\"foo\" />22lt48\nBETA<ref name=\"foo\" />\nONE<ref group=\"NOTES\" name=\"foo\" /><ref group=\"NOTES\" name=\"foo\">food</ref>\n\n1451lew\n<references group=\"NOTES\" />lqoly6<references /><ref group=\"NOTES\" name=\"bar\">CONTENT</ref>\nFOUR<ref group=\"NOTES\" name=\"foo\" />\nFIVE<ref group=\"NOTES\" name=\"foo\" />gre45y\nSIX<ref name=\"foo\" /><references group=\"NOTES\" />10rwhvd<references>\n<ref name=\"foo\">NOGROUPCONTENT</ref>\n</references>1wki71f\nSEVEN<ref group=\"NOTES\" name=\"bar\" />4qwn7w<ref group=\"NOTES\" name=\"foo\" />\n<references group=\"NOTES\" /><ref group=\"NOTES\" name=\"bar\">NINECONTENT</ref>ttkawj<ref group=\"NOTES\" name=\"foo\">TENCONTENT</ref>\n<references group=\"NOTES\" />",
"selser [[0,0,0,0,3,0,0,0],0,0,2,0,2,[0,0,3,0,0,0,3,0],2,0,0,0,4,3,2,0,2,[4,0,3,0],3,0]": "ALPHA<ref name=\"foo\" />\nBETA<ref name=\"foo\" /><ref group=\"NOTES\" name=\"foo\" />\nTWO<ref group=\"NOTES\" name=\"foo\">food</ref>\n<references group=\"NOTES\" />1qapxjz\n<references />7pf4vl\nTHREE<ref group=\"NOTES\" name=\"bar\">CONTENT</ref><ref group=\"NOTES\" name=\"foo\" />\nFIVE<ref group=\"NOTES\" name=\"foo\" /><ref name=\"foo\" />\n\ndarn3u\n<references group=\"NOTES\" />\n<references>\n<ref name=\"foo\">NOGROUPCONTENT</ref>\n</references>1mumzkf\n\nn7micy\n<references group=\"NOTES\" />j0hkgv\n1itv396<ref group=\"NOTES\" name=\"bar\">NINECONTENT</ref><ref group=\"NOTES\" name=\"foo\">TENCONTENT</ref>\n<references group=\"NOTES\" />"
},
"References: 9. Generate missing references list at the end": {
"wt2wt": "A <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>\n<references />\n",
"html2html": "<p data-parsoid='{\"dsr\":[0,52,0,0]}'>A <sup about=\"#mwt3\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[2,16,5,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Parser_test#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup> B <sup about=\"#mwt4\" class=\"mw-ref reference\" id=\"cite_ref-2\" rel=\"dc:references\" typeof=\"mw:Extension/ref mw:Error\" data-parsoid='{\"dsr\":[19,52,24,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"group\":\"inexistent\"},\"body\":{\"id\":\"mw-reference-text-cite_note-2\"},\"errors\":[{\"key\":\"cite_error_group_refs_without_references\",\"params\":[\"inexistent\"]}]}'><a href=\"./Parser_test#cite_note-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"inexistent\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[inexistent 1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt6\" data-parsoid='{\"dsr\":[53,67,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">foo</span></li>\n</ol></div>\n\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt7\" data-parsoid='{\"group\":\"inexistent\",\"dsr\":[68,68,0,0]}' data-mw='{\"name\":\"references\",\"attrs\":{\"group\":\"inexistent\"},\"autoGenerated\":true}'><ol class=\"mw-references references\" data-mw-group=\"inexistent\" data-parsoid=\"{}\"><li about=\"#cite_note-2\" id=\"cite_note-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-2\" data-mw-group=\"inexistent\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">bar</span></li>\n</ol></div>",
"html2wt": "A <ref>foo</ref> B <ref group=\"inexistent\">bar</ref>\n<references />\n",
"selser [0,4,0,3,0]": "A <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>\n\ng0czw3",
"selser [4,4,0,4,0]": "whc1pl\n\n1mmf2281nhjc7y",
"selser [[2,0,2,0],0,0,3,0]": "1cd0gbiA <ref>foo</ref>117zkke\nB <ref group=\"inexistent\">bar</ref>\n",
"selser [3,0,0,2,0]": "\njqowq3\n",
"selser [[0,0,2,0],2,0,0,0]": "A <ref>foo</ref>10zxrbq\nB <ref group=\"inexistent\">bar</ref>\n\nuou6bv\n",
"selser [4,2,0,3,0]": "4w7riv\n\n1rg9j19\n",
"selser [0,3,0,0,0]": "A <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [[0,0,4,0],0,0,4,0]": "A <ref>foo</ref>dhfezw<ref group=\"inexistent\">bar</ref>\n1vxqzn3",
"selser [[0,0,4,0],0,0,3,0]": "A <ref>foo</ref>b00lv8<ref group=\"inexistent\">bar</ref>\n",
"selser [[3,0,0,0],3,0,0,0]": "<ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [3,3,0,0,0]": "",
"selser [[4,0,4,0],2,0,4,0]": "w7dk2y<ref>foo</ref>10mrqy6<ref group=\"inexistent\">bar</ref>\n\n2w18lh\nd4iu9c",
"selser [4,3,0,2,0]": "o4n0p9yt1njz\n",
"selser [2,3,0,0,0]": "1wqrh49\n\nA <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [[4,0,0,0],3,0,0,0]": "yo0bpd<ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [[4,0,0,0],0,0,2,0]": "14agw3g<ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>\n1gnz03z\n",
"selser [1,3,0,0,0]": "A <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [0,0,0,4,0]": "A <ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>3nzqah",
"selser [[4,0,0,0],3,0,3,0]": "8kgceb<ref>foo</ref>\nB <ref group=\"inexistent\">bar</ref>",
"selser [3,0,0,0,0]": "\n"
},
"Report bad attributes in ref tags": {
"wt2html": "<p data-parsoid='{\"dsr\":[0,65,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-theName_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,65,51,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"theName\",\"group\":\"theGroup\",\"dummy\":\"dummy\"},\"body\":{\"id\":\"mw-reference-text-cite_note-theName-1\"}}'><a href=\"./Parser_test#cite_note-theName-1\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"theGroup\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[theGroup 1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt4\" data-parsoid='{\"group\":\"theGroup\",\"dsr\":[66,97,31,0]}' data-mw='{\"name\":\"references\",\"attrs\":{\"group\":\"theGroup\"}}'><ol class=\"mw-references references\" data-mw-group=\"theGroup\" data-parsoid=\"{}\"><li about=\"#cite_note-theName-1\" id=\"cite_note-theName-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-theName_1-0\" data-mw-group=\"theGroup\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-theName-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">theValue</span></li>\n</ol></div>",
"html2wt": "<span class=\"error mw-ext-cite-error\" lang=\"en\" dir=\"ltr\">Cite error: Invalid parameter in <code><nowiki><ref></nowiki></code> tag</span>\n"
},
"Simple <ref>, with <references/> in group, with groupname in Chinese": {
"html2wt": "AAA<ref group=\"参\">ref a</ref>BBB<ref group=\"注\">note b</ref>CCC<ref group=\"参\">ref c</ref>\n\n; refs\n<references group=\"参\" />\n\n; notes\n<references group=\"注\" />"
},
"T242437 - Blank ref name in #tag regression": {
"wt2html": "<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt2\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,44,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{},\"body\":{\"extsrc\":\"\\n&lt;ref name=\\\"\\\">foo&lt;/ref>\\n\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"\\n&lt;ref name=\\\"\\\">foo&lt;/ref>\\n\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" class=\"mw-cite-backlink\" data-parsoid=\"{}\"></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">foo</span></li>\n</ol></div>",
"html2wt": "<span class=\"error mw-ext-cite-error\" lang=\"en\" dir=\"ltr\">Cite error: <code><nowiki><ref></nowiki></code> tag defined in <code><nowiki><references></nowiki></code> has no name attribute.</span>\n"
},
"T242437 - Nested references edge case, inner tag function with LDR": {
"wt2wt": "<ref name=\"foo\" />\n\n<references>\n<ref name=\"foo\">bar</ref>\n</references>",
"html2wt": "<ref name=\"foo\" />\n\n<references>\n<ref name=\"foo\">bar</ref>\n</references>",
"selser [3,4,0]": "bawpqu<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [3,0,0]": "\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [4,0,0]": "ck0llt\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [1,2,0]": "<ref name=\"foo\" />\n\ncogz2u\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [0,4,0]": "<ref name=\"foo\" />\n\nh3v8aa<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [0,3,0]": "<ref name=\"foo\" /><references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [2,0,0]": "jffeh4\n\n<ref name=\"foo\" />\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [0,2,0]": "<ref name=\"foo\" />\n\n1tfp11e\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [3,3,0]": "<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [2,3,0]": "166laqq\n\n<ref name=\"foo\" /><references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [1,3,0]": "<ref name=\"foo\" /><references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [1,0,0]": "<ref name=\"foo\" />\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [2,2,0]": "1h8bapc\n\n<ref name=\"foo\" />\n\nt9r6y7\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [2,4,0]": "q2syc4\n\n<ref name=\"foo\" />\n\nx52kyz<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [4,3,0]": "n4b1sc<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [4,2,0]": "88268g\n\n1u6javj\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [1,4,0]": "<ref name=\"foo\" />\n\n1r3ee5r<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [3,2,0]": "1h3zbhu\n\n<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>",
"selser [4,4,0]": "1w3p74w\n\n164bamw<references>\n {{#tag:references|\n <ref name=\"foo\">bar</ref>\n }}\n</references>"
},
"T242437 - Nested references edge case, outer tag function with LDR": {
"wt2html": "<p data-parsoid='{\"dsr\":[0,18,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-foo_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,18,18,0]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"foo\"}}'><a href=\"./Parser_test#cite_note-foo-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt5\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[19,86,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{},\"body\":{\"extsrc\":\"\\n &lt;ref name=\\\"foo\\\">bar&lt;/ref>\\n\\n &lt;References />\\n\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"\\n &lt;ref name=\\\"foo\\\">bar&lt;/ref>\\n\\n &lt;References />\\n\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-foo-1\" id=\"cite_note-foo-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-foo_1-0\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-foo-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">bar</span></li>\n</ol></div>",
"html2html": "<p data-parsoid='{\"dsr\":[0,28,0,0]}'>Parsoid fails this right now</p>",
"html2wt": "Parsoid fails this right now"
},
"T242437 - Nested references edge case, outer tag function, inner LDR": {
"wt2html": "<p data-parsoid='{\"dsr\":[0,18,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-foo_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,18,18,0]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"foo\"}}'><a href=\"./Parser_test#cite_note-foo-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt4\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[19,101,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{},\"body\":{\"extsrc\":\"\\n &lt;references>\\n &lt;ref name=\\\"foo\\\">bar&lt;/ref>\\n &lt;/references>\\n\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"\\n &lt;references>\\n &lt;ref name=\\\"foo\\\">bar&lt;/ref>\\n &lt;/references>\\n\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-foo-1\" id=\"cite_note-foo-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-foo_1-0\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-foo-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">bar</span></li>\n</ol></div>",
"html2html": "<p data-parsoid='{\"dsr\":[0,28,0,0]}'>Parsoid fails this right now</p>",
"html2wt": "Parsoid fails this right now"
},
"T48140 - Make sure rollback/redo does not consume numbers": {
"wt2wt": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref>should be [2]</ref>\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,51,0,0]}'><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,24,5,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Parser_test#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup>\n<sup about=\"#mwt4\" class=\"mw-ref reference\" id=\"cite_ref-a_2-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[25,51,26,0]}' data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\",\"group\":\"g\"}}'><a href=\"./Parser_test#cite_note-a-2\" style=\"counter-reset: mw-Ref 1;\" data-mw-group=\"g\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[g 1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references mw:Transclusion\" about=\"#mwt6\" data-parsoid='{\"group\":\"g\",\"pi\":[[{\"k\":\"1\"},{\"k\":\"group\",\"named\":true}]],\"dsr\":[52,103,null,null]}' data-mw='{\"name\":\"references\",\"attrs\":{\"group\":\"g\"},\"body\":{\"extsrc\":\"\\n&lt;ref name=\\\"a\\\">a&lt;/ref>\\n\"},\"parts\":[{\"template\":{\"target\":{\"wt\":\"#tag:references\",\"function\":\"tag\"},\"params\":{\"1\":{\"wt\":\"\\n&lt;ref name=\\\"a\\\">a&lt;/ref>\\n\"},\"group\":{\"wt\":\"g\"}},\"i\":0}}]}'><ol class=\"mw-references references\" data-mw-group=\"g\" data-parsoid=\"{}\"><li about=\"#cite_note-a-2\" id=\"cite_note-a-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-a_2-0\" data-mw-group=\"g\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-a-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">a</span></li>\n</ol></div>\n<p data-parsoid='{\"dsr\":[104,128,0,0]}'><sup about=\"#mwt12\" class=\"mw-ref reference\" id=\"cite_ref-3\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[104,128,5,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-3\"}}'><a href=\"./Parser_test#cite_note-3\" style=\"counter-reset: mw-Ref 2;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[2]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt14\" data-parsoid='{\"dsr\":[129,143,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">should be [1]</span></li>\n<li about=\"#cite_note-3\" id=\"cite_note-3\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-3\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-3\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">should be [2]</span></li>\n</ol></div>",
"html2wt": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref>should be [2]</ref>\n<references />",
"selser [0,4,0,0,2,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n\nxxyaqo{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\nfpd64i\n\n<ref>should be [2]</ref>",
"selser [0,3,0,0,0,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref>should be [2]</ref>",
"selser [1,0,0,0,2,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\ntpeklt\n\n<ref>should be [2]</ref>",
"selser [[0,2,0],0,0,3,3,3,0]": "<ref>should be [1]</ref>1vlx0og\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}",
"selser [[0,2,0],2,0,0,0,2,0]": "<ref>should be [1]</ref>u47q58\n<ref name=\"a\" group=\"g\" />\n\n1f21mgf\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref>should be [2]</ref>\n\n2mhihm\n",
"selser [0,3,0,0,3,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n\n",
"selser [0,2,0,4,1,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n\nxo2w5s\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1xyowr3\n\n<ref>should be [2]</ref>\n",
"selser [[0,4,0],0,0,4,4,0,0]": "<ref>should be [1]</ref>1bitl85<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1c427ss\n\nk9t460\n",
"selser [0,0,0,3,0,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref>should be [2]</ref>",
"selser [0,0,0,0,4,3,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n1gi367b",
"selser [[0,3,0],0,0,3,0,0,0]": "<ref>should be [1]</ref><ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref>should be [2]</ref>",
"selser [4,3,0,4,1,0,0]": "zxixo9{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}16jihlq\n\n<ref>should be [2]</ref>\n",
"selser [0,2,0,0,0,4,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n\n150bk76\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n<ref>should be [2]</ref>\n\n14ailym",
"selser [[0,2,0],0,0,2,4,4,0]": "<ref>should be [1]</ref>vk95cb\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1t1jimx\n5pjd3g\n\n1eahg6z",
"selser [1,0,0,2,2,4,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}3n1rvt\nm6n2wt\n\n<ref>should be [2]</ref>\n\ngbxmis",
"selser [0,0,0,2,4,4,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}xrcz1p\n880uyu\n\n1mlibi2",
"selser [1,0,0,3,0,0,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}<ref>should be [2]</ref>",
"selser [0,2,0,4,0,3,0]": "<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n\nd63d9s\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}1qwap6m\n\n<ref>should be [2]</ref>",
"selser [[0,3,0],0,0,0,4,0,0]": "<ref>should be [1]</ref><ref name=\"a\" group=\"g\" />\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}\n14kx75h\n",
"selser [2,2,0,4,1,4,0]": "1hsihii\n\n<ref>should be [1]</ref>\n<ref name=\"a\" group=\"g\" />\n\n1g6dh4b\n{{#tag:references|\n<ref name=\"a\">a</ref>\n|group=g}}tw7h2w\n\n<ref>should be [2]</ref>\n\n4jzjr9"
},
"Template nested in extension tag in template": {
"wt2html": "<p data-parsoid='{\"dsr\":[0,123,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,36,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>[[ho|{{1x|hi}}]]&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>[[ho|{{1x|hi}}]]&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup>\n<span about=\"#mwt7\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[37,86,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>[http://test.com?q={{1x|ho}}]&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt7\" class=\"mw-ref reference\" id=\"cite_ref-2\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>[http://test.com?q={{1x|ho}}]&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-2\"}}'><a href=\"./Main_Page#cite_note-2\" style=\"counter-reset: mw-Ref 2;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[2]</span></a></sup>\n<span about=\"#mwt12\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[87,123,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>-{ho|{{1x|hi}}}-&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt12\" class=\"mw-ref reference\" id=\"cite_ref-3\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>-{ho|{{1x|hi}}}-&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-3\"}}'><a href=\"./Main_Page#cite_note-3\" style=\"counter-reset: mw-Ref 3;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[3]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt17\" data-parsoid='{\"dsr\":[124,138,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\"><a rel=\"mw:WikiLink\" href=\"./Ho?action=edit&amp;redlink=1\" title=\"Ho\" class=\"new\" typeof=\"mw:LocalizedAttrs\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Ho\"},\"sa\":{\"href\":\"ho\"}}' data-mw-i18n='{\"title\":{\"lang\":\"x-page\",\"key\":\"red-link-title\",\"params\":[\"Ho\"]}}'>hi</a></span></li>\n<li about=\"#cite_note-2\" id=\"cite_note-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-2\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\"><a rel=\"mw:ExtLink nofollow\" href=\"http://test.com?q=ho\" class=\"external autonumber\" data-parsoid=\"{}\"></a></span></li>\n<li about=\"#cite_note-3\" id=\"cite_note-3\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-3\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-3\" class=\"mw-reference-text reference-text\"
"html2html": "<p data-parsoid='{\"dsr\":[0,123,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,36,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>[[ho|{{1x|hi}}]]&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt2\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>[[ho|{{1x|hi}}]]&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup>\n<span about=\"#mwt7\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[37,86,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>[http://test.com?q={{1x|ho}}]&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt7\" class=\"mw-ref reference\" id=\"cite_ref-2\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>[http://test.com?q={{1x|ho}}]&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-2\"}}'><a href=\"./Main_Page#cite_note-2\" style=\"counter-reset: mw-Ref 2;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[2]</span></a></sup>\n<span about=\"#mwt12\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[87,123,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"1x\",\"href\":\"./Template:1x\"},\"params\":{\"1\":{\"wt\":\"hi&lt;ref>-{ho|{{1x|hi}}}-&lt;/ref>\"}},\"i\":0}}]}'>hi</span><sup about=\"#mwt12\" class=\"mw-ref reference\" id=\"cite_ref-3\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>-{ho|{{1x|hi}}}-&lt;/ref>\"}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-3\"}}'><a href=\"./Main_Page#cite_note-3\" style=\"counter-reset: mw-Ref 3;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[3]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt17\" data-parsoid='{\"dsr\":[124,138,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\"><a rel=\"mw:WikiLink\" href=\"./Ho?action=edit&amp;redlink=1\" title=\"Ho\" class=\"new\" typeof=\"mw:LocalizedAttrs\" data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Ho\"},\"sa\":{\"href\":\"ho\"}}' data-mw-i18n='{\"title\":{\"lang\":\"x-page\",\"key\":\"red-link-title\",\"params\":[\"Ho\"]}}'>hi</a></span></li>\n<li about=\"#cite_note-2\" id=\"cite_note-2\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-2\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-2\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\"><a rel=\"mw:ExtLink nofollow\" href=\"http://test.com?q=ho\" class=\"external autonumber\" data-parsoid=\"{}\"></a></span></li>\n<li about=\"#cite_note-3\" id=\"cite_note-3\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Main_Page#cite_ref-3\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-3\" class=\"mw-reference-text reference-text\
},
"{{REVISIONID}} on page with <ref> (bug 6299)": {
"wt2wt": "{{REVISIONID}}<ref>elite</ref>\n<references />",
"html2html": "<p data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"function\":\"revisionid\"},\"params\":{},\"i\":0}}]}'>1337</span><sup about=\"#mwt3\" class=\"mw-ref reference\" id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[14,30,5,6]}' data-mw='{\"name\":\"ref\",\"attrs\":{},\"body\":{\"id\":\"mw-reference-text-cite_note-1\"}}'><a href=\"./Parser_test#cite_note-1\" style=\"counter-reset: mw-Ref 1;\" data-parsoid=\"{}\"><span class=\"mw-reflink-text\" data-parsoid=\"{}\">[1]</span></a></sup></p>\n<div class=\"mw-references-wrap\" typeof=\"mw:Extension/references\" about=\"#mwt5\" data-parsoid='{\"dsr\":[31,45,14,0]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><ol class=\"mw-references references\" data-parsoid=\"{}\"><li about=\"#cite_note-1\" id=\"cite_note-1\" data-parsoid=\"{}\"><span class=\"mw-cite-backlink\" data-parsoid=\"{}\"><a href=\"./Parser_test#cite_ref-1\" rel=\"mw:referencedBy\" data-parsoid=\"{}\"><span class=\"mw-linkback-text\" data-parsoid=\"{}\">↑ </span></a></span> <span id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text reference-text\" data-parsoid=\"{}\">elite</span></li>\n</ol></div>",
"html2wt": "{{REVISIONID}}<ref>elite</ref>\n<references />",
"selser [0,3,0]": "{{REVISIONID}}<ref>elite</ref>",
"selser [4,0,0]": "gqyiqf\n",
"selser [1,2,0]": "{{REVISIONID}}<ref>elite</ref>\n\n1a6otiq\n",
"selser [2,2,0]": "7idxf8\n\n{{REVISIONID}}<ref>elite</ref>\n\n1dburhc\n",
"selser [3,0,0]": "\n",
"selser [2,0,0]": "1v8qufh\n\n{{REVISIONID}}<ref>elite</ref>",
"selser [0,4,0]": "{{REVISIONID}}<ref>elite</ref>\n\nhr3unp",
"selser [4,3,0]": "1d8jkif",
"selser [1,4,0]": "{{REVISIONID}}<ref>elite</ref>\n\n1s3icyj",
"selser [0,2,0]": "{{REVISIONID}}<ref>elite</ref>\n\nrjzpcq\n",
"selser [1,3,0]": "{{REVISIONID}}<ref>elite</ref>",
"selser [3,3,0]": "",
"selser [1,0,0]": "{{REVISIONID}}<ref>elite</ref>\n",
"selser [3,4,0]": "7uvu41",
"selser [2,4,0]": "1ndy63i\n\n{{REVISIONID}}<ref>elite</ref>\n\n15wnw26",
"selser [4,4,0]": "e67fty\n\ns7z72f",
"selser [4,2,0]": "1kjcdbq\n\n1t30wom\n",
"selser [2,3,0]": "11e8rkj\n\n{{REVISIONID}}<ref>elite</ref>",
"selser [3,2,0]": "1ljugez\n"
}
}