OLD | NEW |
1 <html> | 1 <!DOCTYPE html> |
2 <head> | 2 <script src="../../resources/testharness.js"></script> |
3 | 3 <script src="../../resources/testharnessreport.js"></script> |
4 <style> | |
5 .editing { | |
6 border: 2px solid red; | |
7 font-size: 24px; | |
8 } | |
9 .explanation { | |
10 border: 2px solid blue; | |
11 padding: 12px; | |
12 font-size: 24px; | |
13 margin-bottom: 24px; | |
14 } | |
15 .scenario { margin-bottom: 16px;} | |
16 .scenario:first-line { font-weight: bold; margin-bottom: 16px;} | |
17 .expected-results:first-line { font-weight: bold } | |
18 </style> | |
19 <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script
> | |
20 | |
21 <script> | |
22 | |
23 function editingTest() { | |
24 var target = document.getElementById('test'); | |
25 var x = target.offsetLeft; | |
26 var y = target.offsetTop + target.offsetHeight / 2; | |
27 doubleClick(x, y); | |
28 cutCommand(); | |
29 typeCharacterCommand('.'); | |
30 typeCharacterCommand('.'); | |
31 moveSelectionBackwardByCharacterCommand(); | |
32 pasteCommand(); | |
33 } | |
34 | |
35 </script> | |
36 | |
37 <title>Editing Test</title> | |
38 </head> | |
39 <body> | |
40 | |
41 <div class="explanation"> | 4 <div class="explanation"> |
42 <div class="scenario"> | 5 <div class="scenario"> |
43 Tests: | 6 Tests: |
44 <br> | 7 <br> |
45 Smart paste when pasting between two periods. | 8 Smart paste when pasting between two periods. |
46 </div> | 9 </div> |
47 <div class="expected-results"> | 10 <div class="expected-results"> |
48 Expected Results: | 11 Expected Results: |
49 <br> | 12 <br> |
50 A space should be added before, but not after the pasted word. It should look li
ke this: | 13 A space should be added before, but not after the pasted word. It should look li
ke this: |
51 <BR> | 14 <BR> |
52 . test. | 15 . test. |
53 </div> | 16 </div> |
54 </div> | 17 </div> |
55 | 18 |
56 <div contenteditable id="root" style="word-wrap: break-word; -khtml-nbsp-mode: s
pace; -khtml-line-break: after-white-space;"> | 19 <div contenteditable id="root" style="word-wrap: break-word; -khtml-nbsp-mode: s
pace; -khtml-line-break: after-white-space;"><div id="sample">test</div></div> |
57 <div id="test" class="editing"> | 20 <div id="log"></div> |
58 test | 21 <script> |
59 </div> | 22 test(function() { |
60 </div> | 23 if (!window.internals && !window.eventSender) |
| 24 return; |
61 | 25 |
62 <script> | 26 internals.settings.setEditingBehavior('win'); |
63 runEditingTest(); | 27 |
| 28 var selection = window.getSelection(); |
| 29 var sample = document.getElementById('sample'); |
| 30 |
| 31 var x = sample.offsetLeft; |
| 32 var y = sample.offsetTop + sample.offsetHeight / 2; |
| 33 eventSender.mouseMoveTo(x, y); |
| 34 eventSender.mouseDown(); |
| 35 eventSender.mouseUp(); |
| 36 eventSender.mouseDown(); |
| 37 eventSender.mouseUp(); |
| 38 |
| 39 document.execCommand('cut'); |
| 40 document.execCommand('insertText', false, '.'); |
| 41 document.execCommand('insertText', false, '.'); |
| 42 selection.modify('move', 'backward', 'character'); |
| 43 document.execCommand('paste'); |
| 44 |
| 45 assert_equals(sample.innerHTML, '. test.'); |
| 46 assert_true(selection.isCollapsed, 'isCollapsed'); |
| 47 assert_equals(selection.anchorNode, sample.firstChild, 'anchorNode'); |
| 48 assert_equals(selection.anchorOffset, 6, 'anchorOffset'); |
| 49 }); |
64 </script> | 50 </script> |
65 | |
66 </body> | |
67 </html> | |
OLD | NEW |