Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE html> | |
| 2 <script src="../../resources/testharness.js"></script> | |
| 3 <script src="../../resources/testharnessreport.js"></script> | |
| 4 <div id="editable" contenteditable>Test</div> | |
| 5 <div id="shadowHost"></div> | |
| 6 <script> | |
| 7 (function () { | |
| 8 function testSelectionGetRangeAt(name, selection, textNode) { | |
| 9 selection.collapse(textNode, textNode.textContent.length); | |
| 10 test(function () { | |
| 11 assert_equals(selection.anchorNode, textNode); | |
|
yosin_UTC9
2015/01/06 08:39:37
Since we change |getRangeAt()| function, we don't
kojii
2015/01/07 06:53:52
Done.
| |
| 12 assert_equals(selection.anchorOffset, textNode.textContent.length); | |
| 13 assert_true(selection.isCollapsed); | |
| 14 }, name + ": collapsed: selection"); | |
| 15 test(function () { | |
| 16 var range = selection.getRangeAt(0); | |
| 17 assert_equals(range.startContainer, textNode); | |
| 18 assert_equals(range.startOffset, textNode.textContent.length); | |
| 19 assert_true(range.collapsed); | |
| 20 }, name + ": collapsed: selection.getRangeAt(0)"); | |
| 21 | |
| 22 var startOffset = 1, endOffset = 2; | |
| 23 selection.setBaseAndExtent(textNode, startOffset, textNode, endOffset); | |
|
yosin_UTC9
2015/01/06 08:39:36
Since, Firefox doesn't support |setBaseAndExtend()
kojii
2015/01/07 06:53:52
Done.
| |
| 24 test(function () { | |
| 25 assert_equals(selection.anchorNode, textNode); | |
| 26 assert_equals(selection.anchorOffset, startOffset); | |
| 27 assert_equals(selection.focusNode, textNode); | |
| 28 assert_equals(selection.focusOffset, endOffset); | |
| 29 assert_false(selection.isCollapsed); | |
| 30 }, name + ": range: selection"); | |
| 31 test(function () { | |
| 32 var range = selection.getRangeAt(0); | |
| 33 assert_equals(range.startContainer, textNode); | |
| 34 assert_equals(range.startOffset, startOffset); | |
| 35 assert_equals(range.endContainer, textNode); | |
| 36 assert_equals(range.endOffset, endOffset); | |
| 37 assert_false(range.collapsed); | |
| 38 }, name + ": range: selection.getRangeAt(0)"); | |
| 39 } | |
| 40 | |
| 41 testSelectionGetRangeAt("Non-Shadow", window.getSelection(), editable.firstC hild); | |
| 42 | |
| 43 var shadowRoot = shadowHost.createShadowRoot(); | |
| 44 shadowRoot.innerHTML = '<div id="editable" contenteditable>Test</div>'; | |
| 45 var textNode = shadowRoot.querySelector("#editable").firstChild; | |
| 46 testSelectionGetRangeAt("Shadow", shadowRoot.getSelection(), textNode); | |
| 47 | |
| 48 test(function () { | |
|
yosin_UTC9
2015/01/06 08:39:37
Since we change |getRangeAt()| function, we don't
kojii
2015/01/07 06:53:52
Done.
| |
| 49 assert_not_equals(window.getSelection().anchorNode, textNode); | |
| 50 }, "Nodes in Shadow should not be exposed to window.getSelection()"); | |
| 51 })(); | |
| 52 </script> | |
| OLD | NEW |