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 <script> |
| 6 // TODO(editing-dev): Once http://crbug.com/736253 fixed, we should use |
| 7 // |chrome.pointerActionSequence()| instead of |eventSender|. |
| 8 test(() => { |
| 9 function doDoubleClickInMiddle(selection, target) { |
| 10 const document = selection.document; |
| 11 const clickX = target.offsetLeft + target.offsetWidth / 2; |
| 12 const clickY = target.offsetTop + target.offsetHeight / 2; |
| 13 eventSender.mouseMoveTo(document.offsetLeft + clickX, |
| 14 document.offsetTop + clickY); |
| 15 eventSender.mouseDown(); |
| 16 eventSender.mouseUp(); |
| 17 eventSender.mouseDown(); |
| 18 eventSender.mouseUp(); |
| 19 } |
| 20 |
| 21 assert_exists(window, 'eventSender', 'This test requires eventSender.'); |
| 22 |
| 23 assert_selection( |
| 24 '<span id="sample">xyz</span>', |
| 25 selection => { |
| 26 const sample = selection.document.getElementById('sample'); |
| 27 doDoubleClickInMiddle(selection, sample); |
| 28 sample.insertBefore(new Text('abc'), sample.firstChild); |
| 29 }, |
| 30 '<span id="sample">abc^xyz|</span>', |
| 31 'DOM modification outside selection should not affect selection'); |
| 32 }, 'Double-click and modify text'); |
| 33 </script> |
OLD | NEW |