tor-browser

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

delete.js (162139B)


      1 class MyCustomElement extends HTMLElement {};
      2 customElements.define("custom-element", MyCustomElement);
      3 // For documentation of the format, see README in this directory.
      4 var browserTests = [
      5 ["foo[]bar",
      6    [["delete",""]],
      7    "fo[]bar",
      8    [true],
      9    {"delete":[false,false,"",false,false,""]}],
     10 ["<span>foo</span>{}<span>bar</span>",
     11    [["delete",""]],
     12    "<span>fo[]</span><span>bar</span>",
     13    [true],
     14    {"delete":[false,false,"",false,false,""]}],
     15 ["<span>foo[</span><span>]bar</span>",
     16    [["delete",""]],
     17    "<span>foo[]</span><span>bar</span>",
     18    [true],
     19    {"delete":[false,false,"",false,false,""]}],
     20 ["foo<span style=display:none>bar</span>[]baz",
     21    [["stylewithcss","true"],["delete",""]],
     22    "fo[]baz",
     23    [true,true],
     24    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
     25 ["foo<span style=display:none>bar</span>[]baz",
     26    [["stylewithcss","false"],["delete",""]],
     27    "fo[]baz",
     28    [true,true],
     29    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
     30 ["foo<script>bar</script>[]baz",
     31    [["delete",""]],
     32    "fo[]baz",
     33    [true],
     34    {"delete":[false,false,"",false,false,""]}],
     35 ["fo&ouml;[]bar",
     36    [["delete",""]],
     37    "fo[]bar",
     38    [true],
     39    {"delete":[false,false,"",false,false,""]}],
     40 ["foo&#x308;[]bar",
     41    [["delete",""]],
     42    "foo[]bar",
     43    [true],
     44    {"delete":[false,false,"",false,false,""]}],
     45 ["foo&#x308;&#x327;[]bar",
     46    [["delete",""]],
     47    "foö[]bar",
     48    [true],
     49    {"delete":[false,false,"",false,false,""]}],
     50 ["&ouml;[]bar",
     51    [["delete",""]],
     52    "{}bar",
     53    [true],
     54    {"delete":[false,false,"",false,false,""]}],
     55 ["o&#x308;[]bar",
     56    [["delete",""]],
     57    "o[]bar",
     58    [true],
     59    {"delete":[false,false,"",false,false,""]}],
     60 ["o&#x308;&#x327;[]bar",
     61    [["delete",""]],
     62    "ö[]bar",
     63    [true],
     64    {"delete":[false,false,"",false,false,""]}],
     65 ["&#x5e9;&#x5c1;&#x5b8;[]&#x5dc;&#x5d5;&#x5b9;&#x5dd;",
     66    [["delete",""]],
     67    "שׁ[]לוֹם",
     68    [true],
     69    {"delete":[false,false,"",false,false,""]}],
     70 ["&#x5e9;&#x5c1;&#x5b8;&#x5dc;&#x5d5;&#x5b9;[]&#x5dd;",
     71    [["delete",""]],
     72    "שָׁלו[]ם",
     73    [true],
     74    {"delete":[false,false,"",false,false,""]}],
     75 ["<p>foo</p><p>[]bar</p>",
     76    [["defaultparagraphseparator","div"],["delete",""]],
     77    "<p>foo{}bar</p>",
     78    [true,true],
     79    {"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
     80 ["<p>foo</p><p>[]bar</p>",
     81    [["defaultparagraphseparator","p"],["delete",""]],
     82    "<p>foo{}bar</p>",
     83    [true,true],
     84    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
     85 ["<p>foo</p>[]bar",
     86    [["delete",""]],
     87    "<p>foo{}bar</p>",
     88    [true],
     89    {"delete":[false,false,"",false,false,""]}],
     90 ["foo<p>[]bar</p>",
     91    [["defaultparagraphseparator","div"],["delete",""]],
     92    "foo{}bar",
     93    [true,true],
     94    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
     95 ["foo<p>[]bar</p>",
     96    [["defaultparagraphseparator","p"],["delete",""]],
     97    "foo{}bar",
     98    [true,true],
     99    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    100 ["<p>foo<br></p><p>[]bar</p>",
    101    [["defaultparagraphseparator","div"],["delete",""]],
    102    "<p>foo{}bar</p>",
    103    [true,true],
    104    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    105 ["<p>foo<br></p><p>[]bar</p>",
    106    [["defaultparagraphseparator","p"],["delete",""]],
    107    "<p>foo{}bar</p>",
    108    [true,true],
    109    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    110 ["<p>foo<br></p>[]bar",
    111    [["delete",""]],
    112    "<p>foo{}bar</p>",
    113    [true],
    114    {"delete":[false,false,"",false,false,""]}],
    115 ["foo<br><p>[]bar</p>",
    116    [["defaultparagraphseparator","div"],["delete",""]],
    117    "foo{}bar",
    118    [true,true],
    119    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    120 ["foo<br><p>[]bar</p>",
    121    [["defaultparagraphseparator","p"],["delete",""]],
    122    "foo{}bar",
    123    [true,true],
    124    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    125 ["<p>foo<br><br></p><p>[]bar</p>",
    126    [["defaultparagraphseparator","div"],["delete",""]],
    127    "<p>foo<br>{}bar</p>",
    128    [true,true],
    129    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    130 ["<p>foo<br><br></p><p>[]bar</p>",
    131    [["defaultparagraphseparator","p"],["delete",""]],
    132    "<p>foo<br>{}bar</p>",
    133    [true,true],
    134    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    135 ["<p>foo<br><br></p>[]bar",
    136    [["delete",""]],
    137    "<p>foo<br>{}bar</p>",
    138    [true],
    139    {"delete":[false,false,"",false,false,""]}],
    140 ["foo<br><br><p>[]bar</p>",
    141    [["delete",""]],
    142    "foo<br><p>{}bar</p>",
    143    [true],
    144    {"delete":[false,false,"",false,false,""]}],
    145 ["<div><p>foo</p></div><p>[]bar</p>",
    146    [["defaultparagraphseparator","div"],["delete",""]],
    147    "<div><p>foo{}bar</p></div>",
    148    [true,true],
    149    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    150 ["<div><p>foo</p></div><p>[]bar</p>",
    151    [["defaultparagraphseparator","p"],["delete",""]],
    152    "<div><p>foo{}bar</p></div>",
    153    [true,true],
    154    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    155 ["<p>foo</p><div><p>[]bar</p></div>",
    156    [["defaultparagraphseparator","div"],["delete",""]],
    157    "<p>foo{}bar</p>",
    158    [true,true],
    159    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    160 ["<p>foo</p><div><p>[]bar</p></div>",
    161    [["defaultparagraphseparator","p"],["delete",""]],
    162    "<p>foo{}bar</p>",
    163    [true,true],
    164    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    165 ["<div><p>foo</p></div><div><p>[]bar</p></div>",
    166    [["defaultparagraphseparator","div"],["delete",""]],
    167    "<div><p>foo{}bar</p></div>",
    168    [true,true],
    169    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    170 ["<div><p>foo</p></div><div><p>[]bar</p></div>",
    171    [["defaultparagraphseparator","p"],["delete",""]],
    172    "<div><p>foo{}bar</p></div>",
    173    [true,true],
    174    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    175 ["<div><p>foo</p></div>[]bar",
    176    [["delete",""]],
    177    "<div><p>foo{}bar</p></div>",
    178    [true],
    179    {"delete":[false,false,"",false,false,""]}],
    180 ["foo<div><p>[]bar</p></div>",
    181    [["defaultparagraphseparator","div"],["delete",""]],
    182    "foo{}bar",
    183    [true,true],
    184    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    185 ["foo<div><p>[]bar</p></div>",
    186    [["defaultparagraphseparator","p"],["delete",""]],
    187    "foo{}bar",
    188    [true,true],
    189    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    190 ["<div>foo</div><div>[]bar</div>",
    191    [["defaultparagraphseparator","div"],["delete",""]],
    192    "<div>foo{}bar</div>",
    193    [true,true],
    194    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    195 ["<div>foo</div><div>[]bar</div>",
    196    [["defaultparagraphseparator","p"],["delete",""]],
    197    "<div>foo{}bar</div>",
    198    [true,true],
    199    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    200 ["<pre>foo</pre>[]bar",
    201    [["delete",""]],
    202    "<pre>foo{}bar</pre>",
    203    [true],
    204    {"delete":[false,false,"",false,false,""]}],
    205 ["foo<br>[]bar",
    206    [["delete",""]],
    207    "foo{}bar",
    208    [true],
    209    {"delete":[false,false,"",false,false,""]}],
    210 ["foo<br><b>[]bar</b>",
    211    [["delete",""]],
    212    "foo{}<b>bar</b>",
    213    [true],
    214    {"delete":[false,false,"",false,false,""]}],
    215 ["foo<hr>[]bar",
    216    [["delete",""]],
    217    "foo{}bar",
    218    [true],
    219    {"delete":[false,false,"",false,false,""]}],
    220 ["<p>foo<hr><p>[]bar",
    221    [["delete",""]],
    222    "<p>foo</p><p>{}bar</p>",
    223    [true],
    224    {"delete":[false,false,"",false,false,""]}],
    225 ["<p>foo</p><br><p>[]bar</p>",
    226    [["delete",""]],
    227    "<p>foo</p><p>{}bar</p>",
    228    [true],
    229    {"delete":[false,false,"",false,false,""]}],
    230 ["<p>foo</p><br><br><p>[]bar</p>",
    231    [["delete",""]],
    232    "<p>foo</p><br><p>{}bar</p>",
    233    [true],
    234    {"delete":[false,false,"",false,false,""]}],
    235 ["<p>foo</p><img src=/img/lion.svg><p>[]bar",
    236    [["defaultparagraphseparator","div"],["delete",""]],
    237    "<p>foo</p><img src=\"/img/lion.svg\">{}bar",
    238    [true,true],
    239    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    240 ["<p>foo</p><img src=/img/lion.svg><p>[]bar",
    241    [["defaultparagraphseparator","p"],["delete",""]],
    242    "<p>foo</p><img src=\"/img/lion.svg\">{}bar",
    243    [true,true],
    244    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    245 ["foo<img src=/img/lion.svg>[]bar",
    246    [["delete",""]],
    247    "foo{}bar",
    248    [true],
    249    {"delete":[false,false,"",false,false,""]}],
    250 ["<a>foo</a>[]bar",
    251    [["delete",""]],
    252    "foo[]bar",
    253    [true],
    254    {"delete":[false,false,"",false,false,""]}],
    255 ["<a href=/>foo</a>[]bar",
    256    [["delete",""]],
    257    "foo[]bar",
    258    [true],
    259    {"delete":[false,false,"",false,false,""]}],
    260 ["<a name=abc>foo</a>[]bar",
    261    [["delete",""]],
    262    "foo[]bar",
    263    [true],
    264    {"delete":[false,false,"",false,false,""]}],
    265 ["<a href=/ name=abc>foo</a>[]bar",
    266    [["delete",""]],
    267    "foo[]bar",
    268    [true],
    269    {"delete":[false,false,"",false,false,""]}],
    270 ["<span><a>foo</a></span>[]bar",
    271    [["delete",""]],
    272    "<span>foo</span>[]bar",
    273    [true],
    274    {"delete":[false,false,"",false,false,""]}],
    275 ["<span><a href=/>foo</a></span>[]bar",
    276    [["delete",""]],
    277    "<span>foo</span>[]bar",
    278    [true],
    279    {"delete":[false,false,"",false,false,""]}],
    280 ["<span><a name=abc>foo</a></span>[]bar",
    281    [["delete",""]],
    282    "<span>foo</span>[]bar",
    283    [true],
    284    {"delete":[false,false,"",false,false,""]}],
    285 ["<span><a href=/ name=abc>foo</a></span>[]bar",
    286    [["delete",""]],
    287    "<span>foo</span>[]bar",
    288    [true],
    289    {"delete":[false,false,"",false,false,""]}],
    290 ["foo<a>[]bar</a>",
    291    [["delete",""]],
    292    "fo[]<a>bar</a>",
    293    [true],
    294    {"delete":[false,false,"",false,false,""]}],
    295 ["foo<a href=/>[]bar</a>",
    296    [["delete",""]],
    297    "fo[]<a href=\"/\">bar</a>",
    298    [true],
    299    {"delete":[false,false,"",false,false,""]}],
    300 ["foo<a name=abc>[]bar</a>",
    301    [["delete",""]],
    302    "fo[]<a name=\"abc\">bar</a>",
    303    [true],
    304    {"delete":[false,false,"",false,false,""]}],
    305 ["foo<a href=/ name=abc>[]bar</a>",
    306    [["delete",""]],
    307    "fo[]<a href=\"/\" name=\"abc\">bar</a>",
    308    [true],
    309    {"delete":[false,false,"",false,false,""]}],
    310 ["foo &nbsp;[]",
    311    [["delete",""]],
    312    // The last white-space should be converted to an NBSP to keep it visible.
    313    "foo&nbsp;",
    314    [true],
    315    {"delete":[false,false,"",false,false,""]}],
    316 ["&nbsp;[] foo",
    317    [["delete",""]],
    318    // The first white-space should be converted to an NBSP to keep it visible.
    319    "&nbsp;foo",
    320    [true],
    321    {"delete":[false,false,"",false,false,""]}],
    322 ["foo &nbsp;[]bar",
    323    [["delete",""]],
    324    // The single white-space between visible characters should be converted to
    325    // an ASCII space for making there a line break opportunity.
    326    "foo bar",
    327    [true],
    328    {"delete":[false,false,"",false,false,""]}],
    329 ["foo&nbsp; []bar",
    330    [["delete",""]],
    331    // The single white-space between visible characters should be an ASCII
    332    // space for making there a line break opportunity.
    333    "foo bar",
    334    [true],
    335    {"delete":[false,false,"",false,false,""]}],
    336 ["foo&nbsp;&nbsp;[]bar",
    337    [["delete",""]],
    338    // The single white-space between visible characters should be converted to
    339    // an ASCII space for making there a line break opportunity.
    340    "foo bar",
    341    [true],
    342    {"delete":[false,false,"",false,false,""]}],
    343 ["foo  []bar",
    344    [["delete",""]],
    345    // The white-spaces should be collapsed to a white-space.  Therefore, both
    346    // of them should be deleted.
    347    "foobar",
    348    [true],
    349    {"delete":[false,false,"",false,false,""]}],
    350 ["foo []&nbsp; bar",
    351    [["delete",""]],
    352    // The white-spaces between visible characters should be an NBSP and an
    353    // ASCII white-space.  The former is required for make both white-spaces
    354    // visible and the latter is required for a line break opportunity.
    355    // The order is not a matter in this test.
    356    ["foo&nbsp; bar", "foo &nbsp;bar"],
    357    [true],
    358    {"delete":[false,false,"",false,false,""]}],
    359 ["foo &nbsp;[] bar",
    360    [["delete",""]],
    361    // The white-spaces between visible characters should be an NBSP and an
    362    // ASCII white-space.  The former is required for make both white-spaces
    363    // visible and the latter is required for a line break opportunity.
    364    // The order is not a matter in this test.
    365    ["foo&nbsp; bar", "foo &nbsp;bar"],
    366    [true],
    367    {"delete":[false,false,"",false,false,""]}],
    368 ["foo &nbsp; []bar",
    369    [["delete",""]],
    370    // The white-spaces between visible characters should be an NBSP and an
    371    // ASCII white-space.  The former is required for make both white-spaces
    372    // visible and the latter is required for a line break opportunity.
    373    // The order is not a matter in this test.
    374    ["foo&nbsp; bar", "foo &nbsp;bar"],
    375    [true],
    376    {"delete":[false,false,"",false,false,""]}],
    377 ["foo []<span>&nbsp;</span> bar",
    378    [["delete",""]],
    379    // The following white-space should be an NBSP to avoid it to become
    380    // invisible when the preceding Text is deleted.  It's fine to touch the
    381    // following white-space due to in a same white-space sequence.
    382    ["foo<span>&nbsp;</span> bar", "foo<span>&nbsp;</span>&nbsp;bar"],
    383    [true],
    384    {"delete":[false,false,"",false,false,""]}],
    385 ["foo <span>&nbsp;</span>[] bar",
    386    [["delete",""]],
    387    // The white-spaces between visible characters should be an NBSP and an
    388    // ASCII white-space.  The former is required for make both white-spaces
    389    // visible and the latter is required for a line break opportunity.
    390    // The order is not a matter in this test.
    391    ["foo &nbsp;bar", "foo&nbsp; bar"],
    392    [true],
    393    {"delete":[false,false,"",false,false,""]}],
    394 ["foo <span>&nbsp;</span> []bar",
    395    [["delete",""]],
    396    // The white-space in the <span> should be an NBSP for avoiding to become
    397    // invisible when its surrounding Text is deleted.  On the other hand,
    398    // it's preceding white-space can be either for performance.  However,
    399    // basically, it should be an NBSP due to the last character of a Text.
    400    ["foo <span>&nbsp;</span>bar", "foo&nbsp;<span>&nbsp;</span>bar"],
    401    [true],
    402    {"delete":[false,false,"",false,false,""]}],
    403 ["<b>foo </b>&nbsp;[]bar",
    404    [["delete",""]],
    405    // The preceding Text node should ends with an NBSP to avoid it to become
    406    // invisible when the following Text is deleted.
    407    "<b>foo&nbsp;</b>bar",
    408    [true],
    409    {"delete":[false,false,"",false,false,""]}],
    410 ["<b>foo&nbsp;</b> []bar",
    411    [["delete",""]],
    412    // The trailing white-space of a Text should be replaced with an NBSP to
    413    // avoid accidentally to make it invisible by further DOM mutations.
    414    "<b>foo&nbsp;</b>bar",
    415    [true],
    416    {"delete":[false,false,"",false,false,""]}],
    417 ["<b>foo&nbsp;</b>&nbsp;[]bar",
    418    [["delete",""]],
    419    // The trailing white-space of a Text should be replaced with an NBSP to
    420    // avoid accidentally to make it invisible by further DOM mutations.
    421    "<b>foo&nbsp;</b>bar",
    422    [true],
    423    {"delete":[false,false,"",false,false,""]}],
    424 ["<b>foo </b> []bar",
    425    [["delete",""]],
    426    // The white-spaces are collapsed to one white-space visually.  Therefore,
    427    // both white-spaces should be deleted.
    428    "<b>foo</b>bar",
    429    [true],
    430    {"delete":[false,false,"",false,false,""]}],
    431 ["<p>foo </p><p>[] bar</p>",
    432    [["defaultparagraphseparator","div"],["delete",""]],
    433    // Both the trailing and leading white-spaces are invisible, therefore,
    434    // no white-space should appear after joining the paragraphs.
    435    "<p>foobar</p>",
    436    [true,true],
    437    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    438 ["<p>foo </p><p>[] bar</p>",
    439    [["defaultparagraphseparator","p"],["delete",""]],
    440    "<p>foobar</p>",
    441    [true,true],
    442    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    443 ["<pre>foo &nbsp;[]</pre>",
    444    [["delete",""]],
    445    "<pre>foo </pre>",
    446    [true],
    447    {"delete":[false,false,"",false,false,""]}],
    448 ["<pre>&nbsp;[] foo</pre>",
    449    [["delete",""]],
    450    "<pre> foo</pre>",
    451    [true],
    452    {"delete":[false,false,"",false,false,""]}],
    453 ["<pre>foo &nbsp;[]bar</pre>",
    454    [["delete",""]],
    455    "<pre>foo bar</pre>",
    456    [true],
    457    {"delete":[false,false,"",false,false,""]}],
    458 ["<pre>foo&nbsp; []bar</pre>",
    459    [["delete",""]],
    460    "<pre>foo&nbsp;bar</pre>",
    461    [true],
    462    {"delete":[false,false,"",false,false,""]}],
    463 ["<pre>foo  []bar</pre>",
    464    [["delete",""]],
    465    "<pre>foo bar</pre>",
    466    [true],
    467    {"delete":[false,false,"",false,false,""]}],
    468 ["<div style=white-space:pre>foo &nbsp;[]</div>",
    469    [["delete",""]],
    470    "<div style=\"white-space:pre\">foo </div>",
    471    [true],
    472    {"delete":[false,false,"",false,false,""]}],
    473 ["<div style=white-space:pre>&nbsp;[] foo</div>",
    474    [["delete",""]],
    475    "<div style=\"white-space:pre\"> foo</div>",
    476    [true],
    477    {"delete":[false,false,"",false,false,""]}],
    478 ["<div style=white-space:pre>foo &nbsp;[]bar</div>",
    479    [["delete",""]],
    480    "<div style=\"white-space:pre\">foo bar</div>",
    481    [true],
    482    {"delete":[false,false,"",false,false,""]}],
    483 ["<div style=white-space:pre>foo&nbsp; []bar</div>",
    484    [["delete",""]],
    485    "<div style=\"white-space:pre\">foo&nbsp;bar</div>",
    486    [true],
    487    {"delete":[false,false,"",false,false,""]}],
    488 ["<div style=white-space:pre>foo  []bar</div>",
    489    [["delete",""]],
    490    "<div style=\"white-space:pre\">foo bar</div>",
    491    [true],
    492    {"delete":[false,false,"",false,false,""]}],
    493 ["<div style=white-space:pre-wrap>foo &nbsp;[]</div>",
    494    [["delete",""]],
    495    "<div style=\"white-space:pre-wrap\">foo </div>",
    496    [true],
    497    {"delete":[false,false,"",false,false,""]}],
    498 ["<div style=white-space:pre-wrap>&nbsp;[] foo</div>",
    499    [["delete",""]],
    500    "<div style=\"white-space:pre-wrap\"> foo</div>",
    501    [true],
    502    {"delete":[false,false,"",false,false,""]}],
    503 ["<div style=white-space:pre-wrap>foo &nbsp;[]bar</div>",
    504    [["delete",""]],
    505    "<div style=\"white-space:pre-wrap\">foo bar</div>",
    506    [true],
    507    {"delete":[false,false,"",false,false,""]}],
    508 ["<div style=white-space:pre-wrap>foo&nbsp; []bar</div>",
    509    [["delete",""]],
    510    "<div style=\"white-space:pre-wrap\">foo&nbsp;bar</div>",
    511    [true],
    512    {"delete":[false,false,"",false,false,""]}],
    513 ["<div style=white-space:pre-wrap>foo  []bar</div>",
    514    [["delete",""]],
    515    "<div style=\"white-space:pre-wrap\">foo bar</div>",
    516    [true],
    517    {"delete":[false,false,"",false,false,""]}],
    518 ["<div style=white-space:pre-line>foo &nbsp;[]</div>",
    519    [["delete",""]],
    520    // The last white-space of a Text should always be an NBSP.
    521    "<div style=\"white-space:pre-line\">foo&nbsp;</div>",
    522    [true],
    523    {"delete":[false,false,"",false,false,""]}],
    524 ["<div style=white-space:pre-line>&nbsp;[] foo</div>",
    525    [["delete",""]],
    526    // The first white-space of a Text should always be an NBSP.
    527    "<div style=\"white-space:pre-line\">&nbsp;foo</div>",
    528    [true],
    529    {"delete":[false,false,"",false,false,""]}],
    530 ["<div style=white-space:pre-line>foo &nbsp;[]bar</div>",
    531    [["delete",""]],
    532    "<div style=\"white-space:pre-line\">foo bar</div>",
    533    [true],
    534    {"delete":[false,false,"",false,false,""]}],
    535 ["<div style=white-space:pre-line>foo&nbsp; []bar</div>",
    536    [["delete",""]],
    537    "<div style=\"white-space:pre-line\">foo bar</div>",
    538    [true],
    539    {"delete":[false,false,"",false,false,""]}],
    540 ["<div style=white-space:pre-line>foo  []bar</div>",
    541    [["delete",""]],
    542    // The white-spaces are collapsed to one white-space, therefore, they should
    543    // be deleted together from users' point of view.
    544    "<div style=\"white-space:pre-line\">foobar</div>",
    545    [true],
    546    {"delete":[false,false,"",false,false,""]}],
    547 ["<div style=white-space:nowrap>foo &nbsp;[]</div>",
    548    [["delete",""]],
    549    // The last white-space of a Text should always be an NBSP.
    550    "<div style=\"white-space:nowrap\">foo&nbsp;</div>",
    551    [true],
    552    {"delete":[false,false,"",false,false,""]}],
    553 ["<div style=white-space:nowrap>&nbsp;[] foo</div>",
    554    [["delete",""]],
    555    // The first white-space of a Text should always be an NBSP.
    556    "<div style=\"white-space:nowrap\">{}&nbsp;foo</div>",
    557    [true],
    558    {"delete":[false,false,"",false,false,""]}],
    559 ["<div style=white-space:nowrap>foo &nbsp;[]bar</div>",
    560    [["delete",""]],
    561    "<div style=\"white-space:nowrap\">foo bar</div>",
    562    [true],
    563    {"delete":[false,false,"",false,false,""]}],
    564 ["<div style=white-space:nowrap>foo&nbsp; []bar</div>",
    565    [["delete",""]],
    566    "<div style=\"white-space:nowrap\">foo bar</div>",
    567    [true],
    568    {"delete":[false,false,"",false,false,""]}],
    569 ["<div style=white-space:nowrap>foo  []bar</div>",
    570    [["delete",""]],
    571    // The white-spaces are collapsed to one white-space, therefore, they should
    572    // be deleted together from users' point of view.
    573    "<div style=\"white-space:nowrap\">foobar</div>",
    574    [true],
    575    {"delete":[false,false,"",false,false,""]}],
    576 ["foo<table><tr><td>b[]</table>baz",
    577    [["delete",""]],
    578    "foo<table><tbody><tr><td>[]<br></td></tr></tbody></table>baz",
    579    [true],
    580    {"delete":[false,false,"",false,false,""]}],
    581 ["foo<table><tr><td>[]bar</table>baz",
    582    [["delete",""]],
    583    "foo<table><tbody><tr><td>[]bar</td></tr></tbody></table>baz",
    584    [true],
    585    {"delete":[false,false,"",false,false,""]}],
    586 ["foo<table><tr><td>bar</table>[]baz",
    587    [["delete",""]],
    588    "foo{<table><tbody><tr><td>bar</td></tr></tbody></table>}baz",
    589    [true],
    590    {"delete":[false,false,"",false,false,""]}],
    591 ["<p>foo<table><tr><td>[]bar</table><p>baz",
    592    [["delete",""]],
    593    "<p>foo</p><table><tbody><tr><td>[]bar</td></tr></tbody></table><p>baz</p>",
    594    [true],
    595    {"delete":[false,false,"",false,false,""]}],
    596 ["<p>foo<table><tr><td>bar</table><p>[]baz",
    597    [["delete",""]],
    598    "<p>foo</p>{<table><tbody><tr><td>bar</td></tr></tbody></table>}<p>baz</p>",
    599    [true],
    600    {"delete":[false,false,"",false,false,""]}],
    601 ["<table><tr><td>foo<td>[]bar</table>",
    602    [["delete",""]],
    603    "<table><tbody><tr><td>foo</td><td>{}bar</td></tr></tbody></table>",
    604    [true],
    605    {"delete":[false,false,"",false,false,""]}],
    606 ["<table><tr><td>foo<tr><td>[]bar</table>",
    607    [["delete",""]],
    608    "<table><tbody><tr><td>foo</td></tr><tr><td>{}bar</td></tr></tbody></table>",
    609    [true],
    610    {"delete":[false,false,"",false,false,""]}],
    611 ["foo<br><table><tr><td>[]bar</table>baz",
    612    [["delete",""]],
    613    "foo<table><tbody><tr><td>[]bar</td></tr></tbody></table>baz",
    614    [true],
    615    {"delete":[false,false,"",false,false,""]}],
    616 ["foo<table><tr><td>bar<br></table>[]baz",
    617    [["delete",""]],
    618    "foo{<table><tbody><tr><td>bar<br></td></tr></tbody></table>}baz",
    619    [true],
    620    {"delete":[false,false,"",false,false,""]}],
    621 ["<p>foo<br><table><tr><td>[]bar</table><p>baz",
    622    [["delete",""]],
    623    "<p>foo<br></p><table><tbody><tr><td>[]bar</td></tr></tbody></table><p>baz</p>",
    624    [true],
    625    {"delete":[false,false,"",false,false,""]}],
    626 ["<p>foo<table><tr><td>bar<br></table><p>[]baz",
    627    [["delete",""]],
    628    "<p>foo</p>{<table><tbody><tr><td>bar<br></td></tr></tbody></table>}<p>baz</p>",
    629    [true],
    630    {"delete":[false,false,"",false,false,""]}],
    631 ["<table><tr><td>foo<br><td>[]bar</table>",
    632    [["delete",""]],
    633    "<table><tbody><tr><td>foo</td><td>{}bar</td></tr></tbody></table>",
    634    [true],
    635    {"delete":[false,false,"",false,false,""]}],
    636 ["<table><tr><td>foo<br><tr><td>[]bar</table>",
    637    [["delete",""]],
    638    "<table><tbody><tr><td>foo</td></tr><tr><td>{}bar</td></tr></tbody></table>",
    639    [true],
    640    {"delete":[false,false,"",false,false,""]}],
    641 ["foo<br><br><table><tr><td>[]bar</table>baz",
    642    [["delete",""]],
    643    "foo<br><br><table><tbody><tr><td>[]bar</td></tr></tbody></table>baz",
    644    [true],
    645    {"delete":[false,false,"",false,false,""]}],
    646 ["foo<table><tr><td>bar<br><br></table>[]baz",
    647    [["delete",""]],
    648    "foo{<table><tbody><tr><td>bar<br><br></td></tr></tbody></table>}baz",
    649    [true],
    650    {"delete":[false,false,"",false,false,""]}],
    651 ["<p>foo<br><br><table><tr><td>[]bar</table><p>baz",
    652    [["delete",""]],
    653    "<p>foo<br><br></p><table><tbody><tr><td>[]bar</td></tr></tbody></table><p>baz</p>",
    654    [true],
    655    {"delete":[false,false,"",false,false,""]}],
    656 ["<p>foo<table><tr><td>bar<br><br></table><p>[]baz",
    657    [["delete",""]],
    658    "<p>foo</p>{<table><tbody><tr><td>bar<br><br></td></tr></tbody></table>}<p>baz</p>",
    659    [true],
    660    {"delete":[false,false,"",false,false,""]}],
    661 ["<table><tr><td>foo<br><br><td>[]bar</table>",
    662    [["delete",""]],
    663    "<table><tbody><tr><td>foo<br><br></td><td>{}bar</td></tr></tbody></table>",
    664    [true],
    665    {"delete":[false,false,"",false,false,""]}],
    666 ["<table><tr><td>foo<br><br><tr><td>[]bar</table>",
    667    [["delete",""]],
    668    "<table><tbody><tr><td>foo<br><br></td></tr><tr><td>{}bar</td></tr></tbody></table>",
    669    [true],
    670    {"delete":[false,false,"",false,false,""]}],
    671 ["foo<hr><table><tr><td>[]bar</table>baz",
    672    [["delete",""]],
    673    "foo<hr><table><tbody><tr><td>[]bar</td></tr></tbody></table>baz",
    674    [true],
    675    {"delete":[false,false,"",false,false,""]}],
    676 ["foo<table><tr><td>bar<hr></table>[]baz",
    677    [["delete",""]],
    678    "foo{<table><tbody><tr><td>bar<hr></td></tr></tbody></table>}baz",
    679    [true],
    680    {"delete":[false,false,"",false,false,""]}],
    681 ["<table><tr><td>foo<hr><td>[]bar</table>",
    682    [["delete",""]],
    683    "<table><tbody><tr><td>foo<hr></td><td>{}bar</td></tr></tbody></table>",
    684    [true],
    685    {"delete":[false,false,"",false,false,""]}],
    686 ["<table><tr><td>foo<hr><tr><td>[]bar</table>",
    687    [["delete",""]],
    688    "<table><tbody><tr><td>foo<hr></td></tr><tr><td>{}bar</td></tr></tbody></table>",
    689    [true],
    690    {"delete":[false,false,"",false,false,""]}],
    691 ["foo<ol><li>[]bar<li>baz</ol>",
    692    [["defaultparagraphseparator","div"],["delete",""]],
    693    "foo<div>[]bar</div><ol><li>baz</li></ol>",
    694    [true,true],
    695    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    696 ["foo<ol><li>[]bar<li>baz</ol>",
    697    [["defaultparagraphseparator","p"],["delete",""]],
    698    "foo<p>[]bar</p><ol><li>baz</li></ol>",
    699    [true,true],
    700    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    701 ["foo<br><ol><li>[]bar<li>baz</ol>",
    702    [["defaultparagraphseparator","div"],["delete",""]],
    703    "foo<div>[]bar</div><ol><li>baz</li></ol>",
    704    [true,true],
    705    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    706 ["foo<br><ol><li>[]bar<li>baz</ol>",
    707    [["defaultparagraphseparator","p"],["delete",""]],
    708    "foo<p>[]bar</p><ol><li>baz</li></ol>",
    709    [true,true],
    710    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    711 ["foo<br><br><ol><li>[]bar<li>baz</ol>",
    712    [["defaultparagraphseparator","div"],["delete",""]],
    713    "foo<br><br><div>[]bar</div><ol><li>baz</li></ol>",
    714    [true,true],
    715    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    716 ["foo<br><br><ol><li>[]bar<li>baz</ol>",
    717    [["defaultparagraphseparator","p"],["delete",""]],
    718    "foo<br><br><p>[]bar</p><ol><li>baz</li></ol>",
    719    [true,true],
    720    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    721 ["<ol><li>foo<li>[]bar</ol>",
    722    [["delete",""]],
    723    "<ol><li>foo<br>[]bar</li></ol>",
    724    [true],
    725    {"delete":[false,false,"",false,false,""]}],
    726 ["<ol><li>foo<br><li>[]bar</ol>",
    727    [["delete",""]],
    728    "<ol><li>foo<br>[]bar</li></ol>",
    729    [true],
    730    {"delete":[false,false,"",false,false,""]}],
    731 ["<ol><li>foo<br><br><li>[]bar</ol>",
    732    [["delete",""]],
    733    "<ol><li>foo<br><br>[]bar</li></ol>",
    734    [true],
    735    {"delete":[false,false,"",false,false,""]}],
    736 ["<ol><li>foo<li>[]bar<br>baz</ol>",
    737    [["delete",""]],
    738    "<ol><li>foo<br>[]bar<br>baz</li></ol>",
    739    [true],
    740    {"delete":[false,false,"",false,false,""]}],
    741 ["<ol><li>foo<br>bar<li>[]baz</ol>",
    742    [["delete",""]],
    743    "<ol><li>foo<br>bar<br>[]baz</li></ol>",
    744    [true],
    745    {"delete":[false,false,"",false,false,""]}],
    746 ["<ol><li><p>foo</p>{}bar</ol>",
    747    [["delete",""]],
    748    "<ol><li><p>foo{}bar</p></li></ol>",
    749    [true],
    750    {"delete":[false,false,"",false,false,""]}],
    751 ["<ol><li><p>foo<li>[]bar</ol>",
    752    [["delete",""]],
    753    "<ol><li><p>foo</p>[]bar</li></ol>",
    754    [true],
    755    {"delete":[false,false,"",false,false,""]}],
    756 ["<ol><li>foo<li><p>[]bar</ol>",
    757    [["delete",""]],
    758    "<ol><li>foo<p>[]bar</p></li></ol>",
    759    [true],
    760    {"delete":[false,false,"",false,false,""]}],
    761 ["<ol><li><p>foo<li><p>[]bar</ol>",
    762    [["delete",""]],
    763    "<ol><li><p>foo</p><p>[]bar</p></li></ol>",
    764    [true],
    765    {"delete":[false,false,"",false,false,""]}],
    766 ["<ol><li>foo<ul><li>[]bar</ul></ol>",
    767    [["delete",""]],
    768    "<ol><li>foo</li><li>[]bar</li></ol>",
    769    [true],
    770    {"delete":[false,false,"",false,false,""]}],
    771 ["foo<ol><ol><li>[]bar</ol></ol>",
    772    [["delete",""]],
    773    "foo<ol><li>[]bar</li></ol>",
    774    [true],
    775    {"delete":[false,false,"",false,false,""]}],
    776 ["foo<div><ol><li>[]bar</ol></div>",
    777    [["defaultparagraphseparator","div"],["delete",""]],
    778    "foo<div><div>[]bar</div></div>",
    779    [true,true],
    780    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    781 ["foo<div><ol><li>[]bar</ol></div>",
    782    [["defaultparagraphseparator","p"],["delete",""]],
    783    "foo<div><p>[]bar</p></div>",
    784    [true,true],
    785    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    786 ["foo<dl><dt>[]bar<dd>baz</dl>",
    787    [["defaultparagraphseparator","div"],["delete",""]],
    788    "foo<div>[]bar</div><dl><dd>baz</dd></dl>",
    789    [true,true],
    790    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    791 ["foo<dl><dt>[]bar<dd>baz</dl>",
    792    [["defaultparagraphseparator","p"],["delete",""]],
    793    "foo<p>[]bar</p><dl><dd>baz</dd></dl>",
    794    [true,true],
    795    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    796 ["foo<dl><dd>[]bar</dl>",
    797    [["defaultparagraphseparator","div"],["delete",""]],
    798    "foo<div>[]bar</div>",
    799    [true,true],
    800    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    801 ["foo<dl><dd>[]bar</dl>",
    802    [["defaultparagraphseparator","p"],["delete",""]],
    803    "foo<p>[]bar</p>",
    804    [true,true],
    805    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    806 ["<dl><dt>foo<dd>[]bar</dl>",
    807    [["delete",""]],
    808    "<dl><dt>foo<br>[]bar</dt></dl>",
    809    [true],
    810    {"delete":[false,false,"",false,false,""]}],
    811 ["<dl><dt>foo<dt>[]bar<dd>baz</dl>",
    812    [["delete",""]],
    813    "<dl><dt>foo<br>[]bar</dt><dd>baz</dd></dl>",
    814    [true],
    815    {"delete":[false,false,"",false,false,""]}],
    816 ["<dl><dt>foo<dd>bar<dd>[]baz</dl>",
    817    [["delete",""]],
    818    "<dl><dt>foo</dt><dd>bar<br>[]baz</dd></dl>",
    819    [true],
    820    {"delete":[false,false,"",false,false,""]}],
    821 ["<ol><li>foo</ol>[]bar",
    822    [["delete",""]],
    823    "<ol><li>foo{}bar</li></ol>",
    824    [true],
    825    {"delete":[false,false,"",false,false,""]}],
    826 ["<ol><li>foo<br></ol>[]bar",
    827    [["delete",""]],
    828    "<ol><li>foo{}bar</li></ol>",
    829    [true],
    830    {"delete":[false,false,"",false,false,""]}],
    831 ["<ol><li>foo<br><br></ol>[]bar",
    832    [["delete",""]],
    833    "<ol><li>foo<br>{}bar</li></ol>",
    834    [true],
    835    {"delete":[false,false,"",false,false,""]}],
    836 ["<ol><li><br></ol>[]bar",
    837    [["delete",""]],
    838    "<ol><li>{}bar</li></ol>",
    839    [true],
    840    {"delete":[false,false,"",false,false,""]}],
    841 ["<ol><li>foo<li><br></ol>[]bar",
    842    [["delete",""]],
    843    "<ol><li>foo</li><li>{}bar</li></ol>",
    844    [true],
    845    {"delete":[false,false,"",false,false,""]}],
    846 ["<ol><li>foo</ol><p>[]bar",
    847    [["defaultparagraphseparator","div"],["delete",""]],
    848    "<ol><li>foo{}bar</li></ol>",
    849    [true,true],
    850    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    851 ["<ol><li>foo</ol><p>[]bar",
    852    [["defaultparagraphseparator","p"],["delete",""]],
    853    "<ol><li>foo{}bar</li></ol>",
    854    [true,true],
    855    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    856 ["<ol><li>foo<br></ol><p>[]bar",
    857    [["defaultparagraphseparator","div"],["delete",""]],
    858    "<ol><li>foo{}bar</li></ol>",
    859    [true,true],
    860    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    861 ["<ol><li>foo<br></ol><p>[]bar",
    862    [["defaultparagraphseparator","p"],["delete",""]],
    863    "<ol><li>foo{}bar</li></ol>",
    864    [true,true],
    865    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    866 ["<ol><li>foo<br><br></ol><p>[]bar",
    867    [["defaultparagraphseparator","div"],["delete",""]],
    868    "<ol><li>foo<br>{}bar</li></ol>",
    869    [true,true],
    870    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    871 ["<ol><li>foo<br><br></ol><p>[]bar",
    872    [["defaultparagraphseparator","p"],["delete",""]],
    873    "<ol><li>foo<br>{}bar</li></ol>",
    874    [true,true],
    875    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    876 ["<ol><li><br></ol><p>[]bar",
    877    [["defaultparagraphseparator","div"],["delete",""]],
    878    "<ol><li>{}bar</li></ol>",
    879    [true,true],
    880    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    881 ["<ol><li><br></ol><p>[]bar",
    882    [["defaultparagraphseparator","p"],["delete",""]],
    883    "<ol><li>{}bar</li></ol>",
    884    [true,true],
    885    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    886 ["<ol><li>foo<li><br></ol><p>[]bar",
    887    [["defaultparagraphseparator","div"],["delete",""]],
    888    "<ol><li>foo</li><li>{}bar</li></ol>",
    889    [true,true],
    890    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    891 ["<ol><li>foo<li><br></ol><p>[]bar",
    892    [["defaultparagraphseparator","p"],["delete",""]],
    893    "<ol><li>foo</li><li>{}bar</li></ol>",
    894    [true,true],
    895    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    896 ["<ol><li>foo</ol>{}<br>",
    897    [["delete",""]],
    898    "<ol><li>foo{}</li></ol>",
    899    [true],
    900    {"delete":[false,false,"",false,false,""]}],
    901 ["<ol><li>foo<br></ol>{}<br>",
    902    [["delete",""]],
    903    "<ol><li>foo{}</li></ol>",
    904    [true],
    905    {"delete":[false,false,"",false,false,""]}],
    906 ["<ol><li>foo<br><br></ol>{}<br>",
    907    [["delete",""]],
    908    "<ol><li>foo<br>{}<br></li></ol>",
    909    [true],
    910    {"delete":[false,false,"",false,false,""]}],
    911 ["<ol><li><br></ol>{}<br>",
    912    [["delete",""]],
    913    "<ol><li>{}<br></li></ol>",
    914    [true],
    915    {"delete":[false,false,"",false,false,""]}],
    916 ["<ol><li>foo<li><br></ol>{}<br>",
    917    [["delete",""]],
    918    "<ol><li>foo</li><li>{}<br></li></ol>",
    919    [true],
    920    {"delete":[false,false,"",false,false,""]}],
    921 ["<ol><li>foo</ol><p>{}<br>",
    922    [["defaultparagraphseparator","div"],["delete",""]],
    923    "<ol><li>foo{}</li></ol>",
    924    [true,true],
    925    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    926 ["<ol><li>foo</ol><p>{}<br>",
    927    [["defaultparagraphseparator","p"],["delete",""]],
    928    "<ol><li>foo{}</li></ol>",
    929    [true,true],
    930    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    931 ["<ol><li>foo<br></ol><p>{}<br>",
    932    [["defaultparagraphseparator","div"],["delete",""]],
    933    "<ol><li>foo{}</li></ol>",
    934    [true,true],
    935    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    936 ["<ol><li>foo<br></ol><p>{}<br>",
    937    [["defaultparagraphseparator","p"],["delete",""]],
    938    "<ol><li>foo{}</li></ol>",
    939    [true,true],
    940    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    941 ["<ol><li>foo<br><br></ol><p>{}<br>",
    942    [["defaultparagraphseparator","div"],["delete",""]],
    943    "<ol><li>foo<br>{}<br></li></ol>",
    944    [true,true],
    945    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    946 ["<ol><li>foo<br><br></ol><p>{}<br>",
    947    [["defaultparagraphseparator","p"],["delete",""]],
    948    "<ol><li>foo<br>{}<br></li></ol>",
    949    [true,true],
    950    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    951 ["<ol><li><br></ol><p>{}<br>",
    952    [["defaultparagraphseparator","div"],["delete",""]],
    953    "<ol><li>{}<br></li></ol>",
    954    [true,true],
    955    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    956 ["<ol><li><br></ol><p>{}<br>",
    957    [["defaultparagraphseparator","p"],["delete",""]],
    958    "<ol><li>{}<br></li></ol>",
    959    [true,true],
    960    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    961 ["<ol><li>foo<li><br></ol><p>{}<br>",
    962    [["defaultparagraphseparator","div"],["delete",""]],
    963    "<ol><li>foo</li><li>{}<br></li></ol>",
    964    [true,true],
    965    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    966 ["<ol><li>foo<li><br></ol><p>{}<br>",
    967    [["defaultparagraphseparator","p"],["delete",""]],
    968    "<ol><li>foo</li><li>{}<br></li></ol>",
    969    [true,true],
    970    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    971 ["foo<blockquote>[]bar</blockquote>",
    972    [["delete",""]],
    973    "foo<br>[]bar",
    974    [true],
    975    {"delete":[false,false,"",false,false,""]}],
    976 ["foo<blockquote><blockquote>[]bar</blockquote></blockquote>",
    977    [["delete",""]],
    978    "foo<blockquote>[]bar</blockquote>",
    979    [true],
    980    {"delete":[false,false,"",false,false,""]}],
    981 ["foo<blockquote><div>[]bar</div></blockquote>",
    982    [["delete",""]],
    983    "foo<div>[]bar</div>",
    984    [true],
    985    {"delete":[false,false,"",false,false,""]}],
    986 ["foo<blockquote style=\"color: blue\">[]bar</blockquote>",
    987    [["defaultparagraphseparator","div"],["delete",""]],
    988    "foo<div style=\"color:rgb(0, 0, 255)\">[]bar</div>",
    989    [true,true],
    990    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
    991 ["foo<blockquote style=\"color: blue\">[]bar</blockquote>",
    992    [["defaultparagraphseparator","p"],["delete",""]],
    993    "foo<div style=\"color:rgb(0, 0, 255)\">[]bar</div>",
    994    [true,true],
    995    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
    996 ["foo<blockquote><blockquote><p>[]bar<p>baz</blockquote></blockquote>",
    997    [["delete",""]],
    998    "foo<blockquote><p>[]bar</p><blockquote><p>baz</p></blockquote></blockquote>",
    999    [true],
   1000    {"delete":[false,false,"",false,false,""]}],
   1001 ["foo<blockquote><div><p>[]bar<p>baz</div></blockquote>",
   1002    [["delete",""]],
   1003    "foo<div><p>[]bar</p><blockquote><p>baz</p></blockquote></div>",
   1004    [true],
   1005    {"delete":[false,false,"",false,false,""]}],
   1006 ["foo<blockquote style=\"color: blue\"><p>[]bar<p>baz</blockquote>",
   1007    [["defaultparagraphseparator","div"],["delete",""]],
   1008    "foo<div style=\"color:rgb(0, 0, 255)\"><p>[]bar</p><blockquote><p>baz</p></blockquote></div>",
   1009    [true,true],
   1010    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1011 ["foo<blockquote style=\"color: blue\"><p>[]bar<p>baz</blockquote>",
   1012    [["defaultparagraphseparator","p"],["delete",""]],
   1013    "foo<div style=\"color:rgb(0, 0, 255)\"><p>[]bar</p><blockquote><p>baz</p></blockquote></div>",
   1014    [true,true],
   1015    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1016 ["foo<blockquote><p><b>[]bar</b><p>baz</blockquote>",
   1017    [["delete",""]],
   1018    "foo<p><b>[]bar</b></p><blockquote><p>baz</p></blockquote>",
   1019    [true],
   1020    {"delete":[false,false,"",false,false,""]}],
   1021 ["foo<blockquote><p><strong>[]bar</strong><p>baz</blockquote>",
   1022    [["delete",""]],
   1023    "foo<p><strong>[]bar</strong></p><blockquote><p>baz</p></blockquote>",
   1024    [true],
   1025    {"delete":[false,false,"",false,false,""]}],
   1026 ["foo<blockquote><p><span>[]bar</span><p>baz</blockquote>",
   1027    [["delete",""]],
   1028    "foo<p><span>[]bar</span></p><blockquote><p>baz</p></blockquote>",
   1029    [true],
   1030    {"delete":[false,false,"",false,false,""]}],
   1031 ["foo<blockquote><ol><li>[]bar</ol></blockquote><p>extra",
   1032    [["defaultparagraphseparator","div"],["delete",""]],
   1033    "foo<blockquote><div>[]bar</div></blockquote><p>extra</p>",
   1034    [true,true],
   1035    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1036 ["foo<blockquote><ol><li>[]bar</ol></blockquote><p>extra",
   1037    [["defaultparagraphseparator","p"],["delete",""]],
   1038    "foo<blockquote><p>[]bar</p></blockquote><p>extra</p>",
   1039    [true,true],
   1040    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1041 ["foo<blockquote>bar<ol><li>[]baz</ol>quz</blockquote><p>extra",
   1042    [["defaultparagraphseparator","div"],["delete",""]],
   1043    "foo<blockquote>bar<div>[]baz</div>quz</blockquote><p>extra</p>",
   1044    [true,true],
   1045    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1046 ["foo<blockquote>bar<ol><li>[]baz</ol>quz</blockquote><p>extra",
   1047    [["defaultparagraphseparator","p"],["delete",""]],
   1048    "foo<blockquote>bar<p>[]baz</p>quz</blockquote><p>extra</p>",
   1049    [true,true],
   1050    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1051 ["foo<blockquote><ol><li>bar</li><ol><li>[]baz</ol><li>quz</ol></blockquote><p>extra",
   1052    [["delete",""]],
   1053    "foo<blockquote><ol><li>bar</li><li>[]baz</li><li>quz</li></ol></blockquote><p>extra</p>",
   1054    [true],
   1055    {"delete":[false,false,"",false,false,""]}],
   1056 ["foo<span></span>[]bar",
   1057    [["delete",""]],
   1058    "fo[]bar",
   1059    [true],
   1060    {"delete":[false,false,"",false,false,""]}],
   1061 ["foo<span><span></span></span>[]bar",
   1062    [["delete",""]],
   1063    "fo[]bar",
   1064    [true],
   1065    {"delete":[false,false,"",false,false,""]}],
   1066 ["foo<quasit></quasit>[]bar",
   1067    [["delete",""]],
   1068    "fo[]bar",
   1069    [true],
   1070    {"delete":[false,false,"",false,false,""]}],
   1071 ["foo<br><span></span>[]bar",
   1072    [["delete",""]],
   1073    "foo{}bar",
   1074    [true],
   1075    {"delete":[false,false,"",false,false,""]}],
   1076 ["<span>foo<span></span></span>[]bar",
   1077    [["delete",""]],
   1078    "<span>fo[]</span>bar",
   1079    [true],
   1080    {"delete":[false,false,"",false,false,""]}],
   1081 ["foo<span></span><span>[]bar</span>",
   1082    [["delete",""]],
   1083    "fo[]<span>bar</span>",
   1084    [true],
   1085    {"delete":[false,false,"",false,false,""]}],
   1086 ["foo<div><div><p>[]bar</div></div>",
   1087    [["defaultparagraphseparator","div"],["delete",""]],
   1088    "foo{}bar",
   1089    [true,true],
   1090    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1091 ["foo<div><div><p>[]bar</div></div>",
   1092    [["defaultparagraphseparator","p"],["delete",""]],
   1093    "foo{}bar",
   1094    [true,true],
   1095    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1096 ["foo<div><div><p><!--abc-->[]bar</div></div>",
   1097    [["defaultparagraphseparator","div"],["delete",""]],
   1098    "foo{}bar",
   1099    [true,true],
   1100    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1101 ["foo<div><div><p><!--abc-->[]bar</div></div>",
   1102    [["defaultparagraphseparator","p"],["delete",""]],
   1103    "foo{}bar",
   1104    [true,true],
   1105    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1106 ["foo<div><div><!--abc--><p>[]bar</div></div>",
   1107    [["defaultparagraphseparator","div"],["delete",""]],
   1108    "foo{}bar",
   1109    [true,true],
   1110    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1111 ["foo<div><div><!--abc--><p>[]bar</div></div>",
   1112    [["defaultparagraphseparator","p"],["delete",""]],
   1113    "foo{}bar",
   1114    [true,true],
   1115    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1116 ["foo<div><!--abc--><div><p>[]bar</div></div>",
   1117    [["defaultparagraphseparator","div"],["delete",""]],
   1118    "foo{}bar",
   1119    [true,true],
   1120    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1121 ["foo<div><!--abc--><div><p>[]bar</div></div>",
   1122    [["defaultparagraphseparator","p"],["delete",""]],
   1123    "foo{}bar",
   1124    [true,true],
   1125    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1126 ["foo<!--abc--><div><div><p>[]bar</div></div>",
   1127    [["defaultparagraphseparator","div"],["delete",""]],
   1128    "foo{}bar",
   1129    [true,true],
   1130    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1131 ["foo<!--abc--><div><div><p>[]bar</div></div>",
   1132    [["defaultparagraphseparator","p"],["delete",""]],
   1133    "foo{}bar",
   1134    [true,true],
   1135    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1136 ["<div><div><p>foo</div></div>[]bar",
   1137    [["delete",""]],
   1138    "<div><div><p>foo{}bar</p></div></div>",
   1139    [true],
   1140    {"delete":[false,false,"",false,false,""]}],
   1141 ["<div><div><p>foo</div></div><!--abc-->[]bar",
   1142    [["delete",""]],
   1143    "<div><div><p>foo{}bar</p></div></div>",
   1144    [true],
   1145    {"delete":[false,false,"",false,false,""]}],
   1146 ["<div><div><p>foo</div><!--abc--></div>[]bar",
   1147    [["delete",""]],
   1148    "<div><div><p>foo{}bar</p></div></div>",
   1149    [true],
   1150    {"delete":[false,false,"",false,false,""]}],
   1151 ["<div><div><p>foo</p><!--abc--></div></div>[]bar",
   1152    [["delete",""]],
   1153    "<div><div><p>foo{}bar</p></div></div>",
   1154    [true],
   1155    {"delete":[false,false,"",false,false,""]}],
   1156 ["<div><div><p>foo<!--abc--></div></div>[]bar",
   1157    [["delete",""]],
   1158    "<div><div><p>foo{}bar</p></div></div>",
   1159    [true],
   1160    {"delete":[false,false,"",false,false,""]}],
   1161 ["<div><div><p>foo</p></div></div><div><div><div>[]bar</div></div></div>",
   1162    [["defaultparagraphseparator","div"],["delete",""]],
   1163    "<div><div><p>foo{}bar</p></div></div>",
   1164    [true,true],
   1165    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1166 ["<div><div><p>foo</p></div></div><div><div><div>[]bar</div></div></div>",
   1167    [["defaultparagraphseparator","p"],["delete",""]],
   1168    "<div><div><p>foo{}bar</p></div></div>",
   1169    [true,true],
   1170    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1171 ["<div><div><p>foo<!--abc--></p></div></div><div><div><div>[]bar</div></div></div>",
   1172    [["defaultparagraphseparator","div"],["delete",""]],
   1173    "<div><div><p>foo{}bar</p></div></div>",
   1174    [true,true],
   1175    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1176 ["<div><div><p>foo<!--abc--></p></div></div><div><div><div>[]bar</div></div></div>",
   1177    [["defaultparagraphseparator","p"],["delete",""]],
   1178    "<div><div><p>foo{}bar</p></div></div>",
   1179    [true,true],
   1180    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1181 ["<div><div><p>foo</p><!--abc--></div></div><div><div><div>[]bar</div></div></div>",
   1182    [["defaultparagraphseparator","div"],["delete",""]],
   1183    "<div><div><p>foo{}bar</p></div></div>",
   1184    [true,true],
   1185    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1186 ["<div><div><p>foo</p><!--abc--></div></div><div><div><div>[]bar</div></div></div>",
   1187    [["defaultparagraphseparator","p"],["delete",""]],
   1188    "<div><div><p>foo{}bar</p></div></div>",
   1189    [true,true],
   1190    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1191 ["<div><div><p>foo</p></div><!--abc--></div><div><div><div>[]bar</div></div></div>",
   1192    [["defaultparagraphseparator","div"],["delete",""]],
   1193    "<div><div><p>foo{}bar</p></div></div>",
   1194    [true,true],
   1195    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1196 ["<div><div><p>foo</p></div><!--abc--></div><div><div><div>[]bar</div></div></div>",
   1197    [["defaultparagraphseparator","p"],["delete",""]],
   1198    "<div><div><p>foo{}bar</p></div></div>",
   1199    [true,true],
   1200    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1201 ["<div><div><p>foo</p></div></div><!--abc--><div><div><div>[]bar</div></div></div>",
   1202    [["defaultparagraphseparator","div"],["delete",""]],
   1203    "<div><div><p>foo{}bar</p></div></div>",
   1204    [true,true],
   1205    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1206 ["<div><div><p>foo</p></div></div><!--abc--><div><div><div>[]bar</div></div></div>",
   1207    [["defaultparagraphseparator","p"],["delete",""]],
   1208    "<div><div><p>foo{}bar</p></div></div>",
   1209    [true,true],
   1210    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1211 ["<div><div><p>foo</p></div></div><div><!--abc--><div><div>[]bar</div></div></div>",
   1212    [["defaultparagraphseparator","div"],["delete",""]],
   1213    "<div><div><p>foo{}bar</p></div></div>",
   1214    [true,true],
   1215    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1216 ["<div><div><p>foo</p></div></div><div><!--abc--><div><div>[]bar</div></div></div>",
   1217    [["defaultparagraphseparator","p"],["delete",""]],
   1218    "<div><div><p>foo{}bar</p></div></div>",
   1219    [true,true],
   1220    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1221 ["<div><div><p>foo</p></div></div><div><div><!--abc--><div>[]bar</div></div></div>",
   1222    [["defaultparagraphseparator","div"],["delete",""]],
   1223    "<div><div><p>foo{}bar</p></div></div>",
   1224    [true,true],
   1225    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1226 ["<div><div><p>foo</p></div></div><div><div><!--abc--><div>[]bar</div></div></div>",
   1227    [["defaultparagraphseparator","p"],["delete",""]],
   1228    "<div><div><p>foo{}bar</p></div></div>",
   1229    [true,true],
   1230    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1231 ["<div><div><p>foo</p></div></div><div><div><div><!--abc-->[]bar</div></div></div>",
   1232    [["defaultparagraphseparator","div"],["delete",""]],
   1233    "<div><div><p>foo{}bar</p></div></div>",
   1234    [true,true],
   1235    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1236 ["<div><div><p>foo</p></div></div><div><div><div><!--abc-->[]bar</div></div></div>",
   1237    [["defaultparagraphseparator","p"],["delete",""]],
   1238    "<div><div><p>foo{}bar</p></div></div>",
   1239    [true,true],
   1240    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1241 ["<p style=color:blue>foo<p>[]bar",
   1242    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1243    "<p><span style=\"color:rgb(0, 0, 255)\">foo{}</span>bar</p>",
   1244    [true,true,true],
   1245    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1246 ["<p style=color:blue>foo<p>[]bar",
   1247    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1248    "<p><font color=\"#0000ff\">foo{}</font>bar</p>",
   1249    [true,true,true],
   1250    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1251 ["<p style=color:blue>foo<p>[]bar",
   1252    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1253    "<p><span style=\"color:rgb(0, 0, 255)\">foo{}</span>bar</p>",
   1254    [true,true,true],
   1255    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1256 ["<p style=color:blue>foo<p>[]bar",
   1257    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1258    "<p><font color=\"#0000ff\">foo{}</font>bar</p>",
   1259    [true,true,true],
   1260    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1261 ["<p style=color:blue>foo<p style=color:brown>[]bar",
   1262    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1263    "<p style=\"color:rgb(0, 0, 255)\">foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1264    [true,true,true],
   1265    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1266 ["<p style=color:blue>foo<p style=color:brown>[]bar",
   1267    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1268    "<p style=\"color:rgb(0, 0, 255)\">foo{}<font color=\"#a52a2a\">bar</font></p>",
   1269    [true,true,true],
   1270    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1271 ["<p style=color:blue>foo<p style=color:brown>[]bar",
   1272    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1273    "<p style=\"color:rgb(0, 0, 255)\">foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1274    [true,true,true],
   1275    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1276 ["<p style=color:blue>foo<p style=color:brown>[]bar",
   1277    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1278    "<p style=\"color:rgb(0, 0, 255)\">foo{}<font color=\"#a52a2a\">bar</font></p>",
   1279    [true,true,true],
   1280    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1281 ["<p style=color:blue>foo<p style=color:rgba(0,0,255,1)>[]bar",
   1282    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1283    "<p style=\"color:rgb(0, 0, 255)\">foo{}bar</p>",
   1284    [true,true,true],
   1285    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1286 ["<p style=color:blue>foo<p style=color:rgba(0,0,255,1)>[]bar",
   1287    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1288    "<p style=\"color:rgb(0, 0, 255)\">foo{}bar</p>",
   1289    [true,true,true],
   1290    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1291 ["<p style=color:blue>foo<p style=color:rgba(0,0,255,1)>[]bar",
   1292    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1293    "<p style=\"color:rgb(0, 0, 255)\">foo{}bar</p>",
   1294    [true,true,true],
   1295    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1296 ["<p style=color:blue>foo<p style=color:rgba(0,0,255,1)>[]bar",
   1297    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1298    "<p style=\"color:rgb(0, 0, 255)\">foo{}bar</p>",
   1299    [true,true,true],
   1300    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1301 ["<p style=color:transparent>foo<p style=color:rgba(0,0,0,0)>[]bar",
   1302    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1303    "<p style=\"color:rgba(0, 0, 0, 0)\">foo{}bar</p>",
   1304    [true,true,true],
   1305    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1306 ["<p style=color:transparent>foo<p style=color:rgba(0,0,0,0)>[]bar",
   1307    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1308    "<p style=\"color:rgba(0, 0, 0, 0)\">foo{}bar</p>",
   1309    [true,true,true],
   1310    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1311 ["<p style=color:transparent>foo<p style=color:rgba(0,0,0,0)>[]bar",
   1312    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1313    "<p style=\"color:rgba(0, 0, 0, 0)\">foo{}bar</p>",
   1314    [true,true,true],
   1315    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1316 ["<p style=color:transparent>foo<p style=color:rgba(0,0,0,0)>[]bar",
   1317    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1318    "<p style=\"color:rgba(0, 0, 0, 0)\">foo{}bar</p>",
   1319    [true,true,true],
   1320    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1321 ["<p>foo<p style=color:brown>[]bar",
   1322    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1323    "<p>foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1324    [true,true,true],
   1325    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1326 ["<p>foo<p style=color:brown>[]bar",
   1327    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1328    "<p>foo{}<font color=\"#a52a2a\">bar</font></p>",
   1329    [true,true,true],
   1330    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1331 ["<p>foo<p style=color:brown>[]bar",
   1332    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1333    "<p>foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1334    [true,true,true],
   1335    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1336 ["<p>foo<p style=color:brown>[]bar",
   1337    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1338    "<p>foo{}<font color=\"#a52a2a\">bar</font></p>",
   1339    [true,true,true],
   1340    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1341 ["<p><font color=blue>foo</font><p>[]bar",
   1342    [["defaultparagraphseparator","div"],["delete",""]],
   1343    "<p><font color=\"blue\">foo</font>{}bar</p>",
   1344    [true,true],
   1345    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1346 ["<p><font color=blue>foo</font><p>[]bar",
   1347    [["defaultparagraphseparator","p"],["delete",""]],
   1348    "<p><font color=\"blue\">foo</font>{}bar</p>",
   1349    [true,true],
   1350    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1351 ["<p><font color=blue>foo</font><p><font color=brown>[]bar</font>",
   1352    [["defaultparagraphseparator","div"],["delete",""]],
   1353    "<p><font color=\"blue\">foo</font>{}<font color=\"brown\">bar</font></p>",
   1354    [true,true],
   1355    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1356 ["<p><font color=blue>foo</font><p><font color=brown>[]bar</font>",
   1357    [["defaultparagraphseparator","p"],["delete",""]],
   1358    "<p><font color=\"blue\">foo</font>{}<font color=\"brown\">bar</font></p>",
   1359    [true,true],
   1360    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1361 ["<p>foo<p><font color=brown>[]bar</font>",
   1362    [["defaultparagraphseparator","div"],["delete",""]],
   1363    "<p>foo{}<font color=\"brown\">bar</font></p>",
   1364    [true,true],
   1365    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1366 ["<p>foo<p><font color=brown>[]bar</font>",
   1367    [["defaultparagraphseparator","p"],["delete",""]],
   1368    "<p>foo{}<font color=\"brown\">bar</font></p>",
   1369    [true,true],
   1370    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1371 ["<p><span style=color:blue>foo</font><p>[]bar",
   1372    [["defaultparagraphseparator","div"],["delete",""]],
   1373    "<p><span style=\"color:rgb(0, 0, 255)\">foo</span>{}bar</p>",
   1374    [true,true],
   1375    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1376 ["<p><span style=color:blue>foo</font><p>[]bar",
   1377    [["defaultparagraphseparator","p"],["delete",""]],
   1378    "<p><span style=\"color:rgb(0, 0, 255)\">foo</span>{}bar</p>",
   1379    [true,true],
   1380    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1381 ["<p><span style=color:blue>foo</font><p><span style=color:brown>[]bar</font>",
   1382    [["defaultparagraphseparator","div"],["delete",""]],
   1383    "<p><span style=\"color:rgb(0, 0, 255)\">foo</span>{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1384    [true,true],
   1385    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1386 ["<p><span style=color:blue>foo</font><p><span style=color:brown>[]bar</font>",
   1387    [["defaultparagraphseparator","p"],["delete",""]],
   1388    "<p><span style=\"color:rgb(0, 0, 255)\">foo</span>{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1389    [true,true],
   1390    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1391 ["<p>foo<p><span style=color:brown>[]bar</font>",
   1392    [["defaultparagraphseparator","div"],["delete",""]],
   1393    "<p>foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1394    [true,true],
   1395    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1396 ["<p>foo<p><span style=color:brown>[]bar</font>",
   1397    [["defaultparagraphseparator","p"],["delete",""]],
   1398    "<p>foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p>",
   1399    [true,true],
   1400    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1401 ["<p style=background-color:aqua>foo<p>[]bar",
   1402    [["defaultparagraphseparator","div"],["delete",""]],
   1403    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1404    [true,true],
   1405    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1406 ["<p style=background-color:aqua>foo<p>[]bar",
   1407    [["defaultparagraphseparator","p"],["delete",""]],
   1408    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1409    [true,true],
   1410    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1411 ["<p style=background-color:aqua>foo<p style=background-color:tan>[]bar",
   1412    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1413    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1414    [true,true,true],
   1415    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1416 ["<p style=background-color:aqua>foo<p style=background-color:tan>[]bar",
   1417    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1418    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1419    [true,true,true],
   1420    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1421 ["<p style=background-color:aqua>foo<p style=background-color:tan>[]bar",
   1422    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1423    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1424    [true,true,true],
   1425    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1426 ["<p style=background-color:aqua>foo<p style=background-color:tan>[]bar",
   1427    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1428    "<p style=\"background-color:rgb(0, 255, 255)\">foo{}bar</p>",
   1429    [true,true,true],
   1430    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1431 ["<p>foo<p style=background-color:tan>[]bar",
   1432    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1433    "<p>foo{}bar</p>",
   1434    [true,true,true],
   1435    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1436 ["<p>foo<p style=background-color:tan>[]bar",
   1437    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1438    "<p>foo{}bar</p>",
   1439    [true,true,true],
   1440    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1441 ["<p>foo<p style=background-color:tan>[]bar",
   1442    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1443    "<p>foo{}bar</p>",
   1444    [true,true,true],
   1445    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1446 ["<p>foo<p style=background-color:tan>[]bar",
   1447    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1448    "<p>foo{}bar</p>",
   1449    [true,true,true],
   1450    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1451 ["<p><span style=background-color:aqua>foo</font><p>[]bar",
   1452    [["defaultparagraphseparator","div"],["delete",""]],
   1453    "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span>{}bar</p>",
   1454    [true,true],
   1455    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1456 ["<p><span style=background-color:aqua>foo</font><p>[]bar",
   1457    [["defaultparagraphseparator","p"],["delete",""]],
   1458    "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span>{}bar</p>",
   1459    [true,true],
   1460    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1461 ["<p><span style=background-color:aqua>foo</font><p><span style=background-color:tan>[]bar</font>",
   1462    [["defaultparagraphseparator","div"],["delete",""]],
   1463    "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span>{}<span style=\"background-color:rgb(210, 180, 140)\">bar</span></p>",
   1464    [true,true],
   1465    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1466 ["<p><span style=background-color:aqua>foo</font><p><span style=background-color:tan>[]bar</font>",
   1467    [["defaultparagraphseparator","p"],["delete",""]],
   1468    "<p><span style=\"background-color:rgb(0, 255, 255)\">foo</span>{}<span style=\"background-color:rgb(210, 180, 140)\">bar</span></p>",
   1469    [true,true],
   1470    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1471 ["<p>foo<p><span style=background-color:tan>[]bar</font>",
   1472    [["defaultparagraphseparator","div"],["delete",""]],
   1473    "<p>foo{}<span style=\"background-color:rgb(210, 180, 140)\">bar</span></p>",
   1474    [true,true],
   1475    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1476 ["<p>foo<p><span style=background-color:tan>[]bar</font>",
   1477    [["defaultparagraphseparator","p"],["delete",""]],
   1478    "<p>foo{}<span style=\"background-color:rgb(210, 180, 140)\">bar</span></p>",
   1479    [true,true],
   1480    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1481 ["<p style=text-decoration:underline>foo<p>[]bar",
   1482    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1483    "<p><span style=\"text-decoration:underline\">foo{}</span>bar</p>",
   1484    [true,true,true],
   1485    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1486 ["<p style=text-decoration:underline>foo<p>[]bar",
   1487    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1488    "<p><u>foo{}</u>bar</p>",
   1489    [true,true,true],
   1490    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1491 ["<p style=text-decoration:underline>foo<p>[]bar",
   1492    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1493    "<p><span style=\"text-decoration:underline\">foo{}</span>bar</p>",
   1494    [true,true,true],
   1495    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1496 ["<p style=text-decoration:underline>foo<p>[]bar",
   1497    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1498    "<p><u>foo{}</u>bar</p>",
   1499    [true,true,true],
   1500    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1501 ["<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[]bar",
   1502    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1503    "<p><span style=\"text-decoration:underline\">foo{}</span><span style=\"text-decoration:line-through\">bar</span></p>",
   1504    [true,true,true],
   1505    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1506 ["<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[]bar",
   1507    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1508    "<p><u>foo{}</u><s>bar</s></p>",
   1509    [true,true,true],
   1510    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1511 ["<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[]bar",
   1512    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1513    "<p><span style=\"text-decoration:underline\">foo{}</span><span style=\"text-decoration:line-through\">bar</span></p>",
   1514    [true,true,true],
   1515    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1516 ["<p style=text-decoration:underline>foo<p style=text-decoration:line-through>[]bar",
   1517    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1518    "<p><u>foo{}</u><s>bar</s></p>",
   1519    [true,true,true],
   1520    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1521 ["<p>foo<p style=text-decoration:line-through>[]bar",
   1522    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1523    "<p>foo{}<span style=\"text-decoration:line-through\">bar</span></p>",
   1524    [true,true,true],
   1525    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1526 ["<p>foo<p style=text-decoration:line-through>[]bar",
   1527    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1528    "<p>foo{}<s>bar</s></p>",
   1529    [true,true,true],
   1530    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1531 ["<p>foo<p style=text-decoration:line-through>[]bar",
   1532    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1533    "<p>foo{}<span style=\"text-decoration:line-through\">bar</span></p>",
   1534    [true,true,true],
   1535    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1536 ["<p>foo<p style=text-decoration:line-through>[]bar",
   1537    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1538    "<p>foo{}<s>bar</s></p>",
   1539    [true,true,true],
   1540    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1541 ["<p><u>foo</u><p>[]bar",
   1542    [["defaultparagraphseparator","div"],["delete",""]],
   1543    "<p><u>foo</u>{}bar</p>",
   1544    [true,true],
   1545    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1546 ["<p><u>foo</u><p>[]bar",
   1547    [["defaultparagraphseparator","p"],["delete",""]],
   1548    "<p><u>foo</u>{}bar</p>",
   1549    [true,true],
   1550    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1551 ["<p><u>foo</u><p><s>[]bar</s>",
   1552    [["defaultparagraphseparator","div"],["delete",""]],
   1553    "<p><u>foo</u>{}<s>bar</s></p>",
   1554    [true,true],
   1555    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1556 ["<p><u>foo</u><p><s>[]bar</s>",
   1557    [["defaultparagraphseparator","p"],["delete",""]],
   1558    "<p><u>foo</u>{}<s>bar</s></p>",
   1559    [true,true],
   1560    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1561 ["<p>foo<p><s>[]bar</s>",
   1562    [["defaultparagraphseparator","div"],["delete",""]],
   1563    "<p>foo{}<s>bar</s></p>",
   1564    [true,true],
   1565    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1566 ["<p>foo<p><s>[]bar</s>",
   1567    [["defaultparagraphseparator","p"],["delete",""]],
   1568    "<p>foo{}<s>bar</s></p>",
   1569    [true,true],
   1570    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1571 ["<p style=color:blue>foo</p>[]bar",
   1572    [["stylewithcss","true"],["delete",""]],
   1573    "<p><span style=\"color:rgb(0, 0, 255)\">foo{}</span>bar</p>",
   1574    [true,true],
   1575    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1576 ["<p style=color:blue>foo</p>[]bar",
   1577    [["stylewithcss","false"],["delete",""]],
   1578    "<p><font color=\"#0000ff\">foo{}</font>bar</p>",
   1579    [true,true],
   1580    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1581 ["foo<p style=color:brown>[]bar",
   1582    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1583    "foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span>",
   1584    [true,true,true],
   1585    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1586 ["foo<p style=color:brown>[]bar",
   1587    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1588    "foo{}<font color=\"#a52a2a\">bar</font>",
   1589    [true,true,true],
   1590    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1591 ["foo<p style=color:brown>[]bar",
   1592    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1593    "foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span>",
   1594    [true,true,true],
   1595    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1596 ["foo<p style=color:brown>[]bar",
   1597    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1598    "foo{}<font color=\"#a52a2a\">bar</font>",
   1599    [true,true,true],
   1600    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1601 ["<div style=color:blue><p style=color:green>foo</div>[]bar",
   1602    [["stylewithcss","true"],["delete",""]],
   1603    "<div><p><span style=\"color:rgb(0, 128, 0)\">foo{}</span>bar</p></div>",
   1604    [true,true],
   1605    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1606 ["<div style=color:blue><p style=color:green>foo</div>[]bar",
   1607    [["stylewithcss","false"],["delete",""]],
   1608    "<div><p><font color=\"#008000\">foo{}</font>bar</p></div>",
   1609    [true,true],
   1610    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1611 ["<div style=color:blue><p style=color:green>foo</div><p style=color:brown>[]bar",
   1612    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1613    "<div style=\"color:rgb(0, 0, 255)\"><p style=\"color:rgb(0, 128, 0)\">foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p></div>",
   1614    [true,true,true],
   1615    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1616 ["<div style=color:blue><p style=color:green>foo</div><p style=color:brown>[]bar",
   1617    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1618    "<div style=\"color:rgb(0, 0, 255)\"><p style=\"color:rgb(0, 128, 0)\">foo{}<font color=\"#a52a2a\">bar</font></p></div>",
   1619    [true,true,true],
   1620    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1621 ["<div style=color:blue><p style=color:green>foo</div><p style=color:brown>[]bar",
   1622    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1623    "<div style=\"color:rgb(0, 0, 255)\"><p style=\"color:rgb(0, 128, 0)\">foo{}<span style=\"color:rgb(165, 42, 42)\">bar</span></p></div>",
   1624    [true,true,true],
   1625    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1626 ["<div style=color:blue><p style=color:green>foo</div><p style=color:brown>[]bar",
   1627    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1628    "<div style=\"color:rgb(0, 0, 255)\"><p style=\"color:rgb(0, 128, 0)\">foo{}<font color=\"#a52a2a\">bar</font></p></div>",
   1629    [true,true,true],
   1630    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1631 ["<p style=color:blue>foo<div style=color:brown><p style=color:green>[]bar",
   1632    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1633    "<p style=\"color:rgb(0, 0, 255)\">foo{}<span style=\"color:rgb(0, 128, 0)\">bar</span></p>",
   1634    [true,true,true],
   1635    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1636 ["<p style=color:blue>foo<div style=color:brown><p style=color:green>[]bar",
   1637    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1638    "<p style=\"color:rgb(0, 0, 255)\">foo{}<font color=\"#008000\">bar</font></p>",
   1639    [true,true,true],
   1640    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1641 ["<p style=color:blue>foo<div style=color:brown><p style=color:green>[]bar",
   1642    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1643    "<p style=\"color:rgb(0, 0, 255)\">foo{}<span style=\"color:rgb(0, 128, 0)\">bar</span></p>",
   1644    [true,true,true],
   1645    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1646 ["<p style=color:blue>foo<div style=color:brown><p style=color:green>[]bar",
   1647    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1648    "<p style=\"color:rgb(0, 0, 255)\">foo{}<font color=\"#008000\">bar</font></p>",
   1649    [true,true,true],
   1650    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1651 ["foo[bar]baz",
   1652    [["delete",""]],
   1653    "foo[]baz",
   1654    [true],
   1655    {"delete":[false,false,"",false,false,""]}],
   1656 ["<p>foo<span style=color:#aBcDeF>[bar]</span>baz",
   1657    [["stylewithcss","true"],["delete",""]],
   1658    "<p>foo{}baz</p>",
   1659    [true,true],
   1660    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1661 ["<p>foo<span style=color:#aBcDeF>[bar]</span>baz",
   1662    [["stylewithcss","false"],["delete",""]],
   1663    "<p>foo{}baz</p>",
   1664    [true,true],
   1665    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1666 ["<p>foo<span style=color:#aBcDeF>{bar}</span>baz",
   1667    [["stylewithcss","true"],["delete",""]],
   1668    "<p>foo{}baz</p>",
   1669    [true,true],
   1670    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1671 ["<p>foo<span style=color:#aBcDeF>{bar}</span>baz",
   1672    [["stylewithcss","false"],["delete",""]],
   1673    "<p>foo{}baz</p>",
   1674    [true,true],
   1675    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1676 ["<p>foo{<span style=color:#aBcDeF>bar</span>}baz",
   1677    [["stylewithcss","true"],["delete",""]],
   1678    "<p>foo{}baz</p>",
   1679    [true,true],
   1680    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1681 ["<p>foo{<span style=color:#aBcDeF>bar</span>}baz",
   1682    [["stylewithcss","false"],["delete",""]],
   1683    "<p>foo{}baz</p>",
   1684    [true,true],
   1685    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1686 ["<p>[foo<span style=color:#aBcDeF>bar]</span>baz",
   1687    [["stylewithcss","true"],["delete",""]],
   1688    "<p>{}baz</p>",
   1689    [true,true],
   1690    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1691 ["<p>[foo<span style=color:#aBcDeF>bar]</span>baz",
   1692    [["stylewithcss","false"],["delete",""]],
   1693    "<p>{}baz</p>",
   1694    [true,true],
   1695    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1696 ["<p>{foo<span style=color:#aBcDeF>bar}</span>baz",
   1697    [["stylewithcss","true"],["delete",""]],
   1698    "<p>{}baz</p>",
   1699    [true,true],
   1700    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1701 ["<p>{foo<span style=color:#aBcDeF>bar}</span>baz",
   1702    [["stylewithcss","false"],["delete",""]],
   1703    "<p>{}baz</p>",
   1704    [true,true],
   1705    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1706 ["<p>foo<span style=color:#aBcDeF>[bar</span>baz]",
   1707    [["stylewithcss","true"],["delete",""]],
   1708    "<p>foo{}</p>",
   1709    [true,true],
   1710    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1711 ["<p>foo<span style=color:#aBcDeF>[bar</span>baz]",
   1712    [["stylewithcss","false"],["delete",""]],
   1713    "<p>foo{}</p>",
   1714    [true,true],
   1715    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1716 ["<p>foo<span style=color:#aBcDeF>{bar</span>baz}",
   1717    [["stylewithcss","true"],["delete",""]],
   1718    "<p>foo{}</p>",
   1719    [true,true],
   1720    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1721 ["<p>foo<span style=color:#aBcDeF>{bar</span>baz}",
   1722    [["stylewithcss","false"],["delete",""]],
   1723    "<p>foo{}</p>",
   1724    [true,true],
   1725    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1726 ["<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
   1727    [["stylewithcss","true"],["delete",""]],
   1728    "<p>foo{}quz</p>",
   1729    [true,true],
   1730    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1731 ["<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
   1732    [["stylewithcss","false"],["delete",""]],
   1733    "<p>foo{}quz</p>",
   1734    [true,true],
   1735    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1736 ["foo<b>[bar]</b>baz",
   1737    [["stylewithcss","true"],["delete",""]],
   1738    "foo{}baz",
   1739    [true,true],
   1740    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1741 ["foo<b>[bar]</b>baz",
   1742    [["stylewithcss","false"],["delete",""]],
   1743    "foo{}baz",
   1744    [true,true],
   1745    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1746 ["foo<b>{bar}</b>baz",
   1747    [["stylewithcss","true"],["delete",""]],
   1748    "foo{}baz",
   1749    [true,true],
   1750    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1751 ["foo<b>{bar}</b>baz",
   1752    [["stylewithcss","false"],["delete",""]],
   1753    "foo{}baz",
   1754    [true,true],
   1755    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1756 ["foo{<b>bar</b>}baz",
   1757    [["stylewithcss","true"],["delete",""]],
   1758    "foo{}baz",
   1759    [true,true],
   1760    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   1761 ["foo{<b>bar</b>}baz",
   1762    [["stylewithcss","false"],["delete",""]],
   1763    "foo{}baz",
   1764    [true,true],
   1765    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   1766 ["foo<span>[bar]</span>baz",
   1767    [["delete",""]],
   1768    "foo{}baz",
   1769    [true],
   1770    {"delete":[false,false,"",false,false,""]}],
   1771 ["foo<span>{bar}</span>baz",
   1772    [["delete",""]],
   1773    "foo{}baz",
   1774    [true],
   1775    {"delete":[false,false,"",false,false,""]}],
   1776 ["foo{<span>bar</span>}baz",
   1777    [["delete",""]],
   1778    "foo{}baz",
   1779    [true],
   1780    {"delete":[false,false,"",false,false,""]}],
   1781 ["<b>foo[bar</b><i>baz]quz</i>",
   1782    [["delete",""]],
   1783    "<b>foo[]</b><i>quz</i>",
   1784    [true],
   1785    {"delete":[false,false,"",false,false,""]}],
   1786 ["<p>foo</p><p>[bar]</p><p>baz</p>",
   1787    [["delete",""]],
   1788    "<p>foo</p><p>{}<br></p><p>baz</p>",
   1789    [true],
   1790    {"delete":[false,false,"",false,false,""]}],
   1791 ["<p>foo</p><p>{bar}</p><p>baz</p>",
   1792    [["delete",""]],
   1793    "<p>foo</p><p>{}<br></p><p>baz</p>",
   1794    [true],
   1795    {"delete":[false,false,"",false,false,""]}],
   1796 ["<p>foo</p><p>{bar</p>}<p>baz</p>",
   1797    [["delete",""]],
   1798    "<p>foo</p><p>{}<br></p><p>baz</p>",
   1799    [true],
   1800    {"delete":[false,false,"",false,false,""]}],
   1801 ["<p>foo</p>{<p>bar}</p><p>baz</p>",
   1802    [["defaultparagraphseparator","div"],["delete",""]],
   1803    "<p>foo</p>{}<br><p>baz</p>",
   1804    [true,true],
   1805    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1806 ["<p>foo</p>{<p>bar}</p><p>baz</p>",
   1807    [["defaultparagraphseparator","p"],["delete",""]],
   1808    "<p>foo</p>{}<br><p>baz</p>",
   1809    [true,true],
   1810    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1811 ["<p>foo</p>{<p>bar</p>}<p>baz</p>",
   1812    [["defaultparagraphseparator","div"],["delete",""]],
   1813    "<p>foo</p>{}<p>baz</p>",
   1814    [true,true],
   1815    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1816 ["<p>foo</p>{<p>bar</p>}<p>baz</p>",
   1817    [["defaultparagraphseparator","p"],["delete",""]],
   1818    "<p>foo</p>{}<p>baz</p>",
   1819    [true,true],
   1820    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1821 ["<p>foo[bar<p>baz]quz",
   1822    [["defaultparagraphseparator","div"],["delete",""]],
   1823    "<p>foo{}quz</p>",
   1824    [true,true],
   1825    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1826 ["<p>foo[bar<p>baz]quz",
   1827    [["defaultparagraphseparator","p"],["delete",""]],
   1828    "<p>foo{}quz</p>",
   1829    [true,true],
   1830    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1831 ["<p>foo[bar<div>baz]quz</div>",
   1832    [["defaultparagraphseparator","div"],["delete",""]],
   1833    "<p>foo{}quz</p>",
   1834    [true,true],
   1835    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1836 ["<p>foo[bar<div>baz]quz</div>",
   1837    [["defaultparagraphseparator","p"],["delete",""]],
   1838    "<p>foo{}quz</p>",
   1839    [true,true],
   1840    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1841 ["<p>foo[bar<h1>baz]quz</h1>",
   1842    [["delete",""]],
   1843    "<p>foo{}quz</p>",
   1844    [true],
   1845    {"delete":[false,false,"",false,false,""]}],
   1846 ["<div>foo[bar</div><p>baz]quz",
   1847    [["defaultparagraphseparator","div"],["delete",""]],
   1848    "<div>foo{}quz</div>",
   1849    [true,true],
   1850    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1851 ["<div>foo[bar</div><p>baz]quz",
   1852    [["defaultparagraphseparator","p"],["delete",""]],
   1853    "<div>foo{}quz</div>",
   1854    [true,true],
   1855    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1856 ["<blockquote>foo[bar</blockquote><pre>baz]quz</pre>",
   1857    [["delete",""]],
   1858    "<blockquote>foo{}quz</blockquote>",
   1859    [true],
   1860    {"delete":[false,false,"",false,false,""]}],
   1861 ["<p><b>foo[bar</b><p>baz]quz",
   1862    [["defaultparagraphseparator","div"],["delete",""]],
   1863    "<p><b>foo</b>{}quz</p>",
   1864    [true,true],
   1865    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1866 ["<p><b>foo[bar</b><p>baz]quz",
   1867    [["defaultparagraphseparator","p"],["delete",""]],
   1868    "<p><b>foo</b>{}quz</p>",
   1869    [true,true],
   1870    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1871 ["<div><p>foo[bar</div><p>baz]quz",
   1872    [["defaultparagraphseparator","div"],["delete",""]],
   1873    "<div><p>foo{}quz</p></div>",
   1874    [true,true],
   1875    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1876 ["<div><p>foo[bar</div><p>baz]quz",
   1877    [["defaultparagraphseparator","p"],["delete",""]],
   1878    "<div><p>foo{}quz</p></div>",
   1879    [true,true],
   1880    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1881 ["<p>foo[bar<blockquote><p>baz]quz<p>qoz</blockquote",
   1882    [["defaultparagraphseparator","div"],["delete",""]],
   1883    "<p>foo{}quz</p><blockquote><p>qoz</p></blockquote>",
   1884    [true,true],
   1885    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1886 ["<p>foo[bar<blockquote><p>baz]quz<p>qoz</blockquote",
   1887    [["defaultparagraphseparator","p"],["delete",""]],
   1888    "<p>foo{}quz</p><blockquote><p>qoz</p></blockquote>",
   1889    [true,true],
   1890    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1891 ["<p>foo[bar<p style=color:blue>baz]quz",
   1892    [["stylewithcss","true"],["defaultparagraphseparator","div"],["delete",""]],
   1893    "<p>foo{}<span style=\"color:rgb(0, 0, 255)\">quz</span></p>",
   1894    [true,true,true],
   1895    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1896 ["<p>foo[bar<p style=color:blue>baz]quz",
   1897    [["stylewithcss","false"],["defaultparagraphseparator","div"],["delete",""]],
   1898    "<p>foo{}<font color=\"#0000ff\">quz</font></p>",
   1899    [true,true,true],
   1900    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1901 ["<p>foo[bar<p style=color:blue>baz]quz",
   1902    [["stylewithcss","true"],["defaultparagraphseparator","p"],["delete",""]],
   1903    "<p>foo{}<span style=\"color:rgb(0, 0, 255)\">quz</span></p>",
   1904    [true,true,true],
   1905    {"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1906 ["<p>foo[bar<p style=color:blue>baz]quz",
   1907    [["stylewithcss","false"],["defaultparagraphseparator","p"],["delete",""]],
   1908    "<p>foo{}<font color=\"#0000ff\">quz</font></p>",
   1909    [true,true,true],
   1910    {"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1911 ["<p>foo[bar<p><b>baz]quz</b>",
   1912    [["defaultparagraphseparator","div"],["delete",""]],
   1913    "<p>foo{}<b>quz</b></p>",
   1914    [true,true],
   1915    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1916 ["<p>foo[bar<p><b>baz]quz</b>",
   1917    [["defaultparagraphseparator","p"],["delete",""]],
   1918    "<p>foo{}<b>quz</b></p>",
   1919    [true,true],
   1920    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1921 ["<div><p>foo<p>[bar<p>baz]</div>",
   1922    [["defaultparagraphseparator","div"],["delete",""]],
   1923    "<div><p>foo</p><p>{}<br></p></div>",
   1924    [true,true],
   1925    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1926 ["<div><p>foo<p>[bar<p>baz]</div>",
   1927    [["defaultparagraphseparator","p"],["delete",""]],
   1928    "<div><p>foo</p><p>{}<br></p></div>",
   1929    [true,true],
   1930    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1931 ["foo[<br>]bar",
   1932    [["delete",""]],
   1933    "foo{}bar",
   1934    [true],
   1935    {"delete":[false,false,"",false,false,""]}],
   1936 ["<p>foo[</p><p>]bar</p>",
   1937    [["defaultparagraphseparator","div"],["delete",""]],
   1938    "<p>foo{}bar</p>",
   1939    [true,true],
   1940    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1941 ["<p>foo[</p><p>]bar</p>",
   1942    [["defaultparagraphseparator","p"],["delete",""]],
   1943    "<p>foo{}bar</p>",
   1944    [true,true],
   1945    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1946 ["<p>foo[</p><p>]bar<br>baz</p>",
   1947    [["defaultparagraphseparator","div"],["delete",""]],
   1948    "<p>foo{}bar<br>baz</p>",
   1949    [true,true],
   1950    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1951 ["<p>foo[</p><p>]bar<br>baz</p>",
   1952    [["defaultparagraphseparator","p"],["delete",""]],
   1953    "<p>foo{}bar<br>baz</p>",
   1954    [true,true],
   1955    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1956 ["foo[<p>]bar</p>",
   1957    [["defaultparagraphseparator","div"],["delete",""]],
   1958    "foo{}bar",
   1959    [true,true],
   1960    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1961 ["foo[<p>]bar</p>",
   1962    [["defaultparagraphseparator","p"],["delete",""]],
   1963    "foo{}bar",
   1964    [true,true],
   1965    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1966 ["foo{<p>}bar</p>",
   1967    [["defaultparagraphseparator","div"],["delete",""]],
   1968    "foo{}bar",
   1969    [true,true],
   1970    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1971 ["foo{<p>}bar</p>",
   1972    [["defaultparagraphseparator","p"],["delete",""]],
   1973    "foo{}bar",
   1974    [true,true],
   1975    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1976 ["foo[<p>]bar<br>baz</p>",
   1977    [["delete",""]],
   1978    "foo{}bar<p>baz</p>",
   1979    [true],
   1980    {"delete":[false,false,"",false,false,""]}],
   1981 ["foo[<p>]bar</p>baz",
   1982    [["defaultparagraphseparator","div"],["delete",""]],
   1983    "foo{}bar<br>baz",
   1984    [true,true],
   1985    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1986 ["foo[<p>]bar</p>baz",
   1987    [["defaultparagraphseparator","p"],["delete",""]],
   1988    "foo{}bar<br>baz",
   1989    [true,true],
   1990    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   1991 ["foo{<p>bar</p>}baz",
   1992    [["defaultparagraphseparator","div"],["delete",""]],
   1993    "foo{}baz",
   1994    [true,true],
   1995    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   1996 ["foo{<p>bar</p>}baz",
   1997    [["defaultparagraphseparator","p"],["delete",""]],
   1998    "foo{}baz",
   1999    [true,true],
   2000    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2001 ["foo<p>{bar</p>}baz",
   2002    [["delete",""]],
   2003    "foo<p>{}baz</p>",
   2004    [true],
   2005    {"delete":[false,false,"",false,false,""]}],
   2006 ["foo{<p>bar}</p>baz",
   2007    [["defaultparagraphseparator","div"],["delete",""]],
   2008    "foo{}<br>baz",
   2009    [true,true],
   2010    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2011 ["foo{<p>bar}</p>baz",
   2012    [["defaultparagraphseparator","p"],["delete",""]],
   2013    "foo{}<br>baz",
   2014    [true,true],
   2015    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2016 ["<p>foo[</p>]bar",
   2017    [["delete",""]],
   2018    "<p>foo{}bar</p>",
   2019    [true],
   2020    {"delete":[false,false,"",false,false,""]}],
   2021 ["<p>foo{</p>}bar",
   2022    [["delete",""]],
   2023    "<p>foo{}bar</p>",
   2024    [true],
   2025    {"delete":[false,false,"",false,false,""]}],
   2026 ["<p>foo[</p>]bar<br>baz",
   2027    [["delete",""]],
   2028    "<p>foo{}bar</p>baz",
   2029    [true],
   2030    {"delete":[false,false,"",false,false,""]}],
   2031 ["<p>foo[</p>]bar<p>baz</p>",
   2032    [["delete",""]],
   2033    "<p>foo{}bar</p><p>baz</p>",
   2034    [true],
   2035    {"delete":[false,false,"",false,false,""]}],
   2036 ["foo[<div><p>]bar</div>",
   2037    [["defaultparagraphseparator","div"],["delete",""]],
   2038    "foo{}bar",
   2039    [true,true],
   2040    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2041 ["foo[<div><p>]bar</div>",
   2042    [["defaultparagraphseparator","p"],["delete",""]],
   2043    "foo{}bar",
   2044    [true,true],
   2045    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2046 ["<div><p>foo[</p></div>]bar",
   2047    [["delete",""]],
   2048    "<div><p>foo{}bar</p></div>",
   2049    [true],
   2050    {"delete":[false,false,"",false,false,""]}],
   2051 ["foo[<div><p>]bar</p>baz</div>",
   2052    [["defaultparagraphseparator","div"],["delete",""]],
   2053    "foo{}bar<div>baz</div>",
   2054    [true,true],
   2055    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2056 ["foo[<div><p>]bar</p>baz</div>",
   2057    [["defaultparagraphseparator","p"],["delete",""]],
   2058    "foo{}bar<div>baz</div>",
   2059    [true,true],
   2060    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2061 ["foo[<div>]bar<p>baz</p></div>",
   2062    [["delete",""]],
   2063    "foo{}bar<div><p>baz</p></div>",
   2064    [true],
   2065    {"delete":[false,false,"",false,false,""]}],
   2066 ["<div><p>foo</p>bar[</div>]baz",
   2067    [["delete",""]],
   2068    "<div><p>foo</p>bar{}baz</div>",
   2069    [true],
   2070    {"delete":[false,false,"",false,false,""]}],
   2071 ["<div>foo<p>bar[</p></div>]baz",
   2072    [["delete",""]],
   2073    "<div>foo<p>bar{}baz</p></div>",
   2074    [true],
   2075    {"delete":[false,false,"",false,false,""]}],
   2076 ["<p>foo<br>{</p>]bar",
   2077    [["delete",""]],
   2078    "<p>foo{}bar</p>",
   2079    [true],
   2080    {"delete":[false,false,"",false,false,""]}],
   2081 ["<p>foo<br><br>{</p>]bar",
   2082    [["delete",""]],
   2083    "<p>foo<br>{}bar</p>",
   2084    [true],
   2085    {"delete":[false,false,"",false,false,""]}],
   2086 ["foo<br>{<p>]bar</p>",
   2087    [["defaultparagraphseparator","div"],["delete",""]],
   2088    "foo{}bar",
   2089    [true,true],
   2090    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2091 ["foo<br>{<p>]bar</p>",
   2092    [["defaultparagraphseparator","p"],["delete",""]],
   2093    "foo{}bar",
   2094    [true,true],
   2095    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2096 ["foo<br><br>{<p>]bar</p>",
   2097    [["defaultparagraphseparator","div"],["delete",""]],
   2098    "foo<br><p>bar</p>",
   2099    [true,true],
   2100    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2101 ["foo<br><br>{<p>]bar</p>",
   2102    [["defaultparagraphseparator","p"],["delete",""]],
   2103    "foo<br><p>bar</p>",
   2104    [true,true],
   2105    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2106 ["<p>foo<br>{</p><p>}bar</p>",
   2107    [["defaultparagraphseparator","div"],["delete",""]],
   2108    "<p>foo{}bar</p>",
   2109    [true,true],
   2110    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2111 ["<p>foo<br>{</p><p>}bar</p>",
   2112    [["defaultparagraphseparator","p"],["delete",""]],
   2113    "<p>foo{}bar</p>",
   2114    [true,true],
   2115    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2116 ["<p>foo<br><br>{</p><p>}bar</p>",
   2117    [["defaultparagraphseparator","div"],["delete",""]],
   2118    "<p>foo<br>{}bar</p>",
   2119    [true,true],
   2120    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2121 ["<p>foo<br><br>{</p><p>}bar</p>",
   2122    [["defaultparagraphseparator","p"],["delete",""]],
   2123    "<p>foo<br>{}bar</p>",
   2124    [true,true],
   2125    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2126 ["<table><tbody><tr><th>foo<th>[bar]<th>baz<tr><td>quz<td>qoz<td>qiz</table>",
   2127    [["delete",""]],
   2128    "<table><tbody><tr><th>foo</th><th>{}<br></th><th>baz</th></tr><tr><td>quz</td><td>qoz</td><td>qiz</td></tr></tbody></table>",
   2129    [true],
   2130    {"delete":[false,false,"",false,false,""]}],
   2131 ["<table><tbody><tr><th>foo<th>ba[r<th>b]az<tr><td>quz<td>qoz<td>qiz</table>",
   2132    [["delete",""]],
   2133    "<table><tbody><tr><th>foo</th><th>ba[]</th><th>az</th></tr><tr><td>quz</td><td>qoz</td><td>qiz</td></tr></tbody></table>",
   2134    [true],
   2135    {"delete":[false,false,"",false,false,""]}],
   2136 ["<table><tbody><tr><th>fo[o<th>bar<th>b]az<tr><td>quz<td>qoz<td>qiz</table>",
   2137    [["delete",""]],
   2138    "<table><tbody><tr><th>fo[]</th><th><br></th><th>az</th></tr><tr><td>quz</td><td>qoz</td><td>qiz</td></tr></tbody></table>",
   2139    [true],
   2140    {"delete":[false,false,"",false,false,""]}],
   2141 ["<table><tbody><tr><th>foo<th>bar<th>ba[z<tr><td>q]uz<td>qoz<td>qiz</table>",
   2142    [["delete",""]],
   2143    "<table><tbody><tr><th>foo</th><th>bar</th><th>ba[]</th></tr><tr><td>uz</td><td>qoz</td><td>qiz</td></tr></tbody></table>",
   2144    [true],
   2145    {"delete":[false,false,"",false,false,""]}],
   2146 ["<table><tbody><tr><th>[foo<th>bar<th>baz]<tr><td>quz<td>qoz<td>qiz</table>",
   2147    [["delete",""]],
   2148    "<table><tbody><tr><th>{}<br></th><th><br></th><th><br></th></tr><tr><td>quz</td><td>qoz</td><td>qiz</td></tr></tbody></table>",
   2149    [true],
   2150    {"delete":[false,false,"",false,false,""]}],
   2151 ["<table><tbody><tr><th>[foo<th>bar<th>baz<tr><td>quz<td>qoz<td>qiz]</table>",
   2152    [["delete",""]],
   2153    "<table><tbody><tr><th>{}<br></th><th><br></th><th><br></th></tr><tr><td><br></td><td><br></td><td><br></td></tr></tbody></table>",
   2154    [true],
   2155    {"delete":[false,false,"",false,false,""]}],
   2156 ["{<table><tbody><tr><th>foo<th>bar<th>baz<tr><td>quz<td>qoz<td>qiz</table>}",
   2157    [["delete",""]],
   2158    "{}<br>",
   2159    [true],
   2160    {"delete":[false,false,"",false,false,""]}],
   2161 ["<table><tbody><tr><td>foo<td>ba[r<tr><td>baz<td>quz<tr><td>q]oz<td>qiz</table>",
   2162    [["delete",""]],
   2163    "<table><tbody><tr><td>foo</td><td>ba[]</td></tr><tr><td><br></td><td><br></td></tr><tr><td>oz</td><td>qiz</td></tr></tbody></table>",
   2164    [true],
   2165    {"delete":[false,false,"",false,false,""]}],
   2166 ["<p>fo[o<table><tr><td>b]ar</table><p>baz",
   2167    [["delete",""]],
   2168    "<p>fo[]</p><table><tbody><tr><td>ar</td></tr></tbody></table><p>baz</p>",
   2169    [true],
   2170    {"delete":[false,false,"",false,false,""]}],
   2171 ["<p>foo<table><tr><td>ba[r</table><p>b]az",
   2172    [["delete",""]],
   2173    "<p>foo</p><table><tbody><tr><td>ba[]</td></tr></tbody></table><p>az</p>",
   2174    [true],
   2175    {"delete":[false,false,"",false,false,""]}],
   2176 ["<p>fo[o<table><tr><td>bar</table><p>b]az",
   2177    [["defaultparagraphseparator","div"],["delete",""]],
   2178    "<p>fo{}az</p>",
   2179    [true,true],
   2180    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2181 ["<p>fo[o<table><tr><td>bar</table><p>b]az",
   2182    [["defaultparagraphseparator","p"],["delete",""]],
   2183    "<p>fo{}az</p>",
   2184    [true,true],
   2185    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2186 ["<p>foo<ol><li>ba[r<li>b]az</ol><p>quz",
   2187    [["delete",""]],
   2188    "<p>foo</p><ol><li>ba{}az</li></ol><p>quz</p>",
   2189    [true],
   2190    {"delete":[false,false,"",false,false,""]}],
   2191 ["<p>foo<ol><li>bar<li>[baz]</ol><p>quz",
   2192    [["delete",""]],
   2193    "<p>foo</p><ol><li>bar</li><li>{}<br></li></ol><p>quz</p>",
   2194    [true],
   2195    {"delete":[false,false,"",false,false,""]}],
   2196 ["<p>fo[o<ol><li>b]ar<li>baz</ol><p>quz",
   2197    [["delete",""]],
   2198    "<p>fo{}ar</p><ol><li>baz</li></ol><p>quz</p>",
   2199    [true],
   2200    {"delete":[false,false,"",false,false,""]}],
   2201 ["<p>foo<ol><li>bar<li>ba[z</ol><p>q]uz",
   2202    [["defaultparagraphseparator","div"],["delete",""]],
   2203    "<p>foo</p><ol><li>bar</li><li>ba{}uz</li></ol>",
   2204    [true,true],
   2205    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2206 ["<p>foo<ol><li>bar<li>ba[z</ol><p>q]uz",
   2207    [["defaultparagraphseparator","p"],["delete",""]],
   2208    "<p>foo</p><ol><li>bar</li><li>ba{}uz</li></ol>",
   2209    [true,true],
   2210    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2211 ["<p>fo[o<ol><li>bar<li>b]az</ol><p>quz",
   2212    [["delete",""]],
   2213    "<p>fo{}az</p><p>quz</p>",
   2214    [true],
   2215    {"delete":[false,false,"",false,false,""]}],
   2216 ["<p>fo[o<ol><li>bar<li>baz</ol><p>q]uz",
   2217    [["defaultparagraphseparator","div"],["delete",""]],
   2218    "<p>fo{}uz</p>",
   2219    [true,true],
   2220    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2221 ["<p>fo[o<ol><li>bar<li>baz</ol><p>q]uz",
   2222    [["defaultparagraphseparator","p"],["delete",""]],
   2223    "<p>fo{}uz</p>",
   2224    [true,true],
   2225    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2226 ["<ol><li>fo[o</ol><ol><li>b]ar</ol>",
   2227    [["delete",""]],
   2228    "<ol><li>fo{}ar</li></ol>",
   2229    [true],
   2230    {"delete":[false,false,"",false,false,""]}],
   2231 ["<ol><li>fo[o</ol><ul><li>b]ar</ul>",
   2232    [["delete",""]],
   2233    "<ol><li>fo{}ar</li></ol>",
   2234    [true],
   2235    {"delete":[false,false,"",false,false,""]}],
   2236 ["foo[<ol><li>]bar</ol>",
   2237    [["delete",""]],
   2238    "foo{}bar",
   2239    [true],
   2240    {"delete":[false,false,"",false,false,""]}],
   2241 ["<ol><li>foo[<li>]bar</ol>",
   2242    [["delete",""]],
   2243    "<ol><li>foo{}bar</li></ol>",
   2244    [true],
   2245    {"delete":[false,false,"",false,false,""]}],
   2246 ["foo[<dl><dt>]bar<dd>baz</dl>",
   2247    [["delete",""]],
   2248    "foo{}bar<dl><dd>baz</dd></dl>",
   2249    [true],
   2250    {"delete":[false,false,"",false,false,""]}],
   2251 ["foo[<dl><dd>]bar</dl>",
   2252    [["delete",""]],
   2253    "foo{}bar",
   2254    [true],
   2255    {"delete":[false,false,"",false,false,""]}],
   2256 ["<dl><dt>foo[<dd>]bar</dl>",
   2257    [["delete",""]],
   2258    "<dl><dt>foo{}bar</dt></dl>",
   2259    [true],
   2260    {"delete":[false,false,"",false,false,""]}],
   2261 ["<dl><dt>foo[<dt>]bar<dd>baz</dl>",
   2262    [["delete",""]],
   2263    "<dl><dt>foo{}bar</dt><dd>baz</dd></dl>",
   2264    [true],
   2265    {"delete":[false,false,"",false,false,""]}],
   2266 ["<dl><dt>foo<dd>bar[<dd>]baz</dl>",
   2267    [["delete",""]],
   2268    "<dl><dt>foo</dt><dd>bar{}baz</dd></dl>",
   2269    [true],
   2270    {"delete":[false,false,"",false,false,""]}],
   2271 ["<b>foo [&nbsp;</b>bar]",
   2272    [["delete",""]],
   2273    "<b>foo&nbsp;[]</b>",
   2274    [true],
   2275    {"delete":[false,false,"",false,false,""]}],
   2276 ["foo<b> [&nbsp;bar]</b>",
   2277    [["delete",""]],
   2278    // One white-space only `Text` should have an NBSP to make it visible without
   2279    // depending on the surrounding content.
   2280    "foo<b>&nbsp;</b>",
   2281    [true],
   2282    {"delete":[false,false,"",false,false,""]}],
   2283 ["<b>[foo&nbsp;] </b>bar",
   2284    [["delete",""]],
   2285    // One white-space only `Text` should have an NBSP to make it visible without
   2286    // depending on the surrounding content.
   2287    "<b>&nbsp;</b>bar",
   2288    [true],
   2289    {"delete":[false,false,"",false,false,""]}],
   2290 ["[foo<b>&nbsp;] bar</b>",
   2291    [["delete",""]],
   2292    // The first white-space of a Text should always be an NBSP.
   2293    "<b>&nbsp;bar</b>",
   2294    [true],
   2295    {"delete":[false,false,"",false,false,""]}],
   2296 ["<p style=display:inline>fo[o<p style=display:inline>b]ar",
   2297    [["delete",""]],
   2298    "<p style=\"display:inline\">fo[]</p><p style=\"display:inline\">ar</p>",
   2299    [true],
   2300    {"delete":[false,false,"",false,false,""]}],
   2301 ["<span style=display:block>fo[o</span><span style=display:block>b]ar</span>",
   2302    [["stylewithcss","true"],["delete",""]],
   2303    "<span style=\"display:block\">fo{}ar</span>",
   2304    [true,true],
   2305    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   2306 ["<span style=display:block>fo[o</span><span style=display:block>b]ar</span>",
   2307    [["stylewithcss","false"],["delete",""]],
   2308    "<span style=\"display:block\">fo{}ar</span>",
   2309    [true,true],
   2310    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   2311 ["<span style=display:inline-block>fo[o</span><span style=display:inline-block>b]ar</span>",
   2312    [["delete",""]],
   2313    "<span style=\"display:inline-block\">fo[]</span><span style=\"display:inline-block\">ar</span>",
   2314    [true],
   2315    {"delete":[false,false,"",false,false,""]}],
   2316 ["<span style=display:inline-table>fo[o</span><span style=display:inline-table>b]ar</span>",
   2317    [["delete",""]],
   2318    "<span style=\"display:inline-table\">fo[]</span><span style=\"display:inline-table\">ar</span>",
   2319    [true],
   2320    {"delete":[false,false,"",false,false,""]}],
   2321 ["<span style=display:none>fo[o</span><span style=display:none>b]ar</span>",
   2322    [["delete",""]],
   2323    "<span style=\"display:none\">fo[]</span><span style=\"display:none\">ar</span>",
   2324    [true],
   2325    {"delete":[false,false,"",false,false,""]}],
   2326 ["<quasit style=display:block>fo[o</quasit><quasit style=display:block>b]ar</quasit>",
   2327    [["stylewithcss","true"],["delete",""]],
   2328    "<quasit style=\"display:block\">fo{}ar</quasit>",
   2329    [true,true],
   2330    {"stylewithcss":[false,false,"",false,true,""],"delete":[false,false,"",false,false,""]}],
   2331 ["<quasit style=display:block>fo[o</quasit><quasit style=display:block>b]ar</quasit>",
   2332    [["stylewithcss","false"],["delete",""]],
   2333    "<quasit style=\"display:block\">fo{}ar</quasit>",
   2334    [true,true],
   2335    {"stylewithcss":[false,true,"",false,false,""],"delete":[false,false,"",false,false,""]}],
   2336 ["<ol><li>foo</ol>{}<br><ol><li>bar</ol>",
   2337    [["delete",""]],
   2338    "<ol><li>foo{}</li><li>bar</li></ol>",
   2339    [true],
   2340    {"delete":[false,false,"",false,false,""]}],
   2341 ["<ol><li>foo</ol><p>{}<br></p><ol><li>bar</ol>",
   2342    [["defaultparagraphseparator","div"],["delete",""]],
   2343    "<ol><li>foo{}</li><li>bar</li></ol>",
   2344    [true,true],
   2345    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2346 ["<ol><li>foo</ol><p>{}<br></p><ol><li>bar</ol>",
   2347    [["defaultparagraphseparator","p"],["delete",""]],
   2348    "<ol><li>foo{}</li><li>bar</li></ol>",
   2349    [true,true],
   2350    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2351 ["<ol><li><p>foo</ol><p>{}<br></p><ol><li>bar</ol>",
   2352    [["defaultparagraphseparator","div"],["delete",""]],
   2353    "<ol><li><p>foo{}</p></li><li>bar</li></ol>",
   2354    [true,true],
   2355    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2356 ["<ol><li><p>foo</ol><p>{}<br></p><ol><li>bar</ol>",
   2357    [["defaultparagraphseparator","p"],["delete",""]],
   2358    "<ol><li><p>foo{}</p></li><li>bar</li></ol>",
   2359    [true,true],
   2360    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2361 ["<ol id=a><li>foo</ol>{}<br><ol><li>bar</ol>",
   2362    [["delete",""]],
   2363    "<ol id=\"a\"><li>foo{}</li><li>bar</li></ol>",
   2364    [true],
   2365    {"delete":[false,false,"",false,false,""]}],
   2366 ["<ol><li>foo</ol>{}<br><ol id=b><li>bar</ol>",
   2367    [["delete",""]],
   2368    "<ol><li>foo{}</li><li>bar</li></ol>",
   2369    [true],
   2370    {"delete":[false,false,"",false,false,""]}],
   2371 ["<ol id=a><li>foo</ol>{}<br><ol id=b><li>bar</ol>",
   2372    [["delete",""]],
   2373    "<ol id=\"a\"><li>foo{}</li><li>bar</li></ol>",
   2374    [true],
   2375    {"delete":[false,false,"",false,false,""]}],
   2376 ["<ol class=a><li>foo</ol>{}<br><ol class=b><li>bar</ol>",
   2377    [["delete",""]],
   2378    "<ol class=\"a\"><li>foo{}</li><li>bar</li></ol>",
   2379    [true],
   2380    {"delete":[false,false,"",false,false,""]}],
   2381 ["<ol><ol><li>foo</ol><li>{}<br></li><ol><li>bar</ol></ol>",
   2382    [["delete",""]],
   2383    "<ol><ol><li>foo{}</li><li>bar</li></ol></ol>",
   2384    [true],
   2385    {"delete":[false,false,"",false,false,""]}],
   2386 ["<ol><li>foo[</ol>bar]<ol><li>baz</ol>",
   2387    [["delete",""]],
   2388    "<ol><li>foo{}</li><li>baz</li></ol>",
   2389    [true],
   2390    {"delete":[false,false,"",false,false,""]}],
   2391 ["<ol><li>foo[</ol><p>bar]<ol><li>baz</ol>",
   2392    [["defaultparagraphseparator","div"],["delete",""]],
   2393    "<ol><li>foo{}</li><li>baz</li></ol>",
   2394    [true,true],
   2395    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2396 ["<ol><li>foo[</ol><p>bar]<ol><li>baz</ol>",
   2397    [["defaultparagraphseparator","p"],["delete",""]],
   2398    "<ol><li>foo{}</li><li>baz</li></ol>",
   2399    [true,true],
   2400    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2401 ["<ol><li><p>foo[</ol><p>bar]<ol><li>baz</ol>",
   2402    [["defaultparagraphseparator","div"],["delete",""]],
   2403    "<ol><li><p>foo{}</p></li><li>baz</li></ol>",
   2404    [true,true],
   2405    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2406 ["<ol><li><p>foo[</ol><p>bar]<ol><li>baz</ol>",
   2407    [["defaultparagraphseparator","p"],["delete",""]],
   2408    "<ol><li><p>foo{}</p></li><li>baz</li></ol>",
   2409    [true,true],
   2410    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2411 ["<ol><li>foo[]</ol><ol><li>bar</ol>",
   2412    [["delete",""]],
   2413    "<ol><li>fo[]</li></ol><ol><li>bar</li></ol>",
   2414    [true],
   2415    {"delete":[false,false,"",false,false,""]}],
   2416 ["<ol><li>foo</ol>[bar<ol><li>]baz</ol>",
   2417    [["delete",""]],
   2418    "<ol><li>foo</li></ol><ol><li>baz</li></ol>",
   2419    [true],
   2420    {"delete":[false,false,"",false,false,""]}],
   2421 ["<ol><li>foo</ol><p>[bar<ol><li>]baz</ol>",
   2422    [["delete",""]],
   2423    "<ol><li>foo</li></ol><p>{}baz</p>",
   2424    [true],
   2425    {"delete":[false,false,"",false,false,""]}],
   2426 ["<ol><li>foo</ol><p>[bar<ol><li><p>]baz</ol>",
   2427    [["defaultparagraphseparator","div"],["delete",""]],
   2428    "<ol><li>foo</li></ol><p>{}baz</p>",
   2429    [true,true],
   2430    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2431 ["<ol><li>foo</ol><p>[bar<ol><li><p>]baz</ol>",
   2432    [["defaultparagraphseparator","p"],["delete",""]],
   2433    "<ol><li>foo</li></ol><p>{}baz</p>",
   2434    [true,true],
   2435    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2436 ["<ol><li>foo</ol><ol><li>b[]ar</ol>",
   2437    [["delete",""]],
   2438    "<ol><li>foo</li></ol><ol><li>{}ar</li></ol>",
   2439    [true],
   2440    {"delete":[false,false,"",false,false,""]}],
   2441 ["<ol><ol><li>foo[</ol><li>bar</ol>baz]<ol><li>quz</ol>",
   2442    [["delete",""]],
   2443    "<ol><ol><li>foo{}</li></ol><li>quz</li></ol>",
   2444    [true],
   2445    {"delete":[false,false,"",false,false,""]}],
   2446 ["<ul><li>foo</ul>{}<br><ul><li>bar</ul>",
   2447    [["delete",""]],
   2448    "<ul><li>foo{}</li><li>bar</li></ul>",
   2449    [true],
   2450    {"delete":[false,false,"",false,false,""]}],
   2451 ["<ul><li>foo</ul><p>{}<br></p><ul><li>bar</ul>",
   2452    [["defaultparagraphseparator","div"],["delete",""]],
   2453    "<ul><li>foo{}</li><li>bar</li></ul>",
   2454    [true,true],
   2455    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2456 ["<ul><li>foo</ul><p>{}<br></p><ul><li>bar</ul>",
   2457    [["defaultparagraphseparator","p"],["delete",""]],
   2458    "<ul><li>foo{}</li><li>bar</li></ul>",
   2459    [true,true],
   2460    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2461 ["<ol><li>foo[<li>bar]</ol><ol><li>baz</ol><ol><li>quz</ol>",
   2462    [["delete",""]],
   2463    "<ol><li>foo{}</li><li>baz</li><li>quz</li></ol>",
   2464    [true],
   2465    {"delete":[false,false,"",false,false,""]}],
   2466 ["<ol><li>foo</ol>{}<br><ul><li>bar</ul>",
   2467    [["delete",""]],
   2468    "<ol><li>foo{}</li></ol><ul><li>bar</li></ul>",
   2469    [true],
   2470    {"delete":[false,false,"",false,false,""]}],
   2471 ["<ol><li>foo</ol><p>{}<br></p><ul><li>bar</ul>",
   2472    [["defaultparagraphseparator","div"],["delete",""]],
   2473    "<ol><li>foo{}</li></ol><ul><li>bar</li></ul>",
   2474    [true,true],
   2475    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2476 ["<ol><li>foo</ol><p>{}<br></p><ul><li>bar</ul>",
   2477    [["defaultparagraphseparator","p"],["delete",""]],
   2478    "<ol><li>foo{}</li></ol><ul><li>bar</li></ul>",
   2479    [true,true],
   2480    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2481 ["<ul><li>foo</ul>{}<br><ol><li>bar</ol>",
   2482    [["delete",""]],
   2483    "<ul><li>foo{}</li></ul><ol><li>bar</li></ol>",
   2484    [true],
   2485    {"delete":[false,false,"",false,false,""]}],
   2486 ["<ul><li>foo</ul><p>{}<br></p><ol><li>bar</ol>",
   2487    [["defaultparagraphseparator","div"],["delete",""]],
   2488    "<ul><li>foo{}</li></ul><ol><li>bar</li></ol>",
   2489    [true,true],
   2490    {"defaultparagraphseparator":[false,false,"p",false,false,"div"],"delete":[false,false,"",false,false,""]}],
   2491 ["<ul><li>foo</ul><p>{}<br></p><ol><li>bar</ol>",
   2492    [["defaultparagraphseparator","p"],["delete",""]],
   2493    "<ul><li>foo{}</li></ul><ol><li>bar</li></ol>",
   2494    [true,true],
   2495    {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"delete":[false,false,"",false,false,""]}],
   2496 ["<p><b>[foo]</b>",
   2497    [["delete",""]],
   2498    "<p>{}<br></p>",
   2499    [true],
   2500    {"delete":[false,false,"",false,false,""]}],
   2501 ["<p><quasit>[foo]</quasit>",
   2502    [["delete",""]],
   2503    "<p>{}<br></p>",
   2504    [true],
   2505    {"delete":[false,false,"",false,false,""]}],
   2506 ["<p><b><i>[foo]</i></b>",
   2507    [["delete",""]],
   2508    "<p>{}<br></p>",
   2509    [true],
   2510    {"delete":[false,false,"",false,false,""]}],
   2511 ["<p><b>{foo}</b>",
   2512    [["delete",""]],
   2513    "<p>{}<br></p>",
   2514    [true],
   2515    {"delete":[false,false,"",false,false,""]}],
   2516 ["<p>{<b>foo</b>}",
   2517    [["delete",""]],
   2518    "<p>{}<br></p>",
   2519    [true],
   2520    {"delete":[false,false,"",false,false,""]}],
   2521 ["<p><b>f[]</b>",
   2522    [["delete",""]],
   2523    "<p>{}<br></p>",
   2524    [true],
   2525    {"delete":[false,false,"",false,false,""]}],
   2526 ["<b>[foo]</b>",
   2527    [["delete",""]],
   2528    "{}<br>",
   2529    [true],
   2530    {"delete":[false,false,"",false,false,""]}],
   2531 ["<div><b>[foo]</b></div>",
   2532    [["delete",""]],
   2533    "<div>{}<br></div>",
   2534    [true],
   2535    {"delete":[false,false,"",false,false,""]}],
   2536 ["<div><div><p>foo</p></div></div><div></div><div><div>[]bar</div></div></div>",
   2537    [["delete",""]],
   2538    "<div><div><p>foobar</p></div></div>",
   2539    [true],
   2540    {"delete":[false,false,"",false,false,""]}],
   2541 ["<div>foo</div><div></div><div>[]bar</div>",
   2542    [["delete",""]],
   2543    "<div>foobar</div>",
   2544    [true],
   2545    {"delete":[false,false,"",false,false,""]}],
   2546 ["<div>foo</div><span></span><div>[]bar</div>",
   2547    [["delete",""]],
   2548    "<div>foobar</div>",
   2549    [true],
   2550    {"delete":[false,false,"",false,false,""]}],
   2551 ["<div>foo</div><!-- comment --><div>[]bar</div>",
   2552    [["delete",""]],
   2553    "<div>foobar</div>",
   2554    [true],
   2555    {"delete":[false,false,"",false,false,""]}],
   2556 ["<div> a[]bc</div>",
   2557    [["delete",""]],
   2558    // The leading invisible white-space should be deleted together, but it's
   2559    // fine to keep it since it's invisible.
   2560    ["<div>bc</div>", "<div> bc</div>"],
   2561    [true],
   2562    {"delete":[false,false,"",false,false,""]}],
   2563 ["<div>  a[]bc</div>",
   2564    [["delete",""]],
   2565    // The leading invisible white-spaces should be deleted together, but it's
   2566    // fine to keep them since it's invisible.
   2567    ["<div>bc</div>", "<div>  bc</div>"],
   2568    [true],
   2569    {"delete":[false,false,"",false,false,""]}],
   2570 ["<div> []abc</div>",
   2571    [["delete",""]],
   2572    // There is no content to delete due to only invisible leading white-spaces.
   2573    // Therefore, should do nothing for the undo buffer.
   2574    "<div> abc</div>",
   2575    [true],
   2576    {"delete":[false,false,"",false,false,""]}],
   2577 ["<div> [] abc</div>",
   2578    [["delete",""]],
   2579    // There is no content to delete due to only invisible leading white-spaces.
   2580    // Therefore, should do nothing for the undo buffer.
   2581    "<div>  abc</div>",
   2582    [true],
   2583    {"delete":[false,false,"",false,false,""]}],
   2584 ["<div>abc</div><div> []def</div>",
   2585    [["delete",""]],
   2586    // The leading white-spaces are invisible, therefore, no white-space should
   2587    // appear after joining the paragraphs.
   2588    "<div>abcdef</div>",
   2589    [true],
   2590    {"delete":[false,false,"",false,false,""]}],
   2591 ["<div>abc</div><div> [] def</div>",
   2592    [["delete",""]],
   2593    // The leading white-spaces are invisible, therefore, no white-space should
   2594    // appear after joining the paragraphs.
   2595    "<div>abcdef</div>",
   2596    [true],
   2597    {"delete":[false,false,"",false,false,""]}],
   2598 ["<div>abc</div><div>  []def</div>",
   2599    [["delete",""]],
   2600    // The leading white-spaces are invisible, therefore, no white-space should
   2601    // appear after joining the paragraphs.
   2602    "<div>abcdef</div>",
   2603    [true],
   2604    {"delete":[false,false,"",false,false,""]}],
   2605 ["<div>abc </div><div>[]def</div>",
   2606    [["delete",""]],
   2607    // The trailing white-spaces are invisible, therefore, no white-space should
   2608    // appear after joining the paragraphs.
   2609    "<div>abcdef</div>",
   2610    [true],
   2611    {"delete":[false,false,"",false,false,""]}],
   2612 ["<div>abc  </div><div>[]def</div>",
   2613    [["delete",""]],
   2614    // The trailing white-spaces are invisible, therefore, no white-space should
   2615    // appear after joining the paragraphs.
   2616    "<div>abcdef</div>",
   2617    [true],
   2618    {"delete":[false,false,"",false,false,""]}],
   2619 ["<div>abc </div><div> []def</div>",
   2620    [["delete",""]],
   2621    // Both the trailing and leading white-spaces are invisible, therefore, no
   2622    // white-space should appear after joining the paragraphs.
   2623    "<div>abcdef</div>",
   2624    [true],
   2625    {"delete":[false,false,"",false,false,""]}],
   2626 ["<div>abc  </div><div> [] def</div>",
   2627    [["delete",""]],
   2628    // Both the trailing and leading white-spaces are invisible, therefore, no
   2629    // white-space should appear after joining the paragraphs.
   2630    "<div>abcdef</div>",
   2631    [true],
   2632    {"delete":[false,false,"",false,false,""]}],
   2633 ["<div>abc  </div> <div>  []def</div>",
   2634    [["delete",""]],
   2635    // Both the trailing and leading white-spaces are invisible, therefore, no
   2636    // white-space should appear after joining the paragraphs.
   2637    "<div>abcdef</div>",
   2638    [true],
   2639    {"delete":[false,false,"",false,false,""]}],
   2640 ["foo<img contenteditable=false src=/img/lion.svg>[]bar",
   2641    [["delete",""]],
   2642    "foo{}bar",
   2643    [true],
   2644    {"delete":[false,false,"",false,false,""]}],
   2645 ["foo<span contenteditable=false>bar</span>[]baz",
   2646    [["delete",""]],
   2647    "foo{}baz",
   2648    [true],
   2649    {"delete":[false,false,"",false,false,""]}],
   2650 ["foo<span contenteditable=false>bar</span><span contenteditable=false>baz</span>[]qux",
   2651    [["delete",""]],
   2652    "foo<span contenteditable=\"false\">bar</span>[]qux",
   2653    [true],
   2654    {"delete":[false,false,"",false,false,""]}],
   2655 ["foo<span contenteditable=false><span>b</span><span>a</span><span>r</span></span>[]baz",
   2656    [["delete",""]],
   2657    "foo{}baz",
   2658    [true],
   2659    {"delete":[false,false,"",false,false,""]}],
   2660 ["foo<div contenteditable=false>bar</div>[]baz",
   2661    [["delete",""]],
   2662    "foo{}baz",
   2663    [true],
   2664    {"delete":[false,false,"",false,false,""]}],
   2665 ["foo<span contenteditable=false><b>bar</b></span>[]baz",
   2666    [["delete",""]],
   2667    "foo{}baz",
   2668    [true],
   2669    {"delete":[false,false,"",false,false,""]}],
   2670 ["foo<span>bar<span contenteditable=false>baz</span></span>[]qux",
   2671    [["delete",""]],
   2672    "foo<span>bar{}</span>qux",
   2673    [true],
   2674    {"delete":[false,false,"",false,false,""]}],
   2675 ["<span>[abc]</span>",
   2676    [["delete",""]],
   2677    "<br>",
   2678    [true],
   2679    {"delete":[false,false,"",false,false,""]}],
   2680 ["<span>[abc]</span><br>",
   2681    [["delete",""]],
   2682    "<br>",
   2683    [true],
   2684    {"delete":[false,false,"",false,false,""]}],
   2685 ["<p><span>[abc]</span></p>",
   2686    [["delete",""]],
   2687    "<p><br></p>",
   2688    [true],
   2689    {"delete":[false,false,"",false,false,""]}],
   2690 ["<p><span>[abc]</span><br></p>",
   2691    [["delete",""]],
   2692    "<p><br></p>",
   2693    [true],
   2694    {"delete":[false,false,"",false,false,""]}],
   2695 // XXX Perhaps, replacing with <br> element is better, but this is common behavior.
   2696 ["<p contenteditable=false><span contenteditable=true>[abc]</span></p>",
   2697    [["delete",""]],
   2698    "<p contenteditable=\"false\"><span contenteditable=\"true\"></span></p>",
   2699    [true],
   2700    {"delete":[false,false,"",false,false,""]}],
   2701 ["<div><div>{}<br></div></div>",
   2702    [["delete",""]],
   2703    ["", "<br>"],
   2704    [true],
   2705    {"delete":[false,false,"",false,false,""]}],
   2706 ["<div><div contenteditable=false><div contenteditable><div>{}<br></div></div></div></div>",
   2707    [["delete",""]],
   2708    ["<div><div contenteditable=\"false\"><div contenteditable=\"\"></div></div></div>",
   2709     "<div><div contenteditable=\"false\"><div contenteditable=\"\"><br></div></div></div>"],
   2710    [true],
   2711    {"delete":[false,false,"",false,false,""]}],
   2712 ["<div><div contenteditable=false><span contenteditable>{}<br></span></div></div></div>",
   2713    [["delete",""]],
   2714    ["<div><div contenteditable=\"false\"><span contenteditable=\"\"></span></div></div>",
   2715     "<div><div contenteditable=\"false\"><span contenteditable=\"\"><br></span></div></div>"],
   2716    [true],
   2717    {"delete":[false,false,"",false,false,""]}],
   2718 ["<div style=white-space:pre>foo \n[]bar</div>",
   2719    [["delete",""]],
   2720    "<div style=\"white-space:pre\">foo []bar</div>",
   2721    [true],
   2722    {"delete":[false,false,"",false,false,""]}],
   2723 ["<div style=white-space:pre>foo\n []bar</div>",
   2724    [["delete",""]],
   2725    "<div style=\"white-space:pre\">foo\n[]bar</div>",
   2726    [true],
   2727    {"delete":[false,false,"",false,false,""]}],
   2728 ["<div style=white-space:pre>foo\n\n[]bar</div>",
   2729    [["delete",""]],
   2730    "<div style=\"white-space:pre\">foo\n[]bar</div>",
   2731    [true],
   2732    {"delete":[false,false,"",false,false,""]}],
   2733 ["<div style=white-space:pre>foo\nb[]</div>",
   2734    [["delete",""]],
   2735    ["<div style=\"white-space:pre\">foo\n[]\n</div>",
   2736     "<div style=\"white-space:pre\">foo\n[]<br></div>"],
   2737    [true],
   2738    {"delete":[false,false,"",false,false,""]}],
   2739 ["<div style=white-space:pre-wrap>foo \n[]bar</div>",
   2740    [["delete",""]],
   2741    "<div style=\"white-space:pre-wrap\">foo []bar</div>",
   2742    [true],
   2743    {"delete":[false,false,"",false,false,""]}],
   2744 ["<div style=white-space:pre-wrap>foo\n []bar</div>",
   2745    [["delete",""]],
   2746    "<div style=\"white-space:pre-wrap\">foo\n[]bar</div>",
   2747    [true],
   2748    {"delete":[false,false,"",false,false,""]}],
   2749 ["<div style=white-space:pre-wrap>foo\n\n[]bar</div>",
   2750    [["delete",""]],
   2751    "<div style=\"white-space:pre-wrap\">foo\n[]bar</div>",
   2752    [true],
   2753    {"delete":[false,false,"",false,false,""]}],
   2754 ["<div style=white-space:pre-wrap>foo\nb[]</div>",
   2755    [["delete",""]],
   2756    ["<div style=\"white-space:pre-wrap\">foo\n[]\n</div>",
   2757     "<div style=\"white-space:pre-wrap\">foo\n[]<br></div>"],
   2758    [true],
   2759    {"delete":[false,false,"",false,false,""]}],
   2760 ["<div style=white-space:pre-line>foo \n[]bar</div>",
   2761    [["delete",""]],
   2762    "<div style=\"white-space:pre-line\">foo[]bar</div>",
   2763    [true],
   2764    {"delete":[false,false,"",false,false,""]}],
   2765 ["<div style=white-space:pre-line>foo\n []bar</div>",
   2766    [["delete",""]],
   2767    "<div style=\"white-space:pre-line\">foo[]bar</div>",
   2768    [true],
   2769    {"delete":[false,false,"",false,false,""]}],
   2770 ["<div style=white-space:pre-line>foo\n\n[]bar</div>",
   2771    [["delete",""]],
   2772    "<div style=\"white-space:pre-line\">foo\n[]bar</div>",
   2773    [true],
   2774    {"delete":[false,false,"",false,false,""]}],
   2775 ["<div style=white-space:pre-line>foo\nb[]</div>",
   2776    [["delete",""]],
   2777    ["<div style=\"white-space:pre-line\">foo\n[]\n</div>",
   2778     "<div style=\"white-space:pre-line\">foo\n[]<br></div>"],
   2779    [true],
   2780    {"delete":[false,false,"",false,false,""]}],
   2781 ["<div style=white-space:nowrap>foo \n[]bar</div>",
   2782    [["delete",""]],
   2783    "<div style=\"white-space:nowrap\">foo[]bar</div>",
   2784    [true],
   2785    {"delete":[false,false,"",false,false,""]}],
   2786 ["<div style=white-space:nowrap>foo\n []bar</div>",
   2787    [["delete",""]],
   2788    "<div style=\"white-space:nowrap\">foo[]bar</div>",
   2789    [true],
   2790    {"delete":[false,false,"",false,false,""]}],
   2791 ["<div style=white-space:nowrap>foo\n\n[]bar</div>",
   2792    [["delete",""]],
   2793    "<div style=\"white-space:nowrap\">foo[]bar</div>",
   2794    [true],
   2795    {"delete":[false,false,"",false,false,""]}],
   2796 ["<div style=white-space:nowrap>foo\nb[]</div>",
   2797    [["delete",""]],
   2798    ["<div style=\"white-space:nowrap\">foo[]\n</div>",
   2799     "<div style=\"white-space:nowrap\">foo[]<br></div>"],
   2800    [true],
   2801    {"delete":[false,false,"",false,false,""]}],
   2802 ["<p contenteditable=\"false\"><span contenteditable>a[b]c</span></p>",
   2803    [["delete",""]],
   2804    "<p contenteditable=\"false\"><span contenteditable=\"\">ac</span></p>",
   2805    [true],
   2806    {"delete":[false,false,"",false,false,""]}],
   2807 ["<p contenteditable=\"false\"><unknown-element contenteditable>a[b]c</unknown-element></p>",
   2808    [["delete",""]],
   2809    "<p contenteditable=\"false\"><unknown-element contenteditable=\"\">ac</unknown-element></p>",
   2810    [true],
   2811    {"delete":[false,false,"",false,false,""]}],
   2812 // Although it seems that browsers should put <br> element to make the inline
   2813 // editing host has one-line height, but currently Blink and Firefox do not do
   2814 // it.
   2815 ["<p contenteditable=\"false\"><span contenteditable>[abc]</span></p>",
   2816    [["delete",""]],
   2817    "<p contenteditable=\"false\"><span contenteditable=\"\"></span></p>",
   2818    [true],
   2819    {"delete":[false,false,"",false,false,""]}],
   2820 ["<p contenteditable=\"false\"><span contenteditable>a[bc<br>de]f</span></p>",
   2821    [["delete",""]],
   2822    ["<p contenteditable=\"false\"><span contenteditable=\"\">af</span></p>",
   2823     "<p contenteditable=\"false\"><span contenteditable=\"\">af<br></span></p>"],
   2824    [true],
   2825    {"delete":[false,false,"",false,false,""]}],
   2826 ["<p contenteditable=\"false\"><unknown-element contenteditable>[abc]</unknown-element></p>",
   2827    [["delete",""]],
   2828    "<p contenteditable=\"false\"><unknown-element contenteditable=\"\"></unknown-element></p>",
   2829    [true],
   2830    {"delete":[false,false,"",false,false,""]}],
   2831 ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>[ab</p><p>c]d</p></custom-element></div>",
   2832    [["delete",""]],
   2833    ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>d</p></custom-element></div>",
   2834     "<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>d<br></p></custom-element></div>"],
   2835    [true],
   2836    {"delete":[false,false,"",false,false,""]}],
   2837 ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>a[b</p><p>cd]</p></custom-element></div>",
   2838    [["delete",""]],
   2839    ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>a</p></custom-element></div>",
   2840     "<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p>a<br></p></custom-element></div>"],
   2841    [true],
   2842    {"delete":[false,false,"",false,false,""]}],
   2843 ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><b>[ab</b></p><p><i>c]d</i></p></custom-element></div>",
   2844    [["delete",""]],
   2845    ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><i>d</i></p></custom-element></div>",
   2846     "<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><i>d</i><br></p></custom-element></div>"],
   2847    [true],
   2848    {"delete":[false,false,"",false,false,""]}],
   2849 ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><b>a[b</b></p><p><i>cd]</i></p></custom-element></div>",
   2850    [["delete",""]],
   2851    ["<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><b>a</b></p></custom-element></div>",
   2852     "<div contenteditable=\"false\"><custom-element contenteditable=\"\"><p><b>a</b><br></p></custom-element></div>"],
   2853    [true],
   2854    {"delete":[false,false,"",false,false,""]}],
   2855 
   2856 // Non-editable elements in editable content should be removed by hitting the
   2857 // Backspace key.  Delete the non-editable things, then, blocks should be
   2858 // merged.
   2859 ["<p>abc</p><ul contenteditable=\"false\"><li>def</li></ul><p>[]ghi</p>",
   2860    [["delete",""]],
   2861    ["<p>abcghi</p>",
   2862     "<p>abcghi<br></p>"],
   2863    [true],
   2864    {"delete":[false,false,"",false,false,""]}],
   2865 ["<p>abc</p><ul><li contenteditable=\"false\">def</li></ul><p>[]ghi</p>",
   2866    [["delete",""]],
   2867    ["<p>abcghi</p>",
   2868     "<p>abcghi<br></p>"],
   2869    [true],
   2870    {"delete":[false,false,"",false,false,""]}],
   2871 ["<p>abc</p><ul><li contenteditable=\"false\">def</li><li>[]ghi</li></ul>",
   2872    [["delete",""]],
   2873    ["<p>abcghi</p>",
   2874     "<p>abcghi<br></p>"],
   2875    [true],
   2876    {"delete":[false,false,"",false,false,""]}],
   2877 ["<ul><li>abc</li><li contenteditable=\"false\">def</li><li>[]ghi</li></ul>",
   2878    [["delete",""]],
   2879    ["<ul><li>abcghi</li></ul>",
   2880     "<ul><li>abcghi<br></li></ul>"],
   2881    [true],
   2882    {"delete":[false,false,"",false,false,""]}],
   2883 ["<ul><li>abc</li><li contenteditable=\"false\">def</li></ul><p>[]ghi</p>",
   2884    [["delete",""]],
   2885    ["<ul><li>abcghi</li></ul>",
   2886     "<ul><li>abcghi<br></li></ul>"],
   2887    [true],
   2888    {"delete":[false,false,"",false,false,""]}],
   2889 
   2890 // <font>s shouldn't be joined if they have different attributes.
   2891 ["<p><font color=blue>foo</font><p><font color=brown>[]bar</font>",
   2892    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2893    "<p><font color=\"blue\">foo[]</font><font color=\"brown\">bar</font></p>",
   2894    [true,true,true],
   2895    {"foreColor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
   2896 ["<p><font color=blue>foo</font><p><font color=brown>[]bar</font>",
   2897    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2898    "<p><font color=\"blue\">foo[]</font><font color=\"brown\">bar</font></p>",
   2899    [true,true,true],
   2900    {"foreColor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
   2901 ["<p><font size=3>foo</font><p><font size=5>[]bar</font>",
   2902    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2903    "<p><font size=\"3\">foo[]</font><font size=\"5\">bar</font></p>",
   2904    [true,true,true],
   2905    {"fontSize":[false,false,"5",false,false,"3"]}],
   2906 ["<p><font size=3>foo</font><p><font size=5>[]bar</font>",
   2907    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2908    "<p><font size=\"3\">foo[]</font><font size=\"5\">bar</font></p>",
   2909    [true,true,true],
   2910    {"fontSize":[false,false,"5",false,false,"3"]}],
   2911 ["<p><font size=4>foo</font><p><font size=5>[]bar</font>",
   2912    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2913    "<p><font size=\"4\">foo[]</font><font size=\"5\">bar</font></p>",
   2914    [true,true,true],
   2915    {"fontSize":[false,false,"5",false,false,"4"]}],
   2916 ["<p><font size=4>foo</font><p><font size=5>[]bar</font>",
   2917    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2918    "<p><font size=\"4\">foo[]</font><font size=\"5\">bar</font></p>",
   2919    [true,true,true],
   2920    {"fontSize":[false,false,"5",false,false,"4"]}],
   2921 ["<p><font color=blue>foo</font><p><font size=5>[]bar</font>",
   2922    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2923    "<p><font color=\"blue\">foo[]</font><font size=\"5\">bar</font></p>",
   2924    [true,true,true],
   2925    {"fontSize":[false,false,"5",false,false,"3"],"foreColor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2926 ["<p><font color=blue>foo</font><p><font size=5>[]bar</font>",
   2927    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2928    "<p><font color=\"blue\">foo[]</font><font size=\"5\">bar</font></p>",
   2929    [true,true,true],
   2930    {"fontSize":[false,false,"5",false,false,"3"],"foreColor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2931 ["<p><font size=5>foo</font><p><font color=blue>[]bar</font>",
   2932    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2933    "<p><font size=\"5\">foo[]</font><font color=\"blue\">bar</font></p>",
   2934    [true,true,true],
   2935    {"fontSize":[false,false,"3",false,false,"5"],"foreColor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 0)"]}],
   2936 ["<p><font size=5>foo</font><p><font color=blue>[]bar</font>",
   2937    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2938    "<p><font size=\"5\">foo[]</font><font color=\"blue\">bar</font></p>",
   2939    [true,true,true],
   2940    {"fontSize":[false,false,"3",false,false,"5"],"foreColor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 0)"]}],
   2941 ["<p><font face=monospace>foo</font><p><font face=sans-serif>[]bar</font>",
   2942    [["styleWithCSS","false"],["defaultparagraphseparator","div"],["delete",""]],
   2943    "<p><font face=\"monospace\">foo[]</font><font face=\"sans-serif\">bar</font></p>",
   2944    [true,true,true],
   2945    {"fontName":[false,false,"sans-serif",false,false,"monospace"]}],
   2946 ["<p><font face=monospace>foo</font><p><font face=sans-serif>[]bar</font>",
   2947    [["styleWithCSS","false"],["defaultparagraphseparator","p"],["delete",""]],
   2948    "<p><font face=\"monospace\">foo[]</font><font face=\"sans-serif\">bar</font></p>",
   2949    [true,true,true],
   2950    {"fontName":[false,false,"sans-serif",false,false,"monospace"]}],
   2951 
   2952 // After joining blocks, caret should be end of the deepest left block end for
   2953 // making the following input will be styled with the style there.
   2954 ["<p><span style=\"color:rgb(0, 0, 255)\">foo</span></p><p><span style=\"color:rgb(255, 0, 0)\">[]bar</span></p>",
   2955    [["styleWithCSS","false"],["delete",""]],
   2956    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2957    [true,true],
   2958    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2959 ["<p><span style=\"color:rgb(0, 0, 255)\">foo</span><br></p><p><span style=\"color:rgb(255, 0, 0)\">[]bar</span></p>",
   2960    [["styleWithCSS","false"],["delete",""]],
   2961    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2962    [true,true],
   2963    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2964 ["<p><span style=\"color:rgb(0, 0, 255)\">foo<br></span></p><p><span style=\"color:rgb(255, 0, 0)\">[]bar</span></p>",
   2965    [["styleWithCSS","false"],["delete",""]],
   2966    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2967    [true,true],
   2968    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2969 ["<p><span style=\"color:rgb(0, 0, 255)\">foo</span></p><span style=\"color:rgb(255, 0, 0)\">[]bar</span>",
   2970    [["styleWithCSS","false"],["delete",""]],
   2971    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2972    [true,true],
   2973    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2974 ["<p><span style=\"color:rgb(0, 0, 255)\">foo</span><br></p><span style=\"color:rgb(255, 0, 0)\">[]bar</span>",
   2975    [["styleWithCSS","false"],["delete",""]],
   2976    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2977    [true,true],
   2978    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2979 ["<p><span style=\"color:rgb(0, 0, 255)\">foo<br></span></p><span style=\"color:rgb(255, 0, 0)\">[]bar</span>",
   2980    [["styleWithCSS","false"],["delete",""]],
   2981    "<p><span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span></p>",
   2982    [true,true],
   2983    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2984 ["<span style=\"color:rgb(0, 0, 255)\">foo</span><br><p><span style=\"color:rgb(255, 0, 0)\">[]bar</span></p>",
   2985    [["styleWithCSS","false"],["delete",""]],
   2986    "<span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span>",
   2987    [true,true],
   2988    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2989 ["<span style=\"color:rgb(0, 0, 255)\">foo<br></span><p><span style=\"color:rgb(255, 0, 0)\">[]bar</span></p>",
   2990    [["styleWithCSS","false"],["delete",""]],
   2991    "<span style=\"color:rgb(0, 0, 255)\">foo[]</span><span style=\"color:rgb(255, 0, 0)\">bar</span>",
   2992    [true,true],
   2993    {"foreColor":[false,false,"rgb(255, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
   2994 
   2995 // If all list items are selected, keep one list item.
   2996 ["<ul><li>[abc</li><li>def]</li></ul>",
   2997   [["delete",""]],
   2998   "<ul><li>{}<br></li></ul>",
   2999   [true],
   3000   {}],
   3001 ["<ul><ol><li>[abc</li></ol><li>def]</li></ul>",
   3002   [["delete",""]],
   3003   "<ul><ol><li>{}<br></li></ol></ul>",
   3004   [true],
   3005   {}],
   3006 ["<ul><ul><li>[abc</li></ul><li>def]</li></ul>",
   3007   [["delete",""]],
   3008   "<ul><ul><li>{}<br></li></ul></ul>",
   3009   [true],
   3010   {}],
   3011 ["<ul><li>[abc</li><ul><li>def]</li></ul></ul>",
   3012   [["delete",""]],
   3013   "<ul><li>{}<br></li></ul>",
   3014   [true],
   3015   {}],
   3016 ["<ul><ul><li>[abc</li></ul><ul><li>def]</li></ul></ul>",
   3017   [["delete",""]],
   3018   "<ul><ul><li>{}<br></li></ul></ul>",
   3019   [true],
   3020   {}],
   3021 ["<ul><ol><li>[abc</li></ol><ul><li>def]</li></ul></ul>",
   3022   [["delete",""]],
   3023   "<ul><ol><li>{}<br></li></ol></ul>",
   3024   [true],
   3025   {}],
   3026 // Don't be confused at inner elements of the list items.
   3027 ["<ul><li><span>[abc</span></li><li>def]</li></ul>",
   3028   [["delete",""]],
   3029   "<ul><li>{}<br></li></ul>",
   3030   [true],
   3031   {}],
   3032 ["<ul><li>[abc</li><li><span>def]</span></li></ul>",
   3033   [["delete",""]],
   3034   "<ul><li>{}<br></li></ul>",
   3035   [true],
   3036   {}],
   3037 ["<ul><li><span>[abc</span></li><li><span>def]</span></li></ul>",
   3038   [["delete",""]],
   3039   "<ul><li>{}<br></li></ul>",
   3040   [true],
   3041   {}],
   3042 // Don't be confused at white-spaces around first/last list items' boundaries.
   3043 ["<ul><li> [abc</li><li>def]</li></ul>",
   3044   [["delete",""]],
   3045   "<ul><li>{}<br></li></ul>",
   3046   [true],
   3047   {}],
   3048 ["<ul><li>[abc</li><li>def] </li></ul>",
   3049   [["delete",""]],
   3050   "<ul><li>{}<br></li></ul>",
   3051   [true],
   3052   {}],
   3053 ["<ul><li> [abc</li><li>def] </li></ul>",
   3054   [["delete",""]],
   3055   "<ul><li>{}<br></li></ul>",
   3056   [true],
   3057   {}],
   3058 ["<ul>\n<li>[abc</li><li>def]</li></ul>",
   3059   [["delete",""]],
   3060   ["<ul><li>{}<br></li></ul>",
   3061    "<ul>\n<li>{}<br></li></ul>"],
   3062   [true],
   3063   {}],
   3064 ["<ul><li>[abc</li><li>def]</li>\n</ul>",
   3065   [["delete",""]],
   3066   ["<ul><li>{}<br></li></ul>",
   3067    "<ul><li>{}<br></li>\n</ul>"],
   3068   [true],
   3069   {}],
   3070 ["<ul>\n<li>[abc</li><li>def]</li>\n</ul>",
   3071   [["delete",""]],
   3072   ["<ul><li>{}<br></li></ul>",
   3073    "<ul>\n<li>{}<br></li></ul>",
   3074    "<ul><li>{}<br></li>\n</ul>",
   3075    "<ul>\n<li>{}<br></li>\n</ul>"],
   3076   [true],
   3077   {}],
   3078 // Same things for non-sub-lists.
   3079 ["<ol><li>[abc</li></ol><ul><li>def]</li></ul>",
   3080   [["delete",""]],
   3081   "<ol><li>{}<br></li></ol>",
   3082   [true],
   3083   {}],
   3084 ["<ol><li> [abc</li></ol><ul><li>def]</li></ul>",
   3085   [["delete",""]],
   3086   "<ol><li>{}<br></li></ol>",
   3087   [true],
   3088   {}],
   3089 ["<ol>\n<li>[abc</li></ol><ul><li>def]</li></ul>",
   3090   [["delete",""]],
   3091   ["<ol><li>{}<br></li></ol>",
   3092    "<ol>\n<li>{}<br></li></ol>"],
   3093   [true],
   3094   {}],
   3095 
   3096 // Select all list item children when list items have multiple nodes.
   3097 ["{<ul><li>abc<span>def</span>ghi</li><li>jkl<span>opq</span>rst</li></ul>}",
   3098   [["delete",""]],
   3099   "<ul><li>{}<br></li></ul>",
   3100   [true],
   3101   {}],
   3102 
   3103 // inlined elements shouldn't be joined as <span>, etc
   3104 ["<div style=\"display:inline\">abc</div><div style=\"display:inline\">[]def</div>",
   3105   [["delete",""]],
   3106   "<div style=\"display:inline\">ab</div><div style=\"display:inline\">def</div>",
   3107   [true],
   3108   {}],
   3109 ["<ul><li style=\"display:inline\">abc</li><li style=\"display:inline\">[]def</li></ul>",
   3110   [["delete",""]],
   3111   "<ul><li style=\"display:inline\">ab</li><li style=\"display:inline\">def</li></ul>",
   3112   [true],
   3113   {}],
   3114 ["<dl><dt style=\"display:inline\">abc</dt><dd style=\"display:inline\">[]def</dd></dl>",
   3115   [["delete",""]],
   3116   "<dl><dt style=\"display:inline\">ab</dt><dd style=\"display:inline\">def</dd></dl>",
   3117   [true],
   3118   {}],
   3119 // list-styled elements should work as list item elements
   3120 ["<div><span style=\"display:list-item\">abc</span><span style=\"display:list-item\">[]def</span></div>",
   3121   [["delete",""]],
   3122   "<div><span style=\"display:list-item\">abcdef</span></div>",
   3123   [true],
   3124   {}],
   3125 // Don't remove parent blocks of selection start to insert new text into the
   3126 // selection start container.
   3127 ["<div>{abc</div><div>def</div>}",
   3128    [["delete",""]],
   3129    "<div><br></div>",
   3130    [true],
   3131    {}],
   3132 ["<div>abc</div><div>{def</div>}",
   3133    [["delete",""]],
   3134    "<div>abc</div><div><br></div>",
   3135    [true],
   3136    {}],
   3137 
   3138 // These flex item cases are based on web-compat issue on Slack.
   3139 ["<div style=display:flex><span>{abc</span><span>def</span>}</div>",
   3140    [["delete",""]],
   3141    "<div style=\"display:flex\"><span><br></span></div>",
   3142    [true],
   3143    {}],
   3144 ["<div style=display:flex><span>abc</span><span>{def</span>}</div>",
   3145    [["delete",""]],
   3146    "<div style=\"display:flex\"><span>abc</span><span><br></span></div>",
   3147    [true],
   3148    {}],
   3149 
   3150 ["<div style=display:grid><span>{abc</span><span>def</span>}</div>",
   3151    [["delete",""]],
   3152    "<div style=\"display:grid\"><span><br></span></div>",
   3153    [true],
   3154    {}],
   3155 ["<div style=display:grid><span>abc</span><span>{def</span>}</div>",
   3156    [["delete",""]],
   3157    "<div style=\"display:grid\"><span>abc</span><span><br></span></div>",
   3158    [true],
   3159    {}],
   3160 
   3161 // Do not delete non-editable when deleting an editable character
   3162 ["<b>X[]<span contenteditable=false>abc</span></b><i>def</i>",
   3163    [["delete",""]],
   3164    "<b><span contenteditable=\"false\">abc</span></b><i>def</i>",
   3165    [true],
   3166    {}],
   3167 ["<b><span contenteditable=false>abc</span>X[]</b><i>def</i>",
   3168    [["delete",""]],
   3169    "<b><span contenteditable=\"false\">abc</span></b><i>def</i>",
   3170    [true],
   3171    {}],
   3172 ["<p>X[]<span contenteditable=false>abc</span></p>",
   3173    [["delete",""]],
   3174    "<p><span contenteditable=\"false\">abc</span></p>",
   3175    [true],
   3176    {}],
   3177 ["<p><span contenteditable=false>abc</span>X[]</p>",
   3178    [["delete",""]],
   3179    "<p><span contenteditable=\"false\">abc</span></p>",
   3180    [true],
   3181    {}],
   3182 // Do not delete ancestor blocks which still has non-editable content
   3183 ["<p>{}<span contenteditable=false>ab</span></p>",
   3184    [["delete",""]],
   3185    "<p><span contenteditable=\"false\">ab</span></p>",
   3186    [true],
   3187    {}],
   3188 // Delete only first <br> to make 2 empty lines to only one line.
   3189 ["<div>abc</div><br>{}<br><div>def</div>",
   3190    [["delete",""]],
   3191    "<div>abc</div><br><div>def</div>",
   3192    [true],
   3193    {}],
   3194 ["<div><font><table><td>a</table><br>{}<br><table><td>b</table></font></div>",
   3195    [["delete",""]],
   3196    "<div><font><table><tbody><tr><td>a</td></tr></tbody></table><br><table><tbody><tr><td>b</td></tr></tbody></table></font></div>",
   3197    [true],
   3198    {}],
   3199 // Cells shouldn't be joined, but new empty inline ancestors should be deleted.
   3200 ["<table><tr><td>a<td><b>[b</b><td><b>c</b><td><b>d]</b><td>e</table>",
   3201    [["delete",""]],
   3202    "<table><tbody><tr><td>a</td><td><br></td><td><br></td><td><br></td><td>e</td></tr></tbody></table>",
   3203    [true],
   3204    {}],
   3205 ["<table><tr><th>a<th><b>[b</b><th><b>c</b><th><b>d]</b><th>e</table>",
   3206    [["delete",""]],
   3207    "<table><tbody><tr><th>a</th><th><br></th><th><br></th><th><br></th><th>e</th></tr></tbody></table>",
   3208    [true],
   3209    {}],
   3210 
   3211 // The expectations of these flex item scenarios based on Chrome 142 except
   3212 // in some cases.  Feel free to change them if it's discussed in the Editing WG.
   3213 ["<div style=display:flex><span>abc</span><span>[]def</span></div>",
   3214    [["delete",""]],
   3215    "<div style=\"display:flex\"><span>abcdef</span></div>",
   3216    [true],
   3217    {}],
   3218 ["<div style=display:inline-flex><span>abc</span><span>[]def</span></div>",
   3219    [["delete",""]],
   3220    "<div style=\"display:inline-flex\"><span>abcdef</span></div>",
   3221    [true],
   3222    {}],
   3223 ["<div style=display:flex><span>abc</span><span>def</span></div>[]ghi",
   3224    [["delete",""]],
   3225    "<div style=\"display:flex\"><span>abc</span><span>defghi</span></div>",
   3226    [true],
   3227    {}],
   3228 ["<div style=display:inline-flex><span>abc</span><span>def</span></div>[]ghi",
   3229    [["delete",""]],
   3230    "<div style=\"display:inline-flex\"><span>abc</span><span>defghi</span></div>",
   3231    [true],
   3232    {}],
   3233 ["<div style=display:flex><span>abc</span><span>def</span></div><div>[]ghi</div>",
   3234    [["delete",""]],
   3235    "<div style=\"display:flex\"><span>abc</span><span>defghi</span></div>",
   3236    [true],
   3237    {}],
   3238 ["<div style=display:inline-flex><span>abc</span><span>def</span></div><div>[]ghi</div>",
   3239    [["delete",""]],
   3240    "<div style=\"display:inline-flex\"><span>abc</span><span>defghi</span></div>",
   3241    [true],
   3242    {}],
   3243 ["012<div style=display:flex><span>[]abc</span><span>def</span></div>",
   3244    [["delete",""]],
   3245    "012abc<div style=\"display:flex\"><span>def</span></div>",
   3246    [true],
   3247    {}],
   3248 ["012<div style=display:inline-flex><span>[]abc</span><span>def</span></div>",
   3249    [["delete",""]],
   3250    "012abc<div style=\"display:inline-flex\"><span>def</span></div>",
   3251    [true],
   3252    {}],
   3253 ["<div>012</div><div style=display:flex><span>[]abc</span><span>def</span></div>",
   3254    [["delete",""]],
   3255    "<div>012abc</div><div style=\"display:flex\"><span>def</span></div>",
   3256    [true],
   3257    {}],
   3258 ["<div>012</div><div style=display:inline-flex><span>[]abc</span><span>def</span></div>",
   3259    [["delete",""]],
   3260    "<div>012abc</div><div style=\"display:inline-flex\"><span>def</span></div>",
   3261    [true],
   3262    {}],
   3263 ["<div style=display:flex><span>abc</span><span>def</span></div><div style=display:flex><span>[]ghi</span><span>jkl</span></div>",
   3264    [["delete",""]],
   3265    "<div style=\"display:flex\"><span>abc</span><span>defghi</span></div><div style=\"display:flex\"><span>jkl</span></div>",
   3266    [true],
   3267    {}],
   3268 ["<div style=display:inline-flex><span>abc</span><span>def</span></div><div style=display:inline-flex><span>[]ghi</span><span>jkl</span></div>",
   3269    [["delete",""]],
   3270    "<div style=\"display:inline-flex\"><span>abc</span><span>defghi</span></div><div style=\"display:inline-flex\"><span>jkl</span></div>",
   3271    [true],
   3272    {}],
   3273 ["<div style=display:flex><span>abc</span><span>def</span></div><div style=display:flex><span>[]ghi</span></div>",
   3274    [["delete",""]],
   3275    "<div style=\"display:flex\"><span>abc</span><span>defghi</span></div>",
   3276    [true],
   3277    {}],
   3278 ["<div style=display:inline-flex><span>abc</span><span>def</span></div><div style=display:inline-flex><span>[]ghi</span></div>",
   3279    [["delete",""]],
   3280    "<div style=\"display:inline-flex\"><span>abc</span><span>defghi</span></div>",
   3281    [true],
   3282    {}],
   3283 ["<div>abc</div><div style=display:flex><span>{}<br></span></div>",
   3284    [["delete",""]],
   3285    "<div>abc</div>",
   3286    [true],
   3287    {}],
   3288 ["<div>abc</div><div style=display:inline-flex><span>{}<br></span></div>",
   3289    [["delete",""]],
   3290    "<div>abc</div>",
   3291    [true],
   3292    {}],
   3293 ["<div style=display:flex><span>{}<br></span></div><div>abc</div>",
   3294    [["delete",""]],
   3295    "<div style=\"display:flex\"><span>{}<br></span></div><div>abc</div>",
   3296    [true],
   3297    {}],
   3298 ["<div style=display:inline-flex><span>{}<br></span></div><div>abc</div>",
   3299    [["delete",""]],
   3300    "<div style=\"display:inline-flex\"><span>{}<br></span></div><div>abc</div>",
   3301    [true],
   3302    {}],
   3303 
   3304 // The expectations of these grid item scenarios based on Chrome 142 except
   3305 // in some cases.  Feel free to change them if it's discussed in the Editing WG.
   3306 ["<div style=display:grid><span>abc</span><span>[]def</span></div>",
   3307    [["delete",""]],
   3308    "<div style=\"display:grid\"><span>abcdef</span></div>",
   3309    [true],
   3310    {}],
   3311 ["<div style=display:inline-grid><span>abc</span><span>[]def</span></div>",
   3312    [["delete",""]],
   3313    "<div style=\"display:inline-grid\"><span>abcdef</span></div>",
   3314    [true],
   3315    {}],
   3316 ["<div style=display:grid><span>abc</span><span>def</span></div>[]ghi",
   3317    [["delete",""]],
   3318    "<div style=\"display:grid\"><span>abc</span><span>defghi</span></div>",
   3319    [true],
   3320    {}],
   3321 ["<div style=display:inline-grid><span>abc</span><span>def</span></div>[]ghi",
   3322    [["delete",""]],
   3323    "<div style=\"display:inline-grid\"><span>abc</span><span>defghi</span></div>",
   3324    [true],
   3325    {}],
   3326 ["<div style=display:grid><span>abc</span><span>def</span></div><div>[]ghi</div>",
   3327    [["delete",""]],
   3328    "<div style=\"display:grid\"><span>abc</span><span>defghi</span></div>",
   3329    [true],
   3330    {}],
   3331 ["<div style=display:inline-grid><span>abc</span><span>def</span></div><div>[]ghi</div>",
   3332    [["delete",""]],
   3333    "<div style=\"display:inline-grid\"><span>abc</span><span>defghi</span></div>",
   3334    [true],
   3335    {}],
   3336 ["012<div style=display:grid><span>[]abc</span><span>def</span></div>",
   3337    [["delete",""]],
   3338    "012abc<div style=\"display:grid\"><span>def</span></div>",
   3339    [true],
   3340    {}],
   3341 ["012<div style=display:inline-grid><span>[]abc</span><span>def</span></div>",
   3342    [["delete",""]],
   3343    "012abc<div style=\"display:inline-grid\"><span>def</span></div>",
   3344    [true],
   3345    {}],
   3346 ["<div>012</div><div style=display:grid><span>[]abc</span><span>def</span></div>",
   3347    [["delete",""]],
   3348    "<div>012abc</div><div style=\"display:grid\"><span>def</span></div>",
   3349    [true],
   3350    {}],
   3351 ["<div>012</div><div style=display:inline-grid><span>[]abc</span><span>def</span></div>",
   3352    [["delete",""]],
   3353    "<div>012abc</div><div style=\"display:inline-grid\"><span>def</span></div>",
   3354    [true],
   3355    {}],
   3356 ["<div style=display:grid><span>abc</span><span>def</span></div><div style=display:grid><span>[]ghi</span><span>jkl</span></div>",
   3357    [["delete",""]],
   3358    "<div style=\"display:grid\"><span>abc</span><span>defghi</span></div><div style=\"display:grid\"><span>jkl</span></div>",
   3359    [true],
   3360    {}],
   3361 ["<div style=display:inline-grid><span>abc</span><span>def</span></div><div style=display:inline-grid><span>[]ghi</span><span>jkl</span></div>",
   3362    [["delete",""]],
   3363    "<div style=\"display:inline-grid\"><span>abc</span><span>defghi</span></div><div style=\"display:inline-grid\"><span>jkl</span></div>",
   3364    [true],
   3365    {}],
   3366 ["<div style=display:grid><span>abc</span><span>def</span></div><div style=display:grid><span>[]ghi</span></div>",
   3367    [["delete",""]],
   3368    "<div style=\"display:grid\"><span>abc</span><span>defghi</span></div>",
   3369    [true],
   3370    {}],
   3371 ["<div style=display:inline-grid><span>abc</span><span>def</span></div><div style=display:inline-grid><span>[]ghi</span></div>",
   3372    [["delete",""]],
   3373    "<div style=\"display:inline-grid\"><span>abc</span><span>defghi</span></div>",
   3374    [true],
   3375    {}],
   3376 ["<div>abc</div><div style=display:grid><span>{}<br></span></div>",
   3377    [["delete",""]],
   3378    "<div>abc</div>",
   3379    [true],
   3380    {}],
   3381 ["<div>abc</div><div style=display:inline-grid><span>{}<br></span></div>",
   3382    [["delete",""]],
   3383    "<div>abc</div>",
   3384    [true],
   3385    {}],
   3386 ["<div style=display:grid><span>{}<br></span></div><div>abc</div>",
   3387    [["delete",""]],
   3388    "<div style=\"display:grid\"><span>{}<br></span></div><div>abc</div>",
   3389    [true],
   3390    {}],
   3391 ["<div style=display:inline-grid><span>{}<br></span></div><div>abc</div>",
   3392    [["delete",""]],
   3393    "<div style=\"display:inline-grid\"><span>{}<br></span></div><div>abc</div>",
   3394    [true],
   3395    {}],
   3396 // XXX I'm not sure which result is better.
   3397 ["<div><div>abc</div><br></div><div>[]def</div>",
   3398    [["delete",""]],
   3399    ["<div><div>abc</div>def</div>",
   3400     "<div><div>abc</div></div><div>def</div>"],
   3401    [true],
   3402    {}],
   3403 
   3404 // display:contents of grid/flex item makes its children as items of its container.
   3405 // Therefore, they should be treated as items correctly, and the display:contents elements should
   3406 // be treated as meaningless container.  Therefore, they should be deleted once they become empty.
   3407 ["<div style=display:flex><span>abc</span><span style=display:contents>[]def</span></div>",
   3408    [["delete",""]],
   3409    "<div style=\"display:flex\"><span>abcdef</span></div>",
   3410    [true],
   3411    {}],
   3412 ["<div style=display:flex><span>abc</span><span style=display:contents><span>[]def</span></span></div>",
   3413    [["delete",""]],
   3414    "<div style=\"display:flex\"><span>abcdef</span></div>",
   3415    [true],
   3416    {}],
   3417 ["<div style=display:flex><span style=display:contents>abc</span><span>[]def</span></div>",
   3418    [["delete",""]],
   3419    "<div style=\"display:flex\"><span style=\"display:contents\">abcdef</span></div>",
   3420    [true],
   3421    {}],
   3422 ["<div style=display:flex><span style=display:contents><span>abc</span></span><span>[]def</span></div>",
   3423    [["delete",""]],
   3424    "<div style=\"display:flex\"><span style=\"display:contents\"><span>abcdef</span></span></div>",
   3425    [true],
   3426    {}],
   3427 ["<div style=display:grid><span>abc</span><span style=display:contents>[]def</span></div>",
   3428    [["delete",""]],
   3429    "<div style=\"display:grid\"><span>abcdef</span></div>",
   3430    [true],
   3431    {}],
   3432 ["<div style=display:grid><span>abc</span><span style=display:contents><span>[]def</span></span></div>",
   3433    [["delete",""]],
   3434    "<div style=\"display:grid\"><span>abcdef</span></div>",
   3435    [true],
   3436    {}],
   3437 ["<div style=display:grid><span style=display:contents>abc</span><span>[]def</span></div>",
   3438    [["delete",""]],
   3439    "<div style=\"display:grid\"><span style=\"display:contents\">abcdef</span></div>",
   3440    [true],
   3441    {}],
   3442 ["<div style=display:grid><span style=display:contents><span>abc</span></span><span>[]def</span></div>",
   3443    [["delete",""]],
   3444    "<div style=\"display:grid\"><span style=\"display:contents\"><span>abcdef</span></span></div>",
   3445    [true],
   3446    {}],
   3447 
   3448 // <object> content should be deleted if it has only fallback content.
   3449 ["<object>abc</object>[]def",
   3450    [["delete",""]],
   3451    "<object>ab</object>def",
   3452    [true],
   3453    {}],
   3454 ["abc<object data=\"/images/green-1x1.png\">def</object>[]ghi",
   3455    [["delete",""]],
   3456    "abcghi",
   3457    [true],
   3458    {}],
   3459 ["abc<object data=\"about:blank\">def</object>[]ghi",
   3460    [["delete",""]],
   3461    "abcghi",
   3462    [true],
   3463    {}],
   3464 // The following elements should be rendered with replaced content so that
   3465 // the element itself should be removed.
   3466 ["abc<iframe>def</iframe>[]ghi",
   3467    [["delete",""]],
   3468    "abcghi",
   3469    [true],
   3470    {}],
   3471 ["abc<meter>def</meter>[]ghi",
   3472    [["delete",""]],
   3473    "abcghi",
   3474    [true],
   3475    {}],
   3476 ["abc<progress>def</progress>[]ghi",
   3477    [["delete",""]],
   3478    "abcghi",
   3479    [true],
   3480    {}],
   3481 ["abc<audio controls>def</audio>[]ghi",
   3482    [["delete",""]],
   3483    "abcghi",
   3484    [true],
   3485    {}],
   3486 ["abc<video>def</video>[]ghi",
   3487    [["delete",""]],
   3488    "abcghi",
   3489    [true],
   3490    {}],
   3491 // <audio> and <input type=hidden> are invisible so that they should be
   3492 // deleted silently.
   3493 ["abc<audio>def</audio>[]ghi",
   3494    [["delete",""]],
   3495    "abghi",
   3496    [true],
   3497    {}],
   3498 ["abc<input type=hidden>[]def",
   3499    [["delete",""]],
   3500    "abdef",
   3501    [true],
   3502    {}],
   3503 
   3504 ["<p>abc<br> </p><p>{}<br></p>",
   3505    [["delete",""]],
   3506    "<p>abc</p>",
   3507    [true],
   3508    {}],
   3509 ["<p>abc<br> </p> <p>{}<br></p>",
   3510    [["delete",""]],
   3511    "<p>abc</p>",
   3512    [true],
   3513    {}],
   3514 ["<div style=white-space:pre><p>abc</p> <p>{}<br></p></div>",
   3515    [["delete",""]],
   3516    "<div style=\"white-space:pre\"><p>abc</p> </div>",
   3517    [true],
   3518    {}],
   3519 
   3520 // The following tests are ported by Mozilla from their old test and the
   3521 // expectations are based on Chrome's behavior unless the behavior does not
   3522 // make sense.
   3523 [' <div><span contenteditable="false">A</span></div><div><br></div><div>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3524    [["delete",""]],
   3525    ' <div><span contenteditable="false">A</span></div><div>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3526    [true],
   3527    {}],
   3528 [' <div><span contenteditable="false">A</span></div><div>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3529    [["delete",""]],
   3530    ' <div><span contenteditable="false">A</span>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3531    [true],
   3532    {}],
   3533 [' <span contenteditable="false">A</span><div><br></div><div>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3534    [["delete",""]],
   3535    ' <span contenteditable="false">A</span><div>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3536    [true],
   3537    {}],
   3538 [' <span contenteditable="false">A</span><div>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3539    [["delete",""]],
   3540    // The preceding line of the <div> is only the non-editable node. So, the editor should delete it.
   3541    '<div>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span></div> ',
   3542    [true],
   3543    {}],
   3544 [' <span contenteditable="false">A</span><br><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
   3545    [["delete",""]],
   3546    ' <span contenteditable="false">A</span><br>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
   3547    [true],
   3548    {}],
   3549 [' <span contenteditable="false">A</span><br>[]&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
   3550    [["delete",""]],
   3551    ' <span contenteditable="false">A</span>&nbsp;; <span contenteditable="false">B</span> ; <span contenteditable="false">C</span> ',
   3552    [true],
   3553    {}],
   3554 ]