OLD | NEW |
1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
2 <html> | 2 <html> |
3 <body> | 3 <body> |
4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/js-test.js"></script> |
5 | 5 |
6 <div contentEditable> | 6 <div contentEditable> |
7 <p id="before">Before</p> | 7 <p id="before">Before</p> |
8 <p id="middle" contentEditable="false">Middle</p> | 8 <p id="middle" contentEditable="false">Middle</p> |
9 <p id="after">After</p> | 9 <p id="after">After</p> |
10 </div> | 10 </div> |
11 | 11 |
12 <div id="console"></div> | 12 <div id="console"></div> |
13 <script> | 13 <script> |
14 description("Ensure that extending a selection inside a contentEditable skips pa
st an uneditable region."); | 14 description("Ensure that extending a selection inside a contentEditable skips pa
st an uneditable region."); |
15 | 15 |
16 var before = document.getElementById("before"); | 16 var before = document.getElementById("before"); |
17 var after = document.getElementById("after"); | 17 var after = document.getElementById("after"); |
18 | 18 |
19 var sel = window.getSelection(); | 19 var sel = window.getSelection(); |
20 sel.setBaseAndExtent(before, 0, before, 6); | 20 sel.setBaseAndExtent(before, 0, before, 1); |
21 sel.modify("extend", "forward", "character"); | 21 sel.modify("extend", "forward", "character"); |
22 shouldBe("sel.focusNode", "after"); | 22 shouldBe("sel.focusNode", "after"); |
23 | 23 |
24 sel.setBaseAndExtent(after, 5, after, 0); | 24 sel.setBaseAndExtent(after, 1, after, 0); |
25 sel.modify("extend", "backward", "character"); | 25 sel.modify("extend", "backward", "character"); |
26 shouldBe("sel.focusNode.parentElement", "before"); | 26 shouldBe("sel.focusNode.parentElement", "before"); |
27 | 27 |
28 sel.setBaseAndExtent(before, 0, before, 6); | 28 sel.setBaseAndExtent(before, 0, before, 1); |
29 sel.modify("extend", "forward", "word"); | 29 sel.modify("extend", "forward", "word"); |
30 shouldBe("sel.focusNode", "after"); | 30 shouldBe("sel.focusNode", "after"); |
31 | 31 |
32 sel.setBaseAndExtent(after, 5, after, 0); | 32 sel.setBaseAndExtent(after, 1, after, 0); |
33 sel.modify("extend", "backward", "word"); | 33 sel.modify("extend", "backward", "word"); |
34 shouldBe("sel.focusNode.parentElement", "before"); | 34 shouldBe("sel.focusNode.parentElement", "before"); |
35 | 35 |
36 sel.setBaseAndExtent(before, 0, before, 6); | 36 sel.setBaseAndExtent(before, 0, before, 1); |
37 sel.modify("extend", "forward", "line"); | 37 sel.modify("extend", "forward", "line"); |
38 shouldBe("sel.focusNode.parentElement", "after"); | 38 shouldBe("sel.focusNode.parentElement", "after"); |
39 | 39 |
40 sel.setBaseAndExtent(after, 5, after, 0); | 40 sel.setBaseAndExtent(after, 1, after, 0); |
41 sel.modify("extend", "backward", "line"); | 41 sel.modify("extend", "backward", "line"); |
42 shouldBe("sel.focusNode.parentElement", "before"); | 42 shouldBe("sel.focusNode.parentElement", "before"); |
43 </script> | 43 </script> |
44 | 44 |
45 </body> | 45 </body> |
46 </html> | 46 </html> |
OLD | NEW |