tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bold.js (53203B)


      1 // For documentation of the format, see README in this directory.
      2 var browserTests = [
      3 ["foo[]bar",
      4    [["bold",""]],
      5    "foo[]bar",
      6    [true],
      7    {"bold":[false,false,"",false,true,""]}],
      8 ["<p>[foo</p> <p>bar]</p>",
      9    [["stylewithcss","true"],["bold",""]],
     10    "<p><span style=\"font-weight:bold\">[foo</span></p> <p><span style=\"font-weight:bold\">bar]</span></p>",
     11    [true,true],
     12    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     13 ["<p>[foo</p> <p>bar]</p>",
     14    [["stylewithcss","false"],["bold",""]],
     15    "<p><b>[foo</b></p> <p><b>bar]</b></p>",
     16    [true,true],
     17    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     18 ["<span>[foo</span> <span>bar]</span>",
     19    [["stylewithcss","true"],["bold",""]],
     20    "<span style=\"font-weight:bold\"><span>[foo</span> <span>bar]</span></span>",
     21    [true,true],
     22    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     23 ["<span>[foo</span> <span>bar]</span>",
     24    [["stylewithcss","false"],["bold",""]],
     25    "<b><span>[foo</span> <span>bar]</span></b>",
     26    [true,true],
     27    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     28 ["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
     29    [["stylewithcss","true"],["bold",""]],
     30    "<p><span style=\"font-weight:bold\">[foo</span></p><p> <span style=\"font-weight:bold\"><span>bar</span></span> </p><p><span style=\"font-weight:bold\">baz]</span></p>",
     31    [true,true],
     32    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     33 ["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
     34    [["stylewithcss","false"],["bold",""]],
     35    "<p><b>[foo</b></p><p> <b><span>bar</span></b> </p><p><b>baz]</b></p>",
     36    [true,true],
     37    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     38 ["<p>[foo<p><br><p>bar]",
     39    [["stylewithcss","true"],["bold",""]],
     40    "<p><span style=\"font-weight:bold\">[foo</span></p><p><span style=\"font-weight:bold\"><br></span></p><p><span style=\"font-weight:bold\">bar]</span></p>",
     41    [true,true],
     42    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     43 ["<p>[foo<p><br><p>bar]",
     44    [["stylewithcss","false"],["bold",""]],
     45    "<p><b>[foo</b></p><p><b><br></b></p><p><b>bar]</b></p>",
     46    [true,true],
     47    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     48 ["<b>foo[]bar</b>",
     49    [["bold",""]],
     50    "<b>foo[]bar</b>",
     51    [true],
     52    {"bold":[false,true,"",false,false,""]}],
     53 ["<i>foo[]bar</i>",
     54    [["bold",""]],
     55    "<i>foo[]bar</i>",
     56    [true],
     57    {"bold":[false,false,"",false,true,""]}],
     58 ["<span>foo</span>{}<span>bar</span>",
     59    [["bold",""]],
     60    "<span>foo</span>{}<span>bar</span>",
     61    [true],
     62    {"bold":[false,false,"",false,true,""]}],
     63 ["<span>foo[</span><span>]bar</span>",
     64    [["bold",""]],
     65    "<span>foo[</span><span>]bar</span>",
     66    [true],
     67    {"bold":[false,false,"",false,true,""]}],
     68 ["foo[bar]baz",
     69    [["stylewithcss","true"],["bold",""]],
     70    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
     71    [true,true],
     72    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     73 ["foo[bar]baz",
     74    [["stylewithcss","false"],["bold",""]],
     75    "foo<b>[bar]</b>baz",
     76    [true,true],
     77    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     78 ["foo[bar<b>baz]qoz</b>quz",
     79    [["bold",""]],
     80    "foo<b>[barbaz]qoz</b>quz",
     81    [true],
     82    {"bold":[true,false,"",false,true,""]}],
     83 ["foo[bar<i>baz]qoz</i>quz",
     84    [["stylewithcss","true"],["bold",""]],
     85    "foo<span style=\"font-weight:bold\">[bar</span><i><span style=\"font-weight:bold\">baz]</span>qoz</i>quz",
     86    [true,true],
     87    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     88 ["foo[bar<i>baz]qoz</i>quz",
     89    [["stylewithcss","false"],["bold",""]],
     90    "foo<b>[bar</b><i><b>baz]</b>qoz</i>quz",
     91    [true,true],
     92    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
     93 ["{<p><p> <p>foo</p>}",
     94    [["stylewithcss","true"],["bold",""]],
     95    "{<p></p><p> </p><p><span style=\"font-weight:bold\">foo</span></p>}",
     96    [true,true],
     97    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
     98 ["{<p><p> <p>foo</p>}",
     99    [["stylewithcss","false"],["bold",""]],
    100    "{<p></p><p> </p><p><b>foo</b></p>}",
    101    [true,true],
    102    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    103 ["foo<span contenteditable=false>[bar]</span>baz",
    104    [["bold",""]],
    105    "foo<span contenteditable=\"false\">[bar]</span>baz",
    106    [false],
    107    {"bold":[false,false,"",false,false,""]}],
    108 ["fo[o<span contenteditable=false>bar</span>b]az",
    109    [["stylewithcss","true"],["bold",""]],
    110    "fo<span style=\"font-weight:bold\">[o</span><span contenteditable=\"false\">bar</span><span style=\"font-weight:bold\">b]</span>az",
    111    [true,true],
    112    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    113 ["fo[o<span contenteditable=false>bar</span>b]az",
    114    [["stylewithcss","false"],["bold",""]],
    115    "fo<b>[o</b><span contenteditable=\"false\">bar</span><b>b]</b>az",
    116    [true,true],
    117    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    118 ["foo<span contenteditable=false>ba[r</span>b]az",
    119    [["bold",""]],
    120    "foo<span contenteditable=\"false\">ba[r</span>b]az",
    121    [false],
    122    {"bold":[false,false,"",false,false,""]}],
    123 ["fo[o<span contenteditable=false>b]ar</span>baz",
    124    [["bold",""]],
    125    "fo[o<span contenteditable=\"false\">b]ar</span>baz",
    126    [false],
    127    {"bold":[false,false,"",false,false,""]}],
    128 ["fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az",
    129    [["stylewithcss","true"],["bold",""]],
    130    "fo[o<span contenteditable=\"false\">bar</span>b]az",
    131    [true,true],
    132    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    133 ["fo[<b>o</b><span contenteditable=false>bar</span><b>b</b>]az",
    134    [["stylewithcss","false"],["bold",""]],
    135    "fo[o<span contenteditable=\"false\">bar</span>b]az",
    136    [true,true],
    137    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    138 ["<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>",
    139    [["stylewithcss","true"],["bold",""]],
    140    "<span contenteditable=\"false\">foo<span contenteditable=\"true\"><span style=\"font-weight:bold\">[bar]</span></span>baz</span>",
    141    [true,true],
    142    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    143 ["<span contenteditable=false>foo<span contenteditable=true>[bar]</span>baz</span>",
    144    [["stylewithcss","false"],["bold",""]],
    145    "<span contenteditable=\"false\">foo<span contenteditable=\"true\"><b>[bar]</b></span>baz</span>",
    146    [true,true],
    147    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    148 ["<span contenteditable=false>fo[o<span contenteditable=true>bar</span>b]az</span>",
    149    [["bold",""]],
    150    "<span contenteditable=\"false\">fo[o<span contenteditable=\"true\">bar</span>b]az</span>",
    151    [false],
    152    {"bold":[false,false,"",false,false,""]}],
    153 ["<span contenteditable=false>foo<span contenteditable=true>ba[r</span>b]az</span>",
    154    [["bold",""]],
    155    "<span contenteditable=\"false\">foo<span contenteditable=\"true\">ba[r</span>b]az</span>",
    156    [false],
    157    {"bold":[false,false,"",false,false,""]}],
    158 ["<span contenteditable=false>fo[o<span contenteditable=true>b]ar</span>baz</span>",
    159    [["bold",""]],
    160    "<span contenteditable=\"false\">fo[o<span contenteditable=\"true\">b]ar</span>baz</span>",
    161    [false],
    162    {"bold":[false,false,"",false,false,""]}],
    163 ["<span contenteditable=false>fo[<b>o<span contenteditable=true>bar</span>b</b>]az</span>",
    164    [["bold",""]],
    165    "<span contenteditable=\"false\">fo[<b>o<span contenteditable=\"true\">bar</span>b</b>]az</span>",
    166    [false],
    167    {"bold":[false,true,"",false,true,""]}],
    168 ["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
    169    [["stylewithcss","true"],["bold",""]],
    170    "<table><tbody><tr><td>foo</td><td>b<span style=\"font-weight:bold\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
    171    [true,true],
    172    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    173 ["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
    174    [["stylewithcss","false"],["bold",""]],
    175    "<table><tbody><tr><td>foo</td><td>b<b>[a]</b>r</td><td>baz</td></tr></tbody></table>",
    176    [true,true],
    177    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    178 ["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
    179    [["stylewithcss","true"],["bold",""]],
    180    "<table><tbody><tr><td>foo</td>{<td><span style=\"font-weight:bold\">bar</span></td>}<td>baz</td></tr></tbody></table>",
    181    [true,true],
    182    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    183 ["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
    184    [["stylewithcss","false"],["bold",""]],
    185    "<table><tbody><tr><td>foo</td>{<td><b>bar</b></td>}<td>baz</td></tr></tbody></table>",
    186    [true,true],
    187    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    188 ["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
    189    [["stylewithcss","true"],["bold",""]],
    190    "<table><tbody><tr>{<td><span style=\"font-weight:bold\">foo</span></td><td><span style=\"font-weight:bold\">bar</span></td>}<td>baz</td></tr></tbody></table>",
    191    [true,true],
    192    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    193 ["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
    194    [["stylewithcss","false"],["bold",""]],
    195    "<table><tbody><tr>{<td><b>foo</b></td><td><b>bar</b></td>}<td>baz</td></tr></tbody></table>",
    196    [true,true],
    197    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    198 ["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
    199    [["stylewithcss","true"],["bold",""]],
    200    "<table><tbody>{<tr><td><span style=\"font-weight:bold\">foo</span></td><td><span style=\"font-weight:bold\">bar</span></td><td><span style=\"font-weight:bold\">baz</span></td></tr>}</tbody></table>",
    201    [true,true],
    202    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    203 ["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
    204    [["stylewithcss","false"],["bold",""]],
    205    "<table><tbody>{<tr><td><b>foo</b></td><td><b>bar</b></td><td><b>baz</b></td></tr>}</tbody></table>",
    206    [true,true],
    207    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    208 ["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
    209    [["stylewithcss","true"],["bold",""]],
    210    "<table>{<tbody><tr><td><span style=\"font-weight:bold\">foo</span></td><td><span style=\"font-weight:bold\">bar</span></td><td><span style=\"font-weight:bold\">baz</span></td></tr></tbody>}</table>",
    211    [true,true],
    212    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    213 ["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
    214    [["stylewithcss","false"],["bold",""]],
    215    "<table>{<tbody><tr><td><b>foo</b></td><td><b>bar</b></td><td><b>baz</b></td></tr></tbody>}</table>",
    216    [true,true],
    217    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    218 ["{<table><tr><td>foo<td>bar<td>baz</table>}",
    219    [["stylewithcss","true"],["bold",""]],
    220    "{<table><tbody><tr><td><span style=\"font-weight:bold\">foo</span></td><td><span style=\"font-weight:bold\">bar</span></td><td><span style=\"font-weight:bold\">baz</span></td></tr></tbody></table>}",
    221    [true,true],
    222    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    223 ["{<table><tr><td>foo<td>bar<td>baz</table>}",
    224    [["stylewithcss","false"],["bold",""]],
    225    "{<table><tbody><tr><td><b>foo</b></td><td><b>bar</b></td><td><b>baz</b></td></tr></tbody></table>}",
    226    [true,true],
    227    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    228 ["foo<span style=\"font-weight: bold\">[bar]</span>baz",
    229    [["stylewithcss","true"],["bold",""]],
    230    "foo[bar]baz",
    231    [true,true],
    232    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    233 ["foo<span style=\"font-weight: bold\">[bar]</span>baz",
    234    [["stylewithcss","false"],["bold",""]],
    235    "foo[bar]baz",
    236    [true,true],
    237    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    238 ["foo<b>[bar]</b>baz",
    239    [["stylewithcss","true"],["bold",""]],
    240    "foo[bar]baz",
    241    [true,true],
    242    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    243 ["foo<b>[bar]</b>baz",
    244    [["stylewithcss","false"],["bold",""]],
    245    "foo[bar]baz",
    246    [true,true],
    247    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    248 ["foo<b>bar</b>[baz]",
    249    [["bold",""]],
    250    "foo<b>bar[baz]</b>",
    251    [true],
    252    {"bold":[false,false,"",false,true,""]}],
    253 ["[foo]<b>bar</b>baz",
    254    [["bold",""]],
    255    "<b>[foo]bar</b>baz",
    256    [true],
    257    {"bold":[false,false,"",false,true,""]}],
    258 ["<b>foo</b>[bar]<b>baz</b>",
    259    [["stylewithcss","true"],["bold",""]],
    260    "<b>foo</b><span style=\"font-weight:bold\">[bar]</span><b>baz</b>",
    261    [true,true],
    262    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    263 ["<b>foo</b>[bar]<b>baz</b>",
    264    [["stylewithcss","false"],["bold",""]],
    265    "<b>foo[bar]baz</b>",
    266    [true,true],
    267    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    268 // Should not use the near <strong> as alternative container of <b> and
    269 // <span style="font-weight: bold">.
    270 ["foo<strong>bar</strong>[baz]",
    271    [["bold",""]],
    272    "foo<strong>bar</strong><b>baz</b>",
    273    [true],
    274    {"bold":[false,false,"",false,true,""]}],
    275 ["[foo]<strong>bar</strong>baz",
    276    [["bold",""]],
    277    "<b>foo</b><strong>bar</strong>baz",
    278    [true],
    279    {"bold":[false,false,"",false,true,""]}],
    280 ["<strong>foo</strong>[bar]<strong>baz</strong>",
    281    [["bold",""]],
    282    "<strong>foo</strong><b>bar</b><strong>baz</strong>",
    283    [true],
    284    {"bold":[false,false,"",false,true,""]}],
    285 ["<b>foo</b>[bar]<strong>baz</strong>",
    286    [["bold",""]],
    287    "<b>foo[bar]</b><strong>baz</strong>",
    288    [true],
    289    {"bold":[false,false,"",false,true,""]}],
    290 // Should not use the near <b> as alternative container of
    291 // <span style="font-weight: bold">
    292 ["<strong>foo</strong>[bar]<b>baz</b>",
    293    [["stylewithcss","true"],["bold",""]],
    294    "<strong>foo</strong><span style=\"font-weight:bold\">bar</span><b>baz</b>",
    295    [true,true],
    296    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    297 // Should use the near <b> as new container
    298 ["<strong>foo</strong>[bar]<b>baz</b>",
    299    [["stylewithcss","false"],["bold",""]],
    300    "<strong>foo</strong><b>barbaz</b>",
    301    [true,true],
    302    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    303 ["foo[<b>bar</b>]baz",
    304    [["stylewithcss","true"],["bold",""]],
    305    "foo[bar]baz",
    306    [true,true],
    307    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    308 ["foo[<b>bar</b>]baz",
    309    [["stylewithcss","false"],["bold",""]],
    310    "foo[bar]baz",
    311    [true,true],
    312    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    313 ["foo[<b>bar]</b>baz",
    314    [["stylewithcss","true"],["bold",""]],
    315    "foo[bar]baz",
    316    [true,true],
    317    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    318 ["foo[<b>bar]</b>baz",
    319    [["stylewithcss","false"],["bold",""]],
    320    "foo[bar]baz",
    321    [true,true],
    322    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    323 ["foo<b>[bar</b>]baz",
    324    [["stylewithcss","true"],["bold",""]],
    325    "foo[bar]baz",
    326    [true,true],
    327    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    328 ["foo<b>[bar</b>]baz",
    329    [["stylewithcss","false"],["bold",""]],
    330    "foo[bar]baz",
    331    [true,true],
    332    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    333 ["foo{<b></b>}baz",
    334    [["bold",""]],
    335    "foo{<b></b>}baz",
    336    [true],
    337    {"bold":[false,false,"",false,true,""]}],
    338 ["foo{<i></i>}baz",
    339    [["bold",""]],
    340    "foo{<i></i>}baz",
    341    [true],
    342    {"bold":[false,false,"",false,true,""]}],
    343 ["foo{<b><i></i></b>}baz",
    344    [["bold",""]],
    345    "foo{<b><i></i></b>}baz",
    346    [true],
    347    {"bold":[false,false,"",false,true,""]}],
    348 ["foo{<i><b></b></i>}baz",
    349    [["bold",""]],
    350    "foo{<i><b></b></i>}baz",
    351    [true],
    352    {"bold":[false,false,"",false,true,""]}],
    353 ["foo<strong>[bar]</strong>baz",
    354    [["bold",""]],
    355    "foo[bar]baz",
    356    [true],
    357    {"bold":[false,true,"",false,false,""]}],
    358 ["foo[<strong>bar</strong>]baz",
    359    [["bold",""]],
    360    "foo[bar]baz",
    361    [true],
    362    {"bold":[false,true,"",false,false,""]}],
    363 ["foo[<strong>bar]</strong>baz",
    364    [["bold",""]],
    365    "foo[bar]baz",
    366    [true],
    367    {"bold":[false,true,"",false,false,""]}],
    368 ["foo<strong>[bar</strong>]baz",
    369    [["bold",""]],
    370    "foo[bar]baz",
    371    [true],
    372    {"bold":[false,true,"",false,false,""]}],
    373 ["foo[<span style=\"font-weight: bold\">bar</span>]baz",
    374    [["stylewithcss","true"],["bold",""]],
    375    "foo[bar]baz",
    376    [true,true],
    377    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    378 ["foo[<span style=\"font-weight: bold\">bar</span>]baz",
    379    [["stylewithcss","false"],["bold",""]],
    380    "foo[bar]baz",
    381    [true,true],
    382    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    383 ["foo[<span style=\"font-weight: bold\">bar]</span>baz",
    384    [["stylewithcss","true"],["bold",""]],
    385    "foo[bar]baz",
    386    [true,true],
    387    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    388 ["foo[<span style=\"font-weight: bold\">bar]</span>baz",
    389    [["stylewithcss","false"],["bold",""]],
    390    "foo[bar]baz",
    391    [true,true],
    392    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    393 ["foo<span style=\"font-weight: bold\">[bar</span>]baz",
    394    [["stylewithcss","true"],["bold",""]],
    395    "foo[bar]baz",
    396    [true,true],
    397    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    398 ["foo<span style=\"font-weight: bold\">[bar</span>]baz",
    399    [["stylewithcss","false"],["bold",""]],
    400    "foo[bar]baz",
    401    [true,true],
    402    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    403 ["<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>",
    404    [["stylewithcss","true"],["bold",""]],
    405    "{<p>foo</p><p>bar</p>}<p><span style=\"font-weight:bold\">baz</span></p>",
    406    [true,true],
    407    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    408 ["<b>{<p>foo</p><p>bar</p>}<p>baz</p></b>",
    409    [["stylewithcss","false"],["bold",""]],
    410    "{<p>foo</p><p>bar</p>}<p><b>baz</b></p>",
    411    [true,true],
    412    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    413 ["<b><p>foo[<i>bar</i>}</p><p>baz</p></b>",
    414    [["stylewithcss","true"],["bold",""]],
    415    "<p><span style=\"font-weight:bold\">foo[</span><i>bar</i>}</p><p><span style=\"font-weight:bold\">baz</span></p>",
    416    [true,true],
    417    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    418 ["<b><p>foo[<i>bar</i>}</p><p>baz</p></b>",
    419    [["stylewithcss","false"],["bold",""]],
    420    "<p><b>foo[</b><i>bar</i>}</p><p><b>baz</b></p>",
    421    [true,true],
    422    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    423 ["foo [bar <b>baz] qoz</b> quz sic",
    424    [["bold",""]],
    425    "foo <b>[bar baz] qoz</b> quz sic",
    426    [true],
    427    {"bold":[true,false,"",false,true,""]}],
    428 ["foo bar <b>baz [qoz</b> quz] sic",
    429    [["bold",""]],
    430    "foo bar <b>baz [qoz quz]</b> sic",
    431    [true],
    432    {"bold":[true,false,"",false,true,""]}],
    433 ["<b id=purple>bar [baz] qoz</b>",
    434    [["stylewithcss","true"],["bold",""]],
    435    "<span id=\"purple\"><span style=\"font-weight:bold\">bar </span>[baz]<span style=\"font-weight:bold\"> qoz</span></span>",
    436    [true,true],
    437    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    438 ["<b id=purple>bar [baz] qoz</b>",
    439    [["stylewithcss","false"],["bold",""]],
    440    "<span id=\"purple\"><b>bar </b>[baz]<b> qoz</b></span>",
    441    [true,true],
    442    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    443 ["foo<span style=\"font-weight: 100\">[bar]</span>baz",
    444    [["stylewithcss","true"],["bold",""]],
    445    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
    446    [true,true],
    447    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    448 ["foo<span style=\"font-weight: 100\">[bar]</span>baz",
    449    [["stylewithcss","false"],["bold",""]],
    450    "foo<b>[bar]</b>baz",
    451    [true,true],
    452    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    453 ["foo<span style=\"font-weight: 200\">[bar]</span>baz",
    454    [["stylewithcss","true"],["bold",""]],
    455    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
    456    [true,true],
    457    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    458 ["foo<span style=\"font-weight: 200\">[bar]</span>baz",
    459    [["stylewithcss","false"],["bold",""]],
    460    "foo<b>[bar]</b>baz",
    461    [true,true],
    462    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    463 ["foo<span style=\"font-weight: 300\">[bar]</span>baz",
    464    [["stylewithcss","true"],["bold",""]],
    465    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
    466    [true,true],
    467    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    468 ["foo<span style=\"font-weight: 300\">[bar]</span>baz",
    469    [["stylewithcss","false"],["bold",""]],
    470    "foo<b>[bar]</b>baz",
    471    [true,true],
    472    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    473 ["foo<span style=\"font-weight: 400\">[bar]</span>baz",
    474    [["stylewithcss","true"],["bold",""]],
    475    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
    476    [true,true],
    477    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    478 ["foo<span style=\"font-weight: 400\">[bar]</span>baz",
    479    [["stylewithcss","false"],["bold",""]],
    480    "foo<b>[bar]</b>baz",
    481    [true,true],
    482    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    483 ["foo<span style=\"font-weight: 500\">[bar]</span>baz",
    484    [["stylewithcss","true"],["bold",""]],
    485    "foo<span style=\"font-weight:bold\">[bar]</span>baz",
    486    [true,true],
    487    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    488 ["foo<span style=\"font-weight: 500\">[bar]</span>baz",
    489    [["stylewithcss","false"],["bold",""]],
    490    "foo<b>[bar]</b>baz",
    491    [true,true],
    492    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    493 ["foo<span style=\"font-weight: 600\">[bar]</span>baz",
    494    [["stylewithcss","true"],["bold",""]],
    495    "foo[bar]baz",
    496    [true,true],
    497    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    498 ["foo<span style=\"font-weight: 600\">[bar]</span>baz",
    499    [["stylewithcss","false"],["bold",""]],
    500    "foo[bar]baz",
    501    [true,true],
    502    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    503 ["foo<span style=\"font-weight: 700\">[bar]</span>baz",
    504    [["stylewithcss","true"],["bold",""]],
    505    "foo[bar]baz",
    506    [true,true],
    507    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    508 ["foo<span style=\"font-weight: 700\">[bar]</span>baz",
    509    [["stylewithcss","false"],["bold",""]],
    510    "foo[bar]baz",
    511    [true,true],
    512    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    513 ["foo<span style=\"font-weight: 800\">[bar]</span>baz",
    514    [["stylewithcss","true"],["bold",""]],
    515    "foo[bar]baz",
    516    [true,true],
    517    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    518 ["foo<span style=\"font-weight: 800\">[bar]</span>baz",
    519    [["stylewithcss","false"],["bold",""]],
    520    "foo[bar]baz",
    521    [true,true],
    522    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    523 ["foo<span style=\"font-weight: 900\">[bar]</span>baz",
    524    [["stylewithcss","true"],["bold",""]],
    525    "foo[bar]baz",
    526    [true,true],
    527    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    528 ["foo<span style=\"font-weight: 900\">[bar]</span>baz",
    529    [["stylewithcss","false"],["bold",""]],
    530    "foo[bar]baz",
    531    [true,true],
    532    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    533 ["foo<span style=\"font-weight: 400\">[bar</span>]baz",
    534    [["stylewithcss","true"],["bold",""]],
    535    "foo<span style=\"font-weight:bold\">[bar</span>]baz",
    536    [true,true],
    537    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    538 ["foo<span style=\"font-weight: 400\">[bar</span>]baz",
    539    [["stylewithcss","false"],["bold",""]],
    540    "foo<b>[bar</b>]baz",
    541    [true,true],
    542    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    543 ["foo<span style=\"font-weight: 700\">[bar</span>]baz",
    544    [["stylewithcss","true"],["bold",""]],
    545    "foo[bar]baz",
    546    [true,true],
    547    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    548 ["foo<span style=\"font-weight: 700\">[bar</span>]baz",
    549    [["stylewithcss","false"],["bold",""]],
    550    "foo[bar]baz",
    551    [true,true],
    552    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    553 ["foo[<span style=\"font-weight: 400\">bar]</span>baz",
    554    [["stylewithcss","true"],["bold",""]],
    555    "foo[<span style=\"font-weight:bold\">bar]</span>baz",
    556    [true,true],
    557    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    558 ["foo[<span style=\"font-weight: 400\">bar]</span>baz",
    559    [["stylewithcss","false"],["bold",""]],
    560    "foo[<b>bar]</b>baz",
    561    [true,true],
    562    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    563 ["foo[<span style=\"font-weight: 700\">bar]</span>baz",
    564    [["stylewithcss","true"],["bold",""]],
    565    "foo[bar]baz",
    566    [true,true],
    567    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    568 ["foo[<span style=\"font-weight: 700\">bar]</span>baz",
    569    [["stylewithcss","false"],["bold",""]],
    570    "foo[bar]baz",
    571    [true,true],
    572    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    573 ["foo[<span style=\"font-weight: 400\">bar</span>]baz",
    574    [["stylewithcss","true"],["bold",""]],
    575    "foo[<span style=\"font-weight:bold\">bar</span>]baz",
    576    [true,true],
    577    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    578 ["foo[<span style=\"font-weight: 400\">bar</span>]baz",
    579    [["stylewithcss","false"],["bold",""]],
    580    "foo[<b>bar</b>]baz",
    581    [true,true],
    582    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    583 ["foo[<span style=\"font-weight: 700\">bar</span>]baz",
    584    [["stylewithcss","true"],["bold",""]],
    585    "foo[bar]baz",
    586    [true,true],
    587    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    588 ["foo[<span style=\"font-weight: 700\">bar</span>]baz",
    589    [["stylewithcss","false"],["bold",""]],
    590    "foo[bar]baz",
    591    [true,true],
    592    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    593 ["<span style=\"font-weight: 100\">foo[bar]baz</span>",
    594    [["stylewithcss","true"],["bold",""]],
    595    "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">[bar]</span>baz</span>",
    596    [true,true],
    597    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    598 ["<span style=\"font-weight: 100\">foo[bar]baz</span>",
    599    [["stylewithcss","false"],["bold",""]],
    600    "<span style=\"font-weight:100\">foo<b>[bar]</b>baz</span>",
    601    [true,true],
    602    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    603 ["<span style=\"font-weight: 400\">foo[bar]baz</span>",
    604    [["stylewithcss","true"],["bold",""]],
    605    "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">[bar]</span>baz</span>",
    606    [true,true],
    607    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    608 ["<span style=\"font-weight: 400\">foo[bar]baz</span>",
    609    [["stylewithcss","false"],["bold",""]],
    610    "<span style=\"font-weight:400\">foo<b>[bar]</b>baz</span>",
    611    [true,true],
    612    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    613 ["<span style=\"font-weight: 700\">foo[bar]baz</span>",
    614    [["stylewithcss","true"],["bold",""]],
    615    "<span style=\"font-weight:700\">foo</span>[bar]<span style=\"font-weight:700\">baz</span>",
    616    [true,true],
    617    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    618 ["<span style=\"font-weight: 700\">foo[bar]baz</span>",
    619    [["stylewithcss","false"],["bold",""]],
    620    "<b>foo</b>[bar]<b>baz</b>",
    621    [true,true],
    622    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    623 ["<span style=\"font-weight: 900\">foo[bar]baz</span>",
    624    [["stylewithcss","true"],["bold",""]],
    625    "<span style=\"font-weight:900\">foo</span>[bar]<span style=\"font-weight:900\">baz</span>",
    626    [true,true],
    627    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    628 ["<span style=\"font-weight: 900\">foo[bar]baz</span>",
    629    [["stylewithcss","false"],["bold",""]],
    630    "<span style=\"font-weight:900\">foo</span>[bar]<span style=\"font-weight:900\">baz</span>",
    631    [true,true],
    632    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    633 ["{<span style=\"font-weight: 100\">foobar]baz</span>",
    634    [["stylewithcss","true"],["bold",""]],
    635    "{<span style=\"font-weight:100\"><span style=\"font-weight:bold\">foobar]</span>baz</span>",
    636    [true,true],
    637    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    638 ["{<span style=\"font-weight: 100\">foobar]baz</span>",
    639    [["stylewithcss","false"],["bold",""]],
    640    "{<span style=\"font-weight:100\"><b>foobar]</b>baz</span>",
    641    [true,true],
    642    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    643 ["{<span style=\"font-weight: 400\">foobar]baz</span>",
    644    [["stylewithcss","true"],["bold",""]],
    645    "{<span style=\"font-weight:400\"><span style=\"font-weight:bold\">foobar]</span>baz</span>",
    646    [true,true],
    647    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    648 ["{<span style=\"font-weight: 400\">foobar]baz</span>",
    649    [["stylewithcss","false"],["bold",""]],
    650    "{<span style=\"font-weight:400\"><b>foobar]</b>baz</span>",
    651    [true,true],
    652    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    653 ["{<span style=\"font-weight: 700\">foobar]baz</span>",
    654    [["stylewithcss","true"],["bold",""]],
    655    "{foobar]<span style=\"font-weight:700\">baz</span>",
    656    [true,true],
    657    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    658 ["{<span style=\"font-weight: 700\">foobar]baz</span>",
    659    [["stylewithcss","false"],["bold",""]],
    660    "{foobar]<b>baz</b>",
    661    [true,true],
    662    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    663 ["{<span style=\"font-weight: 900\">foobar]baz</span>",
    664    [["bold",""]],
    665    "{foobar]<span style=\"font-weight:900\">baz</span>",
    666    [true],
    667    {"bold":[false,true,"",false,false,""]}],
    668 ["<span style=\"font-weight: 100\">foo[barbaz</span>}",
    669    [["stylewithcss","true"],["bold",""]],
    670    "<span style=\"font-weight:100\">foo<span style=\"font-weight:bold\">[barbaz</span></span>}",
    671    [true,true],
    672    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    673 ["<span style=\"font-weight: 100\">foo[barbaz</span>}",
    674    [["stylewithcss","false"],["bold",""]],
    675    "<span style=\"font-weight:100\">foo<b>[barbaz</b></span>}",
    676    [true,true],
    677    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    678 ["<span style=\"font-weight: 400\">foo[barbaz</span>}",
    679    [["stylewithcss","true"],["bold",""]],
    680    "<span style=\"font-weight:400\">foo<span style=\"font-weight:bold\">[barbaz</span></span>}",
    681    [true,true],
    682    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    683 ["<span style=\"font-weight: 400\">foo[barbaz</span>}",
    684    [["stylewithcss","false"],["bold",""]],
    685    "<span style=\"font-weight:400\">foo<b>[barbaz</b></span>}",
    686    [true,true],
    687    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    688 ["<span style=\"font-weight: 700\">foo[barbaz</span>}",
    689    [["stylewithcss","true"],["bold",""]],
    690    "<span style=\"font-weight:700\">foo</span>[barbaz}",
    691    [true,true],
    692    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    693 ["<span style=\"font-weight: 700\">foo[barbaz</span>}",
    694    [["stylewithcss","false"],["bold",""]],
    695    "<b>foo</b>[barbaz}",
    696    [true,true],
    697    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    698 ["<span style=\"font-weight: 900\">foo[barbaz</span>}",
    699    [["bold",""]],
    700    "<span style=\"font-weight:900\">foo</span>[barbaz}",
    701    [true],
    702    {"bold":[false,true,"",false,false,""]}],
    703 ["<h3>foo[bar]baz</h3>",
    704    [["stylewithcss","true"],["bold",""]],
    705    "<h3>foo<span style=\"font-weight:normal\">[bar]</span>baz</h3>",
    706    [true,true],
    707    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    708 ["<h3>foo[bar]baz</h3>",
    709    [["stylewithcss","false"],["bold",""]],
    710    "<h3>foo<span style=\"font-weight:normal\">[bar]</span>baz</h3>",
    711    [true,true],
    712    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    713 ["{<h3>foobar]baz</h3>",
    714    [["stylewithcss","true"],["bold",""]],
    715    "{<h3><span style=\"font-weight:normal\">foobar]</span>baz</h3>",
    716    [true,true],
    717    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    718 ["{<h3>foobar]baz</h3>",
    719    [["stylewithcss","false"],["bold",""]],
    720    "{<h3><span style=\"font-weight:normal\">foobar]</span>baz</h3>",
    721    [true,true],
    722    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    723 ["<h3>foo[barbaz</h3>}",
    724    [["stylewithcss","true"],["bold",""]],
    725    "<h3>foo<span style=\"font-weight:normal\">[barbaz</span></h3>}",
    726    [true,true],
    727    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    728 ["<h3>foo[barbaz</h3>}",
    729    [["stylewithcss","false"],["bold",""]],
    730    "<h3>foo<span style=\"font-weight:normal\">[barbaz</span></h3>}",
    731    [true,true],
    732    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    733 ["<h3>[foobarbaz]</h3>",
    734    [["stylewithcss","true"],["bold",""]],
    735    "<h3><span style=\"font-weight:normal\">[foobarbaz]</span></h3>",
    736    [true,true],
    737    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    738 ["<h3>[foobarbaz]</h3>",
    739    [["stylewithcss","false"],["bold",""]],
    740    "<h3><span style=\"font-weight:normal\">[foobarbaz]</span></h3>",
    741    [true,true],
    742    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    743 ["{<h3>foobarbaz]</h3>",
    744    [["stylewithcss","true"],["bold",""]],
    745    "{<h3><span style=\"font-weight:normal\">foobarbaz]</span></h3>",
    746    [true,true],
    747    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    748 ["{<h3>foobarbaz]</h3>",
    749    [["stylewithcss","false"],["bold",""]],
    750    "{<h3><span style=\"font-weight:normal\">foobarbaz]</span></h3>",
    751    [true,true],
    752    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    753 ["<h3>[foobarbaz</h3>}",
    754    [["stylewithcss","true"],["bold",""]],
    755    "<h3><span style=\"font-weight:normal\">[foobarbaz</span></h3>}",
    756    [true,true],
    757    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    758 ["<h3>[foobarbaz</h3>}",
    759    [["stylewithcss","false"],["bold",""]],
    760    "<h3><span style=\"font-weight:normal\">[foobarbaz</span></h3>}",
    761    [true,true],
    762    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    763 ["{<h3>foobarbaz</h3>}",
    764    [["stylewithcss","true"],["bold",""]],
    765    "{<h3><span style=\"font-weight:normal\">foobarbaz</span></h3>}",
    766    [true,true],
    767    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    768 ["{<h3>foobarbaz</h3>}",
    769    [["stylewithcss","false"],["bold",""]],
    770    "{<h3><span style=\"font-weight:normal\">foobarbaz</span></h3>}",
    771    [true,true],
    772    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    773 ["<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>",
    774    [["stylewithcss","true"],["bold",""]],
    775    "<b>foo<span style=\"font-weight:normal\">bar[baz]quz</span>qoz</b>",
    776    [true,true],
    777    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    778 ["<b>foo<span style=\"font-weight: normal\">bar<b>[baz]</b>quz</span>qoz</b>",
    779    [["stylewithcss","false"],["bold",""]],
    780    "<b>foo<span style=\"font-weight:normal\">bar[baz]quz</span>qoz</b>",
    781    [true,true],
    782    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    783 ["<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>",
    784    [["stylewithcss","true"],["bold",""]],
    785    "<b>foo[bar]baz</b>",
    786    [true,true],
    787    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    788 ["<b>foo<span style=\"font-weight: normal\">[bar]</span>baz</b>",
    789    [["stylewithcss","false"],["bold",""]],
    790    "<b>foo[bar]baz</b>",
    791    [true,true],
    792    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    793 ["{<b>foo</b> <b>bar</b>}",
    794    [["stylewithcss","true"],["bold",""]],
    795    "{<span style=\"font-weight:bold\">foo bar}</span>",
    796    [true,true],
    797    {"stylewithcss":[false,false,"",false,true,""],"bold":[true,false,"",false,true,""]}],
    798 ["{<b>foo</b> <b>bar</b>}",
    799    [["stylewithcss","false"],["bold",""]],
    800    "{<b>foo bar}</b>",
    801    [true,true],
    802    {"stylewithcss":[false,true,"",false,false,""],"bold":[true,false,"",false,true,""]}],
    803 ["{<h3>foo</h3><b>bar</b>}",
    804    [["stylewithcss","true"],["bold",""]],
    805    "{<h3><span style=\"font-weight:normal\">foo</span></h3>bar}",
    806    [true,true],
    807    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    808 ["{<h3>foo</h3><b>bar</b>}",
    809    [["stylewithcss","false"],["bold",""]],
    810    "{<h3><span style=\"font-weight:normal\">foo</span></h3>bar}",
    811    [true,true],
    812    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    813 ["<i><b>foo</b></i>[bar]<i><b>baz</b></i>",
    814    [["stylewithcss","true"],["bold",""]],
    815    "<b><i>foo</i>[bar]<i>baz</i></b>",
    816    [true,true],
    817    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    818 ["<i><b>foo</b></i>[bar]<i><b>baz</b></i>",
    819    [["stylewithcss","false"],["bold",""]],
    820    "<b><i>foo</i>[bar]<i>baz</i></b>",
    821    [true,true],
    822    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    823 ["<i><b>foo</b></i>[bar]<b>baz</b>",
    824    [["stylewithcss","true"],["bold",""]],
    825    "<b><i>foo</i>[bar]baz</b>",
    826    [true,true],
    827    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    828 ["<i><b>foo</b></i>[bar]<b>baz</b>",
    829    [["stylewithcss","false"],["bold",""]],
    830    "<b><i>foo</i>[bar]baz</b>",
    831    [true,true],
    832    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    833 ["<b>foo</b>[bar]<i><b>baz</b></i>",
    834    [["stylewithcss","true"],["bold",""]],
    835    "<b>foo[bar]<i>baz</i></b>",
    836    [true,true],
    837    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    838 ["<b>foo</b>[bar]<i><b>baz</b></i>",
    839    [["stylewithcss","false"],["bold",""]],
    840    "<b>foo[bar]<i>baz</i></b>",
    841    [true,true],
    842    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    843 ["<font color=blue face=monospace><b>foo</b></font>[bar]",
    844    [["bold",""]],
    845    "<b><font color=\"blue\" face=\"monospace\">foo</font>[bar]</b>",
    846    [true],
    847    {"bold":[false,false,"",false,true,""]}],
    848 ["foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz",
    849    [["stylewithcss","true"],["bold",""]],
    850    "foo{bar}baz",
    851    [true,true],
    852    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    853 ["foo<span style=\"font-weight: normal\"><b>{bar}</b></span>baz",
    854    [["stylewithcss","false"],["bold",""]],
    855    "foo{bar}baz",
    856    [true,true],
    857    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    858 ["[foo<span class=notbold>bar</span>baz]",
    859    [["stylewithcss","true"],["bold",""]],
    860    "<span style=\"font-weight:bold\">[foo<span class=\"notbold\"><span style=\"font-weight:bold\">bar</span></span>baz]</span>",
    861    [true,true],
    862    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    863 ["[foo<span class=notbold>bar</span>baz]",
    864    [["stylewithcss","false"],["bold",""]],
    865    "<b>[foo<span class=\"notbold\"><b>bar</b></span>baz]</b>",
    866    [true,true],
    867    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    868 ["<b><span class=notbold>[foo]</span></b>",
    869    [["stylewithcss","true"],["bold",""]],
    870    "<span class=\"notbold\"><span style=\"font-weight:bold\">[foo]</span></span>",
    871    [true,true],
    872    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    873 ["<b><span class=notbold>[foo]</span></b>",
    874    [["stylewithcss","false"],["bold",""]],
    875    "<span class=\"notbold\"><b>[foo]</b></span>",
    876    [true,true],
    877    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    878 ["<b><span class=notbold>foo[bar]baz</span></b>",
    879    [["stylewithcss","true"],["bold",""]],
    880    "<b><span class=\"notbold\">foo<span style=\"font-weight:bold\">[bar]</span>baz</span></b>",
    881    [true,true],
    882    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    883 ["<b><span class=notbold>foo[bar]baz</span></b>",
    884    [["stylewithcss","false"],["bold",""]],
    885    "<b><span class=\"notbold\">foo<b>[bar]</b>baz</span></b>",
    886    [true,true],
    887    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    888 ["<p style=\"font-weight: bold\">foo[bar]baz</p>",
    889    [["stylewithcss","true"],["bold",""]],
    890    "<p><span style=\"font-weight:bold\">foo</span>[bar]<span style=\"font-weight:bold\">baz</span></p>",
    891    [true,true],
    892    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    893 ["<p style=\"font-weight: bold\">foo[bar]baz</p>",
    894    [["stylewithcss","false"],["bold",""]],
    895    "<p><b>foo</b>[bar]<b>baz</b></p>",
    896    [true,true],
    897    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    898 ["fo[o<b>b]ar</b>baz",
    899    [["bold",""]],
    900    "fo<b>[ob]ar</b>baz",
    901    [true],
    902    {"bold":[true,false,"",false,true,""]}],
    903 ["foo<b>ba[r</b>b]az",
    904    [["bold",""]],
    905    "foo<b>ba[rb]</b>az",
    906    [true],
    907    {"bold":[true,false,"",false,true,""]}],
    908 ["fo[o<b>bar</b>b]az",
    909    [["stylewithcss","true"],["bold",""]],
    910    "fo<span style=\"font-weight:bold\">[obarb]</span>az",
    911    [true,true],
    912    {"stylewithcss":[false,false,"",false,true,""],"bold":[true,false,"",false,true,""]}],
    913 ["fo[o<b>bar</b>b]az",
    914    [["stylewithcss","false"],["bold",""]],
    915    "fo<b>[obarb]</b>az",
    916    [true,true],
    917    {"stylewithcss":[false,true,"",false,false,""],"bold":[true,false,"",false,true,""]}],
    918 ["foo[<b>b]ar</b>baz",
    919    [["stylewithcss","true"],["bold",""]],
    920    "foo[b]<span style=\"font-weight:bold\">ar</span>baz",
    921    [true,true],
    922    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    923 ["foo[<b>b]ar</b>baz",
    924    [["stylewithcss","false"],["bold",""]],
    925    "foo[b]<b>ar</b>baz",
    926    [true,true],
    927    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    928 ["foo<b>ba[r</b>]baz",
    929    [["stylewithcss","true"],["bold",""]],
    930    "foo<span style=\"font-weight:bold\">ba</span>[r]baz",
    931    [true,true],
    932    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    933 ["foo<b>ba[r</b>]baz",
    934    [["stylewithcss","false"],["bold",""]],
    935    "foo<b>ba</b>[r]baz",
    936    [true,true],
    937    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    938 ["foo{<b>bar</b>}baz",
    939    [["stylewithcss","true"],["bold",""]],
    940    "foo{bar}baz",
    941    [true,true],
    942    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    943 ["foo{<b>bar</b>}baz",
    944    [["stylewithcss","false"],["bold",""]],
    945    "foo{bar}baz",
    946    [true,true],
    947    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    948 ["fo[o<span style=font-weight:bold>b]ar</span>baz",
    949    [["bold",""]],
    950    "fo<span style=\"font-weight:bold\">[ob]ar</span>baz",
    951    [true],
    952    {"bold":[true,false,"",false,true,""]}],
    953 ["<span style=font-weight:800>fo[o</span><span style=font-weight:900>b]ar</span>",
    954    [["bold",""]],
    955    "<span style=\"font-weight:800\">fo</span>[ob]<span style=\"font-weight:900\">ar</span>",
    956    [true],
    957    {"bold":[false,true,"",false,false,""]}],
    958 ["<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>",
    959    [["stylewithcss","true"],["bold",""]],
    960    "<span style=\"font-weight:700\">fo</span>[ob]<span style=\"font-weight:800\">ar</span>",
    961    [true,true],
    962    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    963 ["<span style=font-weight:700>fo[o</span><span style=font-weight:800>b]ar</span>",
    964    [["stylewithcss","false"],["bold",""]],
    965    "<b>fo</b>[ob]<span style=\"font-weight:800\">ar</span>",
    966    [true,true],
    967    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    968 ["<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>",
    969    [["stylewithcss","true"],["bold",""]],
    970    "<span style=\"font-weight:600\">fo</span>[ob]<span style=\"font-weight:700\">ar</span>",
    971    [true,true],
    972    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,true,"",false,false,""]}],
    973 ["<span style=font-weight:600>fo[o</span><span style=font-weight:700>b]ar</span>",
    974    [["stylewithcss","false"],["bold",""]],
    975    "<span style=\"font-weight:600\">fo</span>[ob]<b>ar</b>",
    976    [true,true],
    977    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,true,"",false,false,""]}],
    978 ["<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>",
    979    [["stylewithcss","true"],["bold",""]],
    980    "<span style=\"font-weight:500\">fo<span style=\"font-weight:bold\">[o</span></span><span style=\"font-weight:600\"><span style=\"font-weight:bold\">b]</span>ar</span>",
    981    [true,true],
    982    {"stylewithcss":[false,false,"",false,true,""],"bold":[true,false,"",false,true,""]}],
    983 ["<span style=font-weight:500>fo[o</span><span style=font-weight:600>b]ar</span>",
    984    [["stylewithcss","false"],["bold",""]],
    985    "<span style=\"font-weight:500\">fo<b>[o</b></span><span style=\"font-weight:600\"><b>b]</b>ar</span>",
    986    [true,true],
    987    {"stylewithcss":[false,true,"",false,false,""],"bold":[true,false,"",false,true,""]}],
    988 ["<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>",
    989    [["stylewithcss","true"],["bold",""]],
    990    "<span style=\"font-weight:400\">fo<span style=\"font-weight:bold\">[o</span></span><span style=\"font-weight:500\"><span style=\"font-weight:bold\">b]</span>ar</span>",
    991    [true,true],
    992    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
    993 ["<span style=font-weight:400>fo[o</span><span style=font-weight:500>b]ar</span>",
    994    [["stylewithcss","false"],["bold",""]],
    995    "<span style=\"font-weight:400\">fo<b>[o</b></span><span style=\"font-weight:500\"><b>b]</b>ar</span>",
    996    [true,true],
    997    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
    998 ["<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>",
    999    [["stylewithcss","true"],["bold",""]],
   1000    "<span style=\"font-weight:300\">fo<span style=\"font-weight:bold\">[o</span></span><span style=\"font-weight:400\"><span style=\"font-weight:bold\">b]</span>ar</span>",
   1001    [true,true],
   1002    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
   1003 ["<span style=font-weight:300>fo[o</span><span style=font-weight:400>b]ar</span>",
   1004    [["stylewithcss","false"],["bold",""]],
   1005    "<span style=\"font-weight:300\">fo<b>[o</b></span><span style=\"font-weight:400\"><b>b]</b>ar</span>",
   1006    [true,true],
   1007    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
   1008 ["<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>",
   1009    [["stylewithcss","true"],["bold",""]],
   1010    "<span style=\"font-weight:200\">fo<span style=\"font-weight:bold\">[o</span></span><span style=\"font-weight:300\"><span style=\"font-weight:bold\">b]</span>ar</span>",
   1011    [true,true],
   1012    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
   1013 ["<span style=font-weight:200>fo[o</span><span style=font-weight:300>b]ar</span>",
   1014    [["stylewithcss","false"],["bold",""]],
   1015    "<span style=\"font-weight:200\">fo<b>[o</b></span><span style=\"font-weight:300\"><b>b]</b>ar</span>",
   1016    [true,true],
   1017    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
   1018 ["<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>",
   1019    [["stylewithcss","true"],["bold",""]],
   1020    "<span style=\"font-weight:100\">fo<span style=\"font-weight:bold\">[o</span></span><span style=\"font-weight:200\"><span style=\"font-weight:bold\">b]</span>ar</span>",
   1021    [true,true],
   1022    {"stylewithcss":[false,false,"",false,true,""],"bold":[false,false,"",false,true,""]}],
   1023 ["<span style=font-weight:100>fo[o</span><span style=font-weight:200>b]ar</span>",
   1024    [["stylewithcss","false"],["bold",""]],
   1025    "<span style=\"font-weight:100\">fo<b>[o</b></span><span style=\"font-weight:200\"><b>b]</b>ar</span>",
   1026    [true,true],
   1027    {"stylewithcss":[false,true,"",false,false,""],"bold":[false,false,"",false,true,""]}],
   1028 
   1029 // Don't delete non-editable node.
   1030 ["abc<b>[d<span contenteditable=\"false\"><b>e</b></span>f]</b>ghi",
   1031    [["stylewithcss","false"],["bold",""]],
   1032    "abcd<span contenteditable=\"false\"><b>e</b></span>fghi",
   1033    [true,true],
   1034    {}],
   1035 // but delete editable node in non-editable node.
   1036 ["abc<b>[d<span contenteditable=\"false\"><span contenteditable><b>e</b></span></span>f]</b>ghi",
   1037    [["stylewithcss","false"],["bold",""]],
   1038    "abcd<span contenteditable=\"false\"><span contenteditable=\"\">e</span></span>fghi",
   1039    [true,true],
   1040    {}],
   1041 
   1042 // Check where the new style (<b>) will be applied.  Basically, it should be
   1043 // applied to minimized range as far as possible, but should not shrink the
   1044 // range into the nodes entirely selected.
   1045 ["abc<i>[def]</i>ghi",
   1046    [["stylewithcss","false"],["bold",""]],
   1047    "abc<i><b>def</b></i>ghi",
   1048    [true,true],
   1049    {}],
   1050 ["abc[<i>def</i>]ghi",
   1051    [["stylewithcss","false"],["bold",""]],
   1052    "abc<b><i>def</i></b>ghi",
   1053    [true,true],
   1054    {}],
   1055 ["abc<i>{def}</i>ghi",
   1056    [["stylewithcss","false"],["bold",""]],
   1057    "abc<i><b>def</b></i>ghi",
   1058    [true,true],
   1059    {}],
   1060 ["abc{<i>def</i>}ghi",
   1061    [["stylewithcss","false"],["bold",""]],
   1062    "abc<b><i>def</i></b>ghi",
   1063    [true,true],
   1064    {}],
   1065 ["abc<i>[def</i>]ghi",
   1066    [["stylewithcss","false"],["bold",""]],
   1067    "abc<i><b>def</b></i>ghi",
   1068    [true,true],
   1069    {}],
   1070 ["abc[<i>def]</i>ghi",
   1071    [["stylewithcss","false"],["bold",""]],
   1072    "abc<i><b>def</b></i>ghi",
   1073    [true,true],
   1074    {}],
   1075 
   1076 // Should not change the style of the non-editable nodes so that only the
   1077 // visible and editable nodes are wrapped into the <b> elements.
   1078 ['{ <span contenteditable="false">A</span> ; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> }',
   1079    [["stylewithcss","false"],["bold",""]],
   1080    ' <span contenteditable="false">A</span><b> ; </b><span contenteditable="false">B</span><b> ; </b><span contenteditable="false">C</span> ',
   1081    [true,true],
   1082    {}],
   1083 ]