typing at host start before a block: "<div>xalpha</div><div>beta</div>" sel=#text@1->#text@1
typing at host start before an inline element: "<b>xbold</b>rest" sel=#text@1->#text@1
typing between inline element and text: "a<i>midx</i>b" sel=#text@4->#text@4
typing at host start before a list: "<ul><li>xone</li><li>two</li></ul>" sel=#text@1->#text@1
formatBlock at host start: "<h2>alpha</h2>" sel=#text@0->#text@0
bold toggle at host start: "<b>bold</b>rest" sel=host@0->host@0
undo restores canonical caret: "<div>alpha</div>" sel=#text@0->#text@0
paste at equivalent text edge: "<div><strong>:</strong>pasted) rest</div>" sel=#text@6->#text@6
undo restores upstream caret: "<div><strong>:</strong>) rest</div>" sel=#text@1->#text@1
typing after a real line break: "<div>one<br>xtwo</div>" sel=#text@1->#text@1
block paste after a real line break: "<div>one<br><div>A</div>Btwo<br>three</div>" sel=#text@1->#text@1
undo block paste after a real line break: "<div>one<br>two<br>three</div>" sel=#text@0->#text@0
redo block paste after a real line break: "<div>one<br><div>A</div>Btwo<br>three</div>" sel=#text@1->#text@1
block paste after a wrapped line break: "<div>one<span><b><br></b></span><div>A</div>B<span><b>two<br>three</b></span></div>" sel=#text@1->#text@1
undo block paste after a wrapped line break: "<div>one<span><b><br>two<br>three</b></span></div>" sel=#text@0->#text@0
redo block paste after a wrapped line break: "<div>one<span><b><br></b></span><div>A</div>B<span><b>two<br>three</b></span></div>" sel=#text@1->#text@1
empty block paste after a real line break: "<div>one<br><div>A</div><div><br></div>two<br>three</div>" sel=DIV@0->DIV@0
undo empty block paste after a real line break: "<div>one<br>two<br>three</div>" sel=#text@0->#text@0
redo empty block paste after a real line break: "<div>one<br><div>A</div><div><br></div>two<br>three</div>" sel=DIV@0->DIV@0
paste in block formatting whitespace: "<div>one</div>\n<div>.</div>" sel=#text@1->#text@1
undo paste in block formatting whitespace: "<div>one</div>\n<div><br></div>" sel=DIV@0->DIV@0
redo paste in block formatting whitespace: "<div>one</div>\n<div>.</div>" sel=#text@1->#text@1
paste at list-item boundary: "<ul><li>one<br></li><li>.two<br></li></ul>" sel=#text@1->#text@1
undo paste at list-item boundary: "<ul><li>one<br></li><li>two<br></li></ul>" sel=#text@0->#text@0
redo paste at list-item boundary: "<ul><li>one<br></li><li>.two<br></li></ul>" sel=#text@1->#text@1
paste after trailing br: "<div>one<img>.<br></div>" sel=#text@1->#text@1
undo paste after trailing br: "<div>one<img><br></div>" sel=DIV@2->DIV@2
redo paste after trailing br: "<div>one<img>.<br></div>" sel=#text@1->#text@1
paste after trailing formatting whitespace: "<div>one.</div>\n" sel=#text@4->#text@4
undo trailing formatting whitespace: "<div>one</div>\n" sel=#text@3->#text@3
redo trailing formatting whitespace: "<div>one.</div>\n" sel=#text@4->#text@4
