This is a testharness.js-based test.
Found 112 tests; 110 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs<br>df]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
FAIL [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div contenteditable=\"true\"><table><tbody><tr><td><ol><li>f<b>s</b></li><li><b>d</b>f</li></ol></td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>" but got "<div contenteditable=\"true\"><table><tbody><tr><td><ol><li>f<b>s<br>d</b></li><li><b>d</b>f</li></ol></td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>"
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s<br>d</b>f]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[fs]<br>df</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
FAIL [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML assert_equals: Unexpected innerHTML (after normalizing inline style) expected "<div contenteditable=\"true\"><table><tbody><tr><td><ol><li>f<b>s</b></li></ol><b>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>" but got "<div contenteditable=\"true\"><table><tbody><tr><td><ol><li>f<b>s<br>d</b></li></ol><b>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>"
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr><td>[f<b>s]<br>d</b>f</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "1") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "1") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "1") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>": execCommand("insertOrderedList", false, "1") return value
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" checks for modifications to non-editable content
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" compare innerHTML
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") before
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandIndeterm("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandState("insertOrderedList") after
PASS [["insertOrderedList",""],["insertOrderedList","1"]] "<div contenteditable=\"true\"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>" queryCommandValue("insertOrderedList") after
Harness: the test ran to completion.

