{
    "Basic section headings": {
        "html2wt": "== Headline 1 ==\nSome text\n\n== Headline 2 ==\nMore\n\n=== Smaller headline ===\nBlah blah\n"
    },
    "Decoding of HTML entities in headings and links for IDs and link fragments (T103714)": {
        "html2wt": "== A&B&amp;C&amp;amp;D&amp;amp;amp;E ==\n[[#A&B&amp;C&amp;amp;D&amp;amp;amp;E]]",
        "selser [0,[4,4,1]]": "yj16gg\n\niboewz\n\n[[#A&B&C&amp;amp;D&amp;amp;amp;E]]"
    },
    "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"
    },
    "Editable headings can only have trailing comments and whitespace": {
        "wt2wt": "====test====\nyup\n\n====hi ho====\n<noinclude>\nnope\n</noinclude>\n\n====test 2====\nanother yup\n\n<!-- well -->====ha ha====\nback to nope\n\n====he he====  <!-- but this is ok -->\nsee",
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"><meta property=\"mw:PageProp/toc\" data-parsoid='{\"dsr\":[0,0,0,0]}' data-mw='{\"autoGenerated\":true}'/></section><section data-mw-section-id=\"1\" data-parsoid=\"{}\"><h4 id=\"test\" data-parsoid='{\"dsr\":[0,14,4,4,1,1]}'>test</h4>\n<p data-parsoid='{\"dsr\":[15,18,0,0]}'>yup</p>\n\n</section><section data-mw-section-id=\"2\" data-parsoid=\"{}\"><h4 id=\"hi_ho\" data-parsoid='{\"dsr\":[20,35,4,4,1,1]}'>hi ho</h4>\n<meta typeof=\"mw:Includes/NoInclude\" data-parsoid='{\"src\":\"&lt;noinclude>\",\"dsr\":[36,47,null,null]}'/>\n<p data-parsoid='{\"dsr\":[48,52,0,0]}'>nope</p>\n<meta typeof=\"mw:Includes/NoInclude/End\" data-parsoid='{\"src\":\"&lt;/noinclude>\",\"dsr\":[53,65,null,null]}'/>\n\n</section><section data-mw-section-id=\"3\" data-parsoid=\"{}\"><h4 id=\"test_2\" data-parsoid='{\"dsr\":[67,83,4,4,1,1]}'>test 2</h4>\n<p data-parsoid='{\"dsr\":[84,95,0,0]}'>another yup</p>\n\n<!-- well --></section><section data-mw-section-id=\"-1\" data-parsoid=\"{}\"><h4 id=\"ha_ha\" data-parsoid='{\"dsr\":[110,125,4,4,1,1]}'>ha ha</h4>\n<p data-parsoid='{\"dsr\":[126,138,0,0]}'>back to nope</p>\n\n</section><section data-mw-section-id=\"4\" data-parsoid=\"{}\"><h4 id=\"he_he\" data-parsoid='{\"dsr\":[140,155,4,4,1,1]}'>he he</h4>  <!-- but this is ok -->\n<p data-parsoid='{\"dsr\":[181,184,0,0]}'>see</p></section>",
        "html2wt": "==== test ====\nyup\n\n==== hi ho ====\n<noinclude>\nnope\n</noinclude>\n\n==== test 2 ====\nanother yup\n\n<!-- well -->==== ha ha ====\nback to nope\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [2,2,1,[3,0,0,2,2],0,4]": "1wcnbhu\n\ni1oq8p\n\n==== test ====\nyup\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\nanother yup\n\n1ew0oax\n\n1k5wf8c<!-- well -->\n==== ha ha ====\nback to nope\n\n153ysa5",
        "selser [[2],1,[[2],0,3,3,4,0,0],4,4,[[3],0,4,3,[4]]]": "dmm83w\n==== test ====\nyup\n\n==== bgint7hi ho ====<noinclude>1mi0p8u</noinclude>\n\n4dtj8p\n\niog3q2\n\n1hw4wd1\n\neldeb5",
        "selser [[4],[[2],3,1,0],3,4,3,4]": "753lob\n==== 1fanhdatest ====\nyup\n\n1rar10f\n\nu6waxp",
        "selser [3,[0,0,3,4],3,1,[[2],0,0,4],3]": "==== test ====\n8rx75y\n==== test 2 ====\nanother yup\n\n<!-- well -->==== 21877pha ha ====\nback to nope\n\n15496pk",
        "selser [4,2,[0,0,0,4,0,2,0],[1,4,1,0,0],[1,0,4,2],3]": "gkn161\n\ndmwysn\n\n==== test ====\nyup\n\n==== hi ho ====<noinclude>\n1b16bjw\n\n1qrsqm4</noinclude>\n\n==== test 2 ====\ng1kzhx\nanother yup\n\n<!-- well -->==== ha ha ====\n1xaalfe\n\nsh5p3f\n",
        "selser [0,[3,0,1,4],[4,2,3,2,0,1,3],[1,0,0,3,0],[3,0,[3],2],[3,0,2,0,0]]": "\nyup\n\nxzk6cx\n\n17raaz4\n\n1bqis7a<noinclude>\n162ivrd\n\nnope\n</noinclude>\n==== test 2 ====\nanother yup<!-- well -->\n\nci1wc0\n\nyyl31s<!-- but this is ok -->\n\nsee",
        "selser [[1],[1,0,[2],4],[4,0,0,0,2,2,4],4,[0,0,4,0],4]": "==== test ====\n1uhbi0kyup\n\n1w9o0pf\n\n478iuw<noinclude>\nnope\n\nhoxdsn\n1f8i5bm</noinclude>1ezjz\n\n1mxa8rw\n\n==== ha ha ====\njoti54\n\n10569hw",
        "selser [0,3,2,3,[[4],4,2,0],4]": "4fwyhv\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\n==== e47vyf ====\nqrwsk8\n1ufm3yb\n\nback to nope\n\nzbtdx2",
        "selser [2,[0,0,0,3],3,4,3,[4,0,3,2,0]]": "n1886v\n\n==== test ====\nyup\n\n5yqyni\n\nkemhtk\n\nk9nx80\n\nsee",
        "selser [0,[0,4,0,0],[[2],0,0,0,4,0,4],[[4],0,3,0,3],[3,3,1,2],2]": "==== test ====\np3zu12\nyup\n\n==== sbb5xnhi ho ====<noinclude>\nnope\n\n18xsen4</noinclude>i5r2cz\n==== absc7h ====\n\nback to nope\n\n1huy6vu\n\nty5lpj\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [1,[[3],2,2,0],1,[0,0,2,2,0],2,1]": "9l06qb\n\n1wgoj77\n\nyup\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\n==== test 2 ====\n14lrg0s\n\nanother yup\n\ncjqscw\n\n<!-- well -->186ifxs\n\n==== ha ha ====\nback to nope\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [0,4,[2,0,0,1,0,1,0],[4,2,[2],2,0],[0,0,2,0],[[4],0,2,2,2]]": "130zoe2\n\n1npotmb\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\nzmtpgs\n\n1p3guhp\n\n101lucmanother yup\n\nmldahg\n\n<!-- well -->==== ha ha ====\n1g44k62\n\nback to nope\n\n==== bsgkv6 ====\n1nbl5ie<!-- but this is ok -->13m1ddg\n\n15wgjxf\n\nsee",
        "selser [0,2,3,[4,3,0,4,3],2,4]": "18pjuun\n\n==== test ====\nyup\n\n16h62ny\n\nanother yup\n\nam82jz\n\nr8cxsa\n\n==== ha ha ====\nback to nope\n\n1d6149x",
        "selser [0,[2,2,2,2],[2,0,2,3,0,0,0],[1,4,1,3,0],2,0]": "d28znp\n\n==== test ====\ni07smn\n14yc905\n\nyup\n\n1fypub4\n\n4lvun6\n\n==== hi ho ====<noinclude>1fcqels\n\n</noinclude>\n\n==== test 2 ====\n16ee9gb\nanother yup<!-- well -->1cgpjf6\n\n==== ha ha ====\nback to nope\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [[4],3,4,[0,0,1,4,0],[1,0,4,0],4]": "mjaw2m\n\nm7kdmv\n\n==== test 2 ====\nanother yup\n\npfi665<!-- well -->\n==== ha ha ====\n19nj8ls\n\n13ygyhd",
        "selser [[1],2,1,[4,3,4,0,0],[3,4,1,0],[3,3,3,3,3]]": "un7187\n\n==== test ====\nyup\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\n47kau5\n\n1czmgll\n\n<!-- well -->18x610p\n\nback to nope\n",
        "selser [4,[4,0,0,3],4,[2,4,[4],2,4],4,1]": "bz2und\n\njyqu5r\n\nyup\n\n11nhprk\n\nvvc3qx\n\n==== test 2 ====\n14j7lmi\n160qct3\n11blyh9\n\n12sx6uj\n\n3cgqg6\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [1,2,2,4,[0,0,0,2],2]": "1hwp95g\n\n==== test ====\nyup\n\n13hej3o\n\n==== hi ho ====<noinclude>\nnope\n</noinclude>\n\n1v69pvt\n\n==== ha ha ====\nback to nope\n\n1iv0mux\n\ncqzaxh\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [[4],2,[[4],1,0,3,0,1,3],3,[1,0,4,3],2]": "1qtzchw\n\nppryzd\n\n==== test ====\nyup\n\n==== 1tex963 ====<noinclude>\n\n</noinclude>\n==== ha ha ====\n7uxjrb\n\ns5lyp3\n\n==== he he ====  <!-- but this is ok -->\nsee",
        "selser [0,2,[1,0,3,[3],0,0,0],[1,4,[3],0,0],[4,0,3,0],[2,0,3,4,3]]": "1c1esgh\n\n==== test ====\nyup\n\n==== hi ho ====<noinclude>\n</noinclude>\n\n==== test 2 ====\n138qr4f\n\n<!-- well -->\n114kw65\n\nhjtanl\n\n==== he he ====\ncj5r82"
    },
    "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": {
        "html2wt": "a\n\n\n= b =\n[[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"
    },
    "Fuzz testing: Parser14": {
        "html2wt": "== onmouseover= ==\nhttp://__TOC__"
    },
    "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=="
    },
    "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 %3C %23 \" %3E % : ']]\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 [4,4,0,3,0,2,1,0,4,0,[3,0,0,4,0,0],0,1,0,0,0,0,2,2,4]": "1torz1n\n\nrt3clq\n\n==foo Bar==\n==Тест==\n16lne6d\n\n==Тест==\n\na0em0c\n\n==Hey < # \" > 6vz81u : '==\n[[#Foo bar]] [[#foo Bar]] [[#Тест]] [[#тест]] [[#Hey %3C %23 \" %3E % : ']]\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\n<!-- These two links should produce identical HTML -->1obzsr0\n\n1cnx6gu\n\n[[#啤酒]] [[#%E5%95%A4%E9%85%92]]\n\n1xa94l1",
        "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 %3C %23 \" %3E % : ']]\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,0,0,2,4,2,1,0,[1,0],4,4,0,1,0,2,3,0,3,[4,0,4],0]": "==Foo bar==\n\n==foo Bar==\n1gsnx09\n\n171fndm\n\n1dsf8n1\n\n==Тест==\n\n==тест==\n1lyytw8\n\nv8qum3\n[[#Foo bar]] [[#foo Bar]] [[#Тест]] [[#тест]] [[#Hey %3C %23 \" %3E % : ']]\n\n1nl3hjh\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span><!-- These two links should produce identical HTML -->\n\nksjazz qoichf\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 %3C %23 \" %3E % : ']]\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\n31pwt4<!-- These two links should produce identical HTML -->\n\nz0rdg6\n\n[[#啤酒]] [[#啤酒]]\n",
        "selser [2,4,2,2,[0,4],4,4,0,4,4,2,2,[4,2,[3],0,0,0,0,2,0],0,[0,4,2],0,2,0,3,2]": "12jisz2\n\n==Foo bar==\n1osnqi1\n\n49ey27\n\n==foo Bar==\nooq77v\n\n==16yu4z9==\n1p8hdfs\n\n1myrwb1\n\n1upjx6y\n\n125rco8\n\ne0aidl\n\n==Hey < # \" > % : '==\noyzy4y\n1xz06kkfaiihn  [[#Тест]] [[#тест]]7e0q5 [[#Hey %3C %23 \" %3E % : ']]\n\n{{anchorencode:💩}}dl41791911f0h<span id=\"{{anchorencode:💩}}\"></span>\n\no7i2ga<!-- These two links should produce identical HTML -->\n\n109dyzj\n",
        "selser [2,2,[3],4,[4,0],3,2,0,0,0,[0,3,0,0,0,0],4,[0,2,4,4,4,0,[4],3,0],0,2,2,4,2,[2,4,4],2]": "1hcatff\n\n==Foo bar==\n1f1ypvn\n\n6fei2m\n\n==q6h36dТест==\npidnj\n\n==Тест==\n\n==тест==\n\n== % : '==\npd23zs\n\n[[#Foo bar]]888rfn 1mufmfg1ebwjka1trlasq [[#тест|uk57fl]][[#Hey %3C %23 \" %3E % : ']]\n\nren3hv\n\n{{anchorencode:💩}} <span id=\"{{anchorencode:💩}}\"></span>\n\n1ek7fhj\n\ni7xz7j\n\nk6js81\n\nzj50v7[[#啤酒]]1hru7sh3my8j8\n\n14nf41o\n"
    },
    "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&#32;between&#32;Text ==\nsection 2\n\n== Plus+between+Text ==\nsection 3\n\n== Plus-Entity&#43;between&#43;Text ==\nsection 4\n\n== Underscore_between_Text ==\nsection 5\n\n== Underscore-Entity&#95;between&#95;Text ==\nsection 6\n\n[[#Space between Text]]\n[[#Space-Entity&#32;between&#32;Text]]\n[[#Plus+between+Text]]\n[[#Plus-Entity&#43;between&#43;Text]]\n[[#Underscore_between_Text]]\n[[#Underscore-Entity&#95;between&#95;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&#32;between&#32;Text==\n1oseclj\n\n1lsmtzn\n\n16gxbeb\n\nsection 3\n\n==uezobz1ej2nsrPlus-Entity&#43;between&#43;==\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&#32;x50r04between&#32;152ivas==\n9wzb95\n\n==Plus+between+Text==\n\nsection 4\n\n1yz8bx6\n\nsection 5\n\n==Underscore-Entity&#95;13owwo7&#95;==\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&#32;between&#32;Text==\n1x8xdeo\n\n1vb78ht\n\n==1h83c7sPlus+between+Text==\nafdonq\n\nu9oqag\n\n==Plus-Entity&#43;between&#43;Text==\n156fpkv\n\nnw0nlu\n\n==Underscore_between_Text==\nsection 5\n\nei48lt\n\n==&#95;between&#95;Text==\n76x2bv\n\n[[#Space-Entity between Text]]\nk8d2jdbjumab\n[[#Underscore_between_Text]]\n[[#Underscore-Entity&#95;between&#95;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&#32;between&#32;Text==\nsection 2\n\n==1tq33tr==\n1bcu1ef\n\nsection 3\n\n==Plus-Entity&#43;between&#43;Text==\nmw77mg\n\nsection 4\n\npfium3\n\n==Underscore_between_Text==\nsection 5\n\n==Underscore-Entity&#95;between&#95;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&#43;1swp9d3between&#43;17yhhtjText==\n\n1uujs7w\n\n==Underscore_between_Text==\nsection 5\n\n1a8q7k9\n\n==Underscore-Entity&#95;13856rq&#95;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==&#43;between&#43;Text==\nsection 4\n\ncj8t9f\n\n11ivr7z\n\nsection 5\n\nljtjdt\n\n==Underscore-Entity&#95;between&#95;Text==\n\n[[#Space between Text|k1rcd5#Space between Text]]\n[[#Space-Entity between Text]]\n\n[[#Plus-Entity&#43;between&#43;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==&#32;a72f8hbetween&#32;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&#32;between&#32;Text==\n979kz7\nsection 2\n\n==Plus+between+Text==\nypwcu0\nthua0f\n\n==Plus-Entity&#43;between&#43;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&#43;1jkkmmf&#43;1rfh0gz==\nd5qxvi\n\nsection 4\n==Underscore_between_Text==\n1sj3rwb\n\nsection 5\n\n==zddmibUnderscore-Entity&#95;between&#95;==\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&#43;between&#43;Text==\n1alkpma\n\n==n9cqllUnderscore_between_Text==\n9tl5lj\n\n==&#95;1dlvyzg&#95;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"
    },
    "Inclusion of !userCanEdit() content": {
        "html2wt": "== header ==\n"
    },
    "Link inside a section heading": {
        "html2wt": "== Section with a [[Main Page|link]] in it ==\n"
    },
    "Morwen/13: Unclosed link followed by heading": {
        "html2wt": "[[link\n\n== heading ==\n"
    },
    "Nested section numbering": {
        "metadata": "Sections:\n h3 index:1 toclevel:1 number:1 title:Parser_test off:0 anchor/linkAnchor:out line:out\n h3 index:T-1 toclevel:1 number:2 title:Template:With_heading_nesting off:NULL anchor/linkAnchor:in_4 line:in 4\n h3 index:T-1 toclevel:1 number:3 title:Template:With_heading_nesting off:NULL anchor/linkAnchor:in_2 line:in 2\n h3 index:T-2 toclevel:1 number:4 title:Template:With_heading_nesting off:NULL anchor/linkAnchor:in_3 line:in 3"
    },
    "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"
    },
    "Section headings with TOC, language conversion rules, and displaytitle\n(T306862, T331316, T26072)": {
        "metadata": "Sections:\n h2 index:1 toclevel:1 number:1 title:Parser_test off:192 anchor/linkAnchor:Foo line:Foo\n h2 index:2 toclevel:1 number:2 title:Parser_test off:209 anchor/linkAnchor:Bar line:Bar\n h2 index:3 toclevel:1 number:3 title:Parser_test off:226 anchor/linkAnchor:-{Foo_Bar}- line:-{Foo Bar}-"
    },
    "Sections follow template redirects": {
        "metadata": "Sections:"
    },
    "T307691: show-toc flag: \"enough\" sections": {
        "wt2wt": "==One==\n===Two===\n==Three==\n===Four===\n",
        "html2wt": "== One ==\n\n=== Two ===\n\n== Three ==\n\n=== Four ===\n",
        "selser [2,[0,0,4],[0,4,2]]": "2le52f\n\n== One ==\n1qvf6ic\n== Three ==\n1oexc2ytsaey9\n=== Four ===",
        "selser [4,[0,4,2],1]": "prz1vt\n\n== One ==\nl1w6tpt553th\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [2,2,[4,3,[[2]]]]": "1fquhqh\n\n1eoyt8v\n\n== One ==\n=== Two ===\nsbbirp\n\n=== ezoyerFour ===",
        "selser [3,1,[0,0,[3]]]": "== One ==\n=== Two ===\n== Three ==\n",
        "selser [0,[[4],0,[2,2]],[1,4,[[2]]]]": "== 1x5jgt7 ==\n1rcxu09\n\n=== Two ===\nnu95ce\n== Three ==\nd3u65a\n=== m836fgFour ===",
        "selser [[3],2,[[2],0,3]]": "1ld8ok1\n\n== One ==\n=== Two ===\n== w5yajgThree ==\n",
        "selser [3,[[3],0,2],[0,4,[1]]]": "\nfsohhh\n=== Two ===\n== Three ==\n79s3r1\n=== Four ===",
        "selser [[2],2,2]": "sy0pzq\n\nswnumo\n\n== One ==\n=== Two ===\n1g0jemb\n\n== Three ==\n=== Four ===",
        "selser [3,3,[2,0,[[2]]]]": "1qxevdl\n\n== Three ==\n=== 1ke7rmuFour ===",
        "selser [3,[0,0,4],[2,4,3]]": "== One ==\n12wyy59\n\n1nmlgmu\n\n== Three ==\nu31y06",
        "selser [3,[2,2,1],2]": "107rhjd\n\n== One ==\n1kf6lkl\n=== Two ===\nfr6dm6\n\n== Three ==\n=== Four ===",
        "selser [0,[0,0,[3,0]],1]": "== One ==\n\n== Three ==\n=== Four ===",
        "selser [3,2,[2,2,1]]": "hior66\n\n== One ==\n=== Two ===\nuvi5mg\n\n== Three ==\n13mf9r1\n=== Four ===",
        "selser [[1],[[2],2,1],[[3],0,1]]": "== e3e8gtOne ==\nvejabx\n=== Two ===\n\n=== Four ===",
        "selser [0,3,2]": "1lyrdtg\n\n== Three ==\n=== Four ===",
        "selser [1,2,2]": "1dj487c\n\n== One ==\n=== Two ===\nbnetjt\n\n== Three ==\n=== Four ===",
        "selser [4,[0,0,[[4],0]],1]": "t1tknq\n\n== One ==\n=== 1uptiw2 ===\n== Three ==\n=== Four ===",
        "selser [1,1,[2,0,4]]": "== One ==\n=== Two ===\nc29psj\n\n== Three ==\nlgyav4",
        "selser [4,4,[0,0,4]]": "264log\n\nuhr7aa\n\n== Three ==\n1radj1i"
    },
    "T307691: show-toc flag: \"enough\" sections and __FORCETOC__": {
        "wt2wt": "__FORCETOC__\n==One==\n===Two===\n==Three==\n===Four===\n",
        "html2wt": "__FORCETOC__\n\n== One ==\n\n=== Two ===\n\n== Three ==\n\n=== Four ===\n",
        "selser [[2,4,4],1,4]": "190grxx__FORCETOC__tjayb7laazbp\n== One ==\n=== Two ===\n1x2bbe0",
        "selser [1,1,3]": "__FORCETOC__\n== One ==\n=== Two ===\n",
        "selser [[1,4,3],1,2]": "__FORCETOC__1xyp4n6\n== One ==\n=== Two ===\n1o24tkn\n\n== Three ==\n=== Four ===",
        "selser [4,4,1]": "9cain9\n\nt4zke0\n\n== Three ==\n=== Four ===",
        "selser [1,4,[1,4,0]]": "__FORCETOC__\n\n134iwwh\n\n== Three ==\ngasrw2\n=== Four ===",
        "selser [3,[1,3,4],[0,4,2]]": "== One ==\n1jtx01h\n== Three ==\n1srn0ms1rxthzk\n=== Four ===",
        "selser [[0,4,3],2,[[3],2,0]]": "__FORCETOC__t27jpy\n\nlad14w\n\n== One ==\n=== Two ===\na5dj5t\n=== Four ===",
        "selser [1,[[2],2,[0,3]],4]": "__FORCETOC__\n== u1aoyqOne ==\nzw5m5k\n=== Two ===\nlk8dn6",
        "selser [[0,0,4],[0,3,[3,0]],[1,0,1]]": "__FORCETOC__\n1vbrmsz\n== One ==\n== Three ==\n=== Four ===",
        "selser [2,1,[1,0,1]]": "284rgr\n\n__FORCETOC__\n== One ==\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [[0,0,3],[3,0,2],4]": "__FORCETOC__\n\n1mqwq3a\n=== Two ===\nh1wnqa",
        "selser [3,2,[3,0,[1]]]": "1ietlja\n\n== One ==\n=== Two ===\n\n=== Four ===",
        "selser [[0,3,1],2,[4,4,3]]": "__FORCETOC__\n\nms6576\n\n== One ==\n=== Two ===\n149vk7\n\n14w6t9p",
        "selser [3,[0,3,[0,4]],[3,0,1]]": "== One ==\n=== Two ===\n1ljeqt6\n=== Four ===",
        "selser [[4,0,0],[[4],0,[3,0]],[[3],0,0]]": "p6hmv4\n== njx1yp ==\n\n=== Four ===",
        "selser [2,2,[3,0,3]]": "1sqq6os\n\n__FORCETOC__\n\n18txtkg\n\n== One ==\n=== Two ===\n"
    },
    "T307691: show-toc flag: \"enough\" sections and __NOTOC__": {
        "wt2wt": "__NOTOC__\n==One==\n===Two===\n==Three==\n===Four===\n",
        "html2wt": "__NOTOC__\n\n== One ==\n\n=== Two ===\n\n== Three ==\n\n=== Four ===\n",
        "selser [3,1,[2,0,[[4]]]]": "== One ==\n=== Two ===\n1u88z90\n\n== Three ==\n=== 182nkhg ===",
        "selser [[4,0],[4,4,2],2]": "12bkcqq\n\ne2q1l1\n\ngmj0f51kcmw0h\n=== Two ===\n6txsjw\n\n== Three ==\n=== Four ===",
        "selser [[0,2],[2,3,2],1]": "__NOTOC__1jwpqh9\n\n1fjtud1\n\n== One ==\n1pgt7kw\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [0,4,[0,0,4]]": "__NOTOC__\n\nkzfspc\n\n== Three ==\nlnnbbj",
        "selser [4,[4,3,[3,0]],[[3],3,[[2]]]]": "y9i27\n\nn4q0c9\n\n=== 15mv0f0Four ===",
        "selser [[3,0],[0,3,1],[4,4,2]]": "\n== One ==\n=== Two ===\n1p9ypae\n\n1qor02xalgcl8\n=== Four ===",
        "selser [1,[3,4,[3,0]],[0,0,[[4]]]]": "__NOTOC__\n3310e5\n== Three ==\n=== zetokc ===",
        "selser [1,1,[1,0,0]]": "__NOTOC__\n== One ==\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [0,[1,0,[3,2]],4]": "__NOTOC__\n== One ==\nkysey6\n\n1sp7erj",
        "selser [4,[3,0,[1,0]],1]": "2elo1\n\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [[0,4],[4,2,2],1]": "__NOTOC__v2da0u\n\n1mi8s57\n\n11vhre0\n7fxoce\n=== Two ===\n== Three ==\n=== Four ===",
        "selser [4,4,1]": "yj18e9\n\na7cxm5\n\n== Three ==\n=== Four ===",
        "selser [4,[2,0,[1,0]],[4,0,0]]": "fqcyb6\n\nz1i0kg\n\n== One ==\n=== Two ===\n1ki1x1a\n\n=== Four ===",
        "selser [2,1,4]": "1mxnus4\n\n__NOTOC__\n== One ==\n=== Two ===\n13548e8",
        "selser [2,2,[2,0,4]]": "1la3dj6\n\n__NOTOC__\n\n1op2aro\n\n== One ==\n=== Two ===\nugbqgt\n\n== Three ==\n1rco633",
        "selser [3,[0,4,4],[0,3,[[3]]]]": "== One ==\ndhvu7u1u8vdwr\n== Three ==\n",
        "selser [[0,4],1,[[4],2,4]]": "__NOTOC__1369osp\n== One ==\n=== Two ===\n== 749s6w ==\n101lrnd\n1gi7px4",
        "selser [2,3,[4,0,2]]": "120vsh1\n\n__NOTOC__\n\nxyb6x1\n\nrx4dsw\n=== Four ==="
    },
    "T307691: show-toc flag: no sections, and __NOTOC__": {
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"><meta property=\"mw:PageProp/notoc\" data-parsoid='{\"src\":\"__NOTOC__\",\"magicSrc\":\"__NOTOC__\",\"dsr\":[0,9,null,null]}'/>\n</section>"
    },
    "T307691: show-toc flag: no sections, but __FORCETOC__": {
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"><meta property=\"mw:PageProp/forcetoc\" data-parsoid='{\"src\":\"__FORCETOC__\",\"magicSrc\":\"__FORCETOC__\",\"dsr\":[0,12,null,null]}'/>\n</section>"
    },
    "T307691: show-toc flag: no sections, but __TOC__": {
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"><meta property=\"mw:PageProp/toc\" data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n</section>"
    },
    "T307691: show-toc flag: not \"enough\" sections": {
        "wt2wt": "==One==\n",
        "selser [0,2]": "voiy4\n\n== One ==",
        "selser [4,[2]]": "2ctaxi\n\n2mndr3\n\n== One ==",
        "selser [3,1]": "== One ==",
        "selser [1,1]": "== One ==",
        "selser [1,2]": "1nyozla\n\n== One ==",
        "selser [0,[2]]": "cym2rs\n\n== One ==",
        "selser [1,[1]]": "== One ==",
        "selser [3,2]": "swghx5\n\n== One ==",
        "selser [4,[1]]": "asjfjq\n\n== One ==",
        "selser [0,1]": "== One ==",
        "selser [2,[2]]": "pr3yek\n\n6xfyhv\n\n== One ==",
        "selser [3,0]": "== One =="
    },
    "T307691: show-toc flag: not \"enough\" sections, and __NOTOC__": {
        "wt2wt": "__NOTOC__\n==One==\n",
        "html2wt": "__NOTOC__\n\n== One ==\n",
        "selser [3,2]": "1bgc2h2\n\n== One ==",
        "selser [1,1]": "__NOTOC__\n== One ==",
        "selser [3,[2]]": "15ljjw1\n\n== One ==",
        "selser [4,1]": "1svnpfh\n\n== One ==",
        "selser [[4,0],0]": "3c2ye4\n== One ==",
        "selser [3,[[4]]]": "== 1ru2v7j ==",
        "selser [0,[[4]]]": "__NOTOC__\n== 18aic11 ==",
        "selser [0,[1]]": "__NOTOC__\n== One ==",
        "selser [[1,0],1]": "__NOTOC__\n== One ==",
        "selser [0,1]": "__NOTOC__\n== One ==",
        "selser [[0,4],2]": "__NOTOC__396jxo\n\n4rrvzh\n\n== One ==",
        "selser [2,0]": "1gy051r\n\n__NOTOC__\n== One =="
    },
    "T307691: show-toc flag: not \"enough\" sections, but __FORCETOC__": {
        "wt2wt": "__FORCETOC__\n==One==\n",
        "html2wt": "__FORCETOC__\n\n== One ==\n",
        "selser [2,1]": "y8h1fu\n\n__FORCETOC__\n== One ==",
        "selser [[1,2,0],0]": "__FORCETOC__1mxaf4c\n== One ==",
        "selser [[3,4,0],0]": "dkxgdi\n== One ==",
        "selser [0,[1]]": "__FORCETOC__\n== One ==",
        "selser [3,2]": "hd43c7\n\n== One ==",
        "selser [[0,4,2],2]": "__FORCETOC__j1j6p4v8hcp0\n\nd9c13n\n\n== One ==",
        "selser [[2,0,3],1]": "eplufy__FORCETOC__\n== One ==",
        "selser [2,0]": "13gal2v\n\n__FORCETOC__\n== One =="
    },
    "T307691: show-toc flag: not \"enough\" sections, but __TOC__": {
        "wt2wt": "==One==\n__TOC__",
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"></section><section data-mw-section-id=\"1\" data-parsoid=\"{}\"><h2 id=\"One\" data-parsoid='{\"dsr\":[0,9,2,2,1,1]}'>One</h2>\n<meta property=\"mw:PageProp/toc\" data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[10,17,null,null]}'/>\n</section>",
        "selser [0,[[4],0,1]]": "== tf0191 ==\n__TOC__",
        "selser [0,1]": "== One ==\n__TOC__",
        "selser [0,[2,2,1]]": "5d79w0\n\n== One ==\n1wywr9g\n__TOC__",
        "selser [0,2]": "y4wje6\n\n== One ==\n__TOC__",
        "selser [2,0]": "1izd1hh\n\n== One ==\n__TOC__",
        "selser [0,[[2],0,3]]": "== wmlkccOne ==\n",
        "selser [4,1]": "99w8zy\n\n== One ==\n__TOC__",
        "selser [3,[[4],4,0]]": "== bx05yk ==\nl3hrkb__TOC__",
        "selser [3,1]": "== One ==\n__TOC__",
        "selser [0,[0,2,0]]": "== One ==\nru8a5j\n__TOC__",
        "selser [0,[0,0,4]]": "== One ==\n1sy42xn"
    },
    "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"
    },
    "T90902: Normalize weird characters in section IDs": {
        "html2wt": "== Foo&nbsp;bar ==\n[[#Foo&nbsp;bar]]",
        "selser [3,4,[1],4]": "fju4o3\n\n[[#Foo bar]]\n\njhxqub",
        "selser [3,2,1,0]": "9arxg8\n\n[[#Foo bar]]\n"
    },
    "__FORCETOC__ override": {
        "html2html": "<section data-mw-section-id=\"0\" data-parsoid=\"{}\"><meta property=\"mw:PageProp/newsectionlink\" data-parsoid='{\"src\":\"__NEWSECTIONLINK__\",\"magicSrc\":\"__NEWSECTIONLINK__\",\"dsr\":[0,18,null,null]}'/>\n<meta property=\"mw:PageProp/forcetoc\" data-parsoid='{\"src\":\"__FORCETOC__\",\"magicSrc\":\"__FORCETOC__\",\"dsr\":[19,31,null,null]}'/>\n</section>"
    },
    "nowiki inside link inside heading (T20295)": {
        "html2wt": "== [[Foo|xyz]] ==\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\" dir=\"ltr\" title=\"hello\">Attributes other than dir</span> ==\n"
    }
}
