input-events-get-target-ranges-backspace.tentative.html | Fail | 132 / 169 | BUG | 37 of 169 subtests (no failing subtest passes in the three browsers): 26 target ranges, most of which only Firefox computes: the range of a deletion that joins two blocks or removes an hr is the caret extended by one character as Selection.modify() does, where the test expects the range of what is removed, with the collapsible white space around it (<p>abc </p><p> [] def</p> expects (#text "abc", 3) - (#text "def", 3)), and the range of the deletion of the only character of an inline element is in its Text node (the test expects the range of the element). 5 results: Backspace at the start of the first item of a list makes it a <div> as the specification says where the test expects its line to be joined to the text before the list, and <br><hr> loses only the <hr>. 6 subtests need a selection with several ranges (the selection of table cells), which only Firefox has. |
input-events-get-target-ranges-deleting-in-list-items.tentative.html | Fail | 1,050 / 1,264 | BUG | 214 of 1264 subtests (no failing subtest passes in the three browsers). 102 target ranges, 100 of which fail in every browser: the test expects the range of what the deletion removes when two list items are joined (<li>list-item1</li><li>[]list-item2</li> expects (<li>, 1) - (#text "list-item2", 0); the library returns the caret extended by one character, or the range of the selection). 112 results: a list item with two lines is moved as a whole when it is joined to the previous item, where Chrome and Safari only move its first line and split the item (<li>list-item1list-item2</li><li>second line of list-item2</li>), and a list item whose content is a paragraph is not unwrapped when it is joined (<li>list-item1</li><li><p>[]list-item2</p></li>; 26 subtests that Chrome and Safari pass); the items of two lists are merged in one list when the first item of the second list is joined to the last item of the first one, and the second line of a joined item is not left in the second list (24 subtests, only Safari passes); the selections that contain non-editable list items or an empty nested list do not keep an empty list item, and a selection that ends in a nested list of the next item removes the nested list (46 subtests that every browser fails); Delete in the empty item of a list does not remove the list (14 subtests, only Firefox passes); 2 subtests that only Chrome passes. |
input-events-get-target-ranges-deleting-range-across-editing-host-boundaries.tentative.html | Fail | 3 / 5 | BUG | 2 of 5 subtests fail (they also fail in Chrome and Safari): a deletion whose selection crosses non-editable content has one target range (the selection), the test expects one range per editable part |
input-events-get-target-ranges-during-and-after-dispatch.tentative.html | Fail | 2 / 3 | TEST BUG | 1 of 3 subtests: the tentative test expects getTargetRanges() to return the same ranges after the dispatch of beforeinput; they are cleared, as input-events-get-target-ranges.html (not tentative) expects and as Chrome does |
input-events-get-target-ranges-forwarddelete.tentative.html | Fail | 138 / 176 | BUG | 38 of 176 subtests: 24 target ranges, of which 1 passes in the three browsers (Meta+Delete, the deletion to the end of the line, is not emulated: the range is the one of a character): the range of a deletion that joins two blocks is the caret extended by one character as Selection.modify() does, where the test expects the range of what is removed with the collapsible white space around it (<p>abc []</p><p> def</p> expects (#text "abc", 3) - (#text "def", 3)), the range of the deletion of the only character of an inline element is in its Text node, and the word deleted by Control or Alt+Delete does not include the spaces that follow it. 8 results: the text of a list item that is joined to the text before the list is followed by a <br>, Delete on the empty last line of <p>abc<br>{}<br></p> joins the next paragraph to the first line, an empty <span> is kept when the next paragraph is joined, a non-editable paragraph after an empty one is not deleted, and Shift+Delete and Meta+Delete are not emulated. 6 subtests need a selection with several ranges (table cells), which only Firefox has. |
input-events-get-target-ranges-joining-dl-element-and-another-list.tentative.html | Fail | 260 / 296 | BUG | 36 of 296 subtests: 20 results that Chrome and Safari pass (Firefox fails them): Backspace at the start of a dt or dd that follows another list moves it out of its list as a div, as the specification says, instead of joining it to the last item of the list (<ul><li>list-item1</li></ul><div>list-item2</div>, expected <ul><li>list-item1list-item2</li></ul>), and a selection from a dt to the start of an item of another list moves this item into the dl. 8 target ranges that every browser fails, and 8 subtests whose markup is not valid for the helper of the test (<dt}>: Should match number of open/close markers), which fail in every browser. |
input-events-get-target-ranges-joining-dl-elements.tentative.html | Fail | 790 / 880 | BUG | 90 of 880 subtests: 66 results that Chrome and Safari pass (Firefox fails them): Backspace at the start of the first dt or dd of a dl that follows another dl moves the item out of its list as a div, as the specification says, instead of joining it to the last item of the previous list (<dl><dt>list-item1</dt></dl><div>list-item2</div>, expected <dl><dt>list-item1list-item2</dt></dl>), and a selection that ends at the start of the first item of the second list merges the lists. 24 target ranges that every browser fails: the range of the selection is returned, where the test expects it to start at the start of the first item or to end before the item. |
input-events-get-target-ranges-non-collapsed-selection.tentative.html | Fail | 165 / 210 | BUG | 45 of 210 subtests (39 pass only in Firefox, 5 in no browser, 1 in the three browsers): 35 target ranges, 33 of which only Firefox computes: the range is the range of the selection (a boundary point next to a Text node is moved into it), where the test expects it extended over the collapsible white space that is deleted with the selection (<p>abc [</p><p>] def</p> expects (#text "abc", 3) - (#text "def", 3)) or ending after the <br> of an empty block. 9 results that only Firefox passes or that every browser fails: the text of a list item joined to the text before the list is followed by a <br> (<div>abc[<ul><li>]def</li></ul>ghi</div> gives <div>abcdef<br>ghi</div>, expected <div>abcdefghi</div>). 1 subtest passes in the three browsers: typing over a selected <hr> between two spaces (<div>abc {<hr>} def</div>) keeps the space that follows (abca def, expected abcadef; the deletion with Backspace or Delete passes), because the insertion commands still canonicalize the white space as the specification says. |
input-events-range-exceptions.tentative.html | Fail | 0 / 4 | NOT IMPLEMENTED | the tentative validation of targetRanges by the InputEvent constructor (an IndexSizeError for a StaticRange whose offsets are greater than the length of its nodes), and the tentative clamping of the ranges when the event is dispatched |