OLD | NEW |
---|---|
1 <!DOCTYPE html> | |
2 <script src="../../resources/testharness.js"></script> | |
3 <script src="../../resources/testharnessreport.js"></script> | |
1 <script> | 4 <script> |
2 if (window.testRunner) | 5 var tester = async_test('iframe'); |
3 testRunner.dumpEditingCallbacks(); | |
4 | |
5 function runTest() { | 6 function runTest() { |
7 var iframe = document.querySelector('iframe'); | |
6 var frame = frames[0]; | 8 var frame = frames[0]; |
7 var doc = frame.document; | 9 var sample = frame.document.body; |
8 var sel = frame.getSelection(); | 10 var selection = frame.getSelection(); |
9 sel.collapse(doc.body, 0); | 11 selection.collapse(sample, 0); |
10 doc.execCommand("InsertText", false, "foo bar baz"); | 12 frame.document.execCommand('insertText', false, 'foo bar baz'); |
11 | |
12 if (window.testRunner) { | |
13 // Attempt to put the mouse over the word 'bar'. The proper way to do t his | |
14 // would be to put 'bar' inside an id'd span so that we'd know it's coor dinates exactly. | |
15 var x = 50; | |
16 var y = 15; | |
17 eventSender.mouseMoveTo(x, y); | |
18 | 13 |
19 // Select 'bar' | 14 // Set "bar" to |range|. |
20 eventSender.mouseDown(); | 15 var range = new Range(sample.document); |
yoichio
2015/11/20 04:21:26
Move lines 15 to 18 to before L30 for readbility?
| |
21 eventSender.mouseUp(); | 16 range.setStart(sample.firstChild, 4); |
22 eventSender.mouseDown(); | 17 range.setEnd(sample.firstChild, 7); |
23 eventSender.mouseUp(); | 18 var rect = range.getBoundingClientRect(); |
24 | 19 |
25 // Pause so that the mouse down will start a drag instead of a triple cl ick. | 20 if (!window.internals && !window.eventSender) |
26 eventSender.leapForward(1500); | 21 return; |
27 | 22 |
28 eventSender.mouseDown(); | 23 internals.settings.setEditingBehavior('win'); |
29 eventSender.leapForward(1000); | 24 internals.settings.setSmartInsertDeleteEnabled(true); |
30 | 25 internals.settings.setSelectTrailingWhitespaceEnabled(true); |
31 x += 100; | 26 |
32 // Drop it like it's hot. | 27 // Attempt to put the mouse over the word 'bar'. The proper way to do this |
33 eventSender.mouseMoveTo(x, y); | 28 // would be to put 'bar' inside an id'd span so that we'd know it's |
34 eventSender.mouseUp(); | 29 // coordinates exactly. |
35 | 30 var x = iframe.offsetLeft + rect.left + 3; |
36 window.testRunner.notifyDone(); | 31 var y = iframe.offsetTop + rect.top + 3 |
37 } | 32 eventSender.mouseMoveTo(x, y); |
33 | |
34 // Select 'bar' | |
35 eventSender.mouseDown(); | |
36 eventSender.mouseUp(); | |
37 eventSender.mouseDown(); | |
38 eventSender.mouseUp(); | |
39 | |
40 // Pause so that the mouse down will start a drag instead of a triple click. | |
41 eventSender.leapForward(1500); | |
42 | |
43 eventSender.mouseDown(); | |
44 eventSender.leapForward(1000); | |
45 | |
46 x += 100; | |
47 // Drop it like it's hot. | |
48 eventSender.mouseMoveTo(x, y); | |
49 eventSender.mouseUp(); | |
50 | |
51 tester.step(function() { | |
52 assert_equals(sample.innerHTML, 'foo baz bar ', 'innerHTML'); | |
53 assert_false(selection.isCollapsed, 'isCollapsed'); | |
54 assert_equals(selection.anchorNode, sample.firstChild, 'anchorNode'); | |
55 assert_equals(selection.anchorOffset, 7, 'anchorOffset'); | |
56 }); | |
57 | |
58 tester.done(); | |
38 } | 59 } |
39 if (window.testRunner) | |
40 window.testRunner.waitUntilDone(); | |
41 </script> | 60 </script> |
42 <body style="margin: 0px; padding: 0px;"> | 61 <iframe srcdoc="<body contenteditable style='font-family:monospace'></body>" onl oad="runTest();"></iframe> |
43 <iframe style="margin: 0; padding: 0; height: 300px; width: 300px;" src="../reso urces/contenteditable-iframe-src.html" onload="runTest();"></iframe> | |
44 <p>This test uses the eventSender to do drag and drop. To run it manually, drag the word selected in the above subframe and drop it after 'baz'. The result sho uld be 'foo baz bar'.</p> | 62 <p>This test uses the eventSender to do drag and drop. To run it manually, drag the word selected in the above subframe and drop it after 'baz'. The result sho uld be 'foo baz bar'.</p> |
45 </body> | 63 <div id="log"></div> |
OLD | NEW |