| OLD | NEW |
| (Empty) | |
| 1 <!doctype html> |
| 2 <script src="../../../resources/testharness.js"></script> |
| 3 <script src="../../../resources/testharnessreport.js"></script> |
| 4 <script src="../../assert_selection.js"></script> |
| 5 <div id="log"></div> |
| 6 <script> |
| 7 test(() => { |
| 8 assert_selection( |
| 9 '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| 10 selection => selection.modify('extend', 'forward', 'character'), |
| 11 '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>'); |
| 12 assert_selection( |
| 13 '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| 14 selection => selection.modify('extend', 'right', 'character'), |
| 15 '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>'); |
| 16 assert_selection( |
| 17 '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>', |
| 18 selection => selection.modify('extend', 'backward', 'character'), |
| 19 '<div>foo|<span style="-webkit-user-select:all">bar</span>baz</div>'); |
| 20 assert_selection( |
| 21 '<div>foo<span style="-webkit-user-select:all">^bar|</span>baz</div>', |
| 22 selection => selection.modify('extend', 'left', 'character'), |
| 23 '<div>foo|<span style="-webkit-user-select:all">bar</span>baz</div>'); |
| 24 }, 'Modify extend skips over user-select:all.'); |
| 25 test(() => { |
| 26 assert_selection( |
| 27 '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| 28 selection => selection.modify('move', 'forward', 'character'), |
| 29 '<div>foo<span style="-webkit-user-select:all">b|ar</span>baz</div>'); |
| 30 assert_selection( |
| 31 '<div>foo<span style="-webkit-user-select:all">|bar</span>baz</div>', |
| 32 selection => selection.modify('move', 'right', 'character'), |
| 33 '<div>foo<span style="-webkit-user-select:all">b|ar</span>baz</div>'); |
| 34 assert_selection( |
| 35 '<div>foo<span style="-webkit-user-select:all">bar|</span>baz</div>', |
| 36 selection => selection.modify('move', 'backward', 'character'), |
| 37 '<div>foo<span style="-webkit-user-select:all">ba|r</span>baz</div>'); |
| 38 assert_selection( |
| 39 '<div>foo<span style="-webkit-user-select:all">bar|</span>baz</div>', |
| 40 selection => selection.modify('move', 'left', 'character'), |
| 41 '<div>foo<span style="-webkit-user-select:all">ba|r</span>baz</div>'); |
| 42 }, 'Modify move is not affected by user-select:all.'); |
| 43 test(() => { |
| 44 function mouseMoveFromTo(selection, fromX, toX) { |
| 45 eventSender.dragMode = false; |
| 46 var document = selection.document; |
| 47 var root = document.getElementById('div'); |
| 48 eventSender.mouseMoveTo(document.offsetLeft + fromX, document.offsetTop
+ root.offsetTop + 5); |
| 49 eventSender.mouseDown(); |
| 50 eventSender.leapForward(100); |
| 51 eventSender.mouseMoveTo(document.offsetLeft + toX, document.offsetTop +
root.offsetTop + 5); |
| 52 eventSender.mouseUp(); |
| 53 }; |
| 54 |
| 55 assert_selection( |
| 56 '<div id="div">foo<span style="-webkit-user-select:all">bar<span id="mid
dle">bar</span>bar</span>baz</div>', |
| 57 selection => { |
| 58 var middle = selection.document.getElementById('middle'); |
| 59 mouseMoveFromTo(selection, middle.offsetLeft, middle.offsetLeft + mi
ddle.offsetWidth);}, |
| 60 '<div id="div">foo<span style="-webkit-user-select:all">^bar<span id="mi
ddle">bar</span>bar|</span>baz</div>'); |
| 61 assert_selection( |
| 62 '<div id="div">foo<span style="-webkit-user-select:all">bar<span id="mid
dle">bar</span>bar</span>baz</div>', |
| 63 selection => { |
| 64 var document = selection.document; |
| 65 mouseMoveFromTo(selection, document.getElementById('div').offsetLeft
, document.getElementById('middle').offsetLeft);}, |
| 66 '<div id="div">^foo<span style="-webkit-user-select:all">bar<span id="mi
ddle">bar</span>bar|</span>baz</div>'); |
| 67 assert_selection( |
| 68 '<div id="div">foo<span style="-webkit-user-select:all">bar<span id="mid
dle">bar</span>bar</span>baz</div>', |
| 69 selection => { |
| 70 var document = selection.document; |
| 71 var middle = document.getElementById('middle'); |
| 72 var div = document.getElementById('div'); |
| 73 mouseMoveFromTo(selection, div.offsetLeft + div.offsetWidth, middle.
offsetLeft);}, |
| 74 '<div id="div">foo<span style="-webkit-user-select:all">|bar<span id="mi
ddle">bar</span>bar</span>baz^</div>'); |
| 75 }, 'Mouse move selects over user-select:all.'); |
| 76 test(() => { |
| 77 assert_selection( |
| 78 '<div>foo<span style="-webkit-user-select:all">bar<span id="middle">bar<
/span>bar</span>|baz</div>', |
| 79 selection => { |
| 80 var middle = selection.document.getElementById('middle'); |
| 81 selection.selectAllChildren(middle);}, |
| 82 '<div>foo<span style="-webkit-user-select:all">bar<span id="middle">^bar
|</span>bar</span>baz</div>'); |
| 83 }, 'Selection.selectAllChildren is not affected by user-select:all.'); |
| 84 </script> |
| OLD | NEW |