| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../resources/testharness.js"></script> | 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> | 3 <script src="../../resources/testharnessreport.js"></script> |
| 4 <p>There was a bug in paste's smart replace whitespace handling. In some cases, | 4 <p>There was a bug in paste's smart replace whitespace handling. In some cases, |
| 5 it used information gathered at the start of the selection being pasted into to | 5 it used information gathered at the start of the selection being pasted into to |
| 6 decide whether or not a space needed to be added to the end of the incoming | 6 decide whether or not a space needed to be added to the end of the incoming |
| 7 content.</p> | 7 content.</p> |
| 8 <p>A smart paste is performed into a selection starting in one block and ending | 8 <p>A smart paste is performed into a selection starting in one block and ending |
| 9 in another. Spaces should surround the pasted word.</p> | 9 in another. Spaces should surround the pasted word.</p> |
| 10 <div id="sample" contenteditable="true"><div id="foo">foo</div><div id="bar">x b
ar</div></div> | 10 <div id="sample" contenteditable="true"><div id="foo">foo</div><div id="bar">x b
ar</div></div> |
| 11 <div id="log"></div> | 11 <div id="log"></div> |
| 12 <script> | 12 <script> |
| 13 test(function() { | 13 test(function() { |
| 14 var selection = window.getSelection(); | 14 var selection = window.getSelection(); |
| 15 var sample = document.getElementById('sample'); | 15 var sample = document.getElementById('sample'); |
| 16 | 16 |
| 17 if (!window.internals && !window.eventSender) | 17 if (!window.internals && !window.eventSender) |
| 18 return; | 18 return; |
| 19 | 19 |
| 20 internals.settings.setEditingBehavior('win'); | 20 internals.settings.setEditingBehavior('win'); |
| 21 | 21 |
| 22 selection.setBaseAndExtent(sample, 0, sample, 0); | 22 var foo = document.getElementById('foo'); |
| 23 selection.selectAllChildren(foo); |
| 23 var rects = window.getSelection().getRangeAt(0).getClientRects(); | 24 var rects = window.getSelection().getRangeAt(0).getClientRects(); |
| 24 var x = rects[0].left; | 25 var x = rects[0].left; |
| 25 var y = rects[0].top; | 26 var y = rects[0].top; |
| 26 eventSender.mouseMoveTo(x, y); | 27 eventSender.mouseMoveTo(x, y); |
| 27 eventSender.mouseDown(); | 28 eventSender.mouseDown(); |
| 28 eventSender.mouseUp(); | 29 eventSender.mouseUp(); |
| 29 eventSender.mouseDown(); | 30 eventSender.mouseDown(); |
| 30 eventSender.mouseUp(); | 31 eventSender.mouseUp(); |
| 31 document.execCommand('copy'); | 32 document.execCommand('copy'); |
| 32 | 33 |
| 33 selection.collapse(document.getElementById('foo').firstChild, 1); | 34 selection.collapse(foo.firstChild, 1); |
| 34 selection.extend(document.getElementById('bar').firstChild, 1); | 35 selection.extend(document.getElementById('bar').firstChild, 1); |
| 35 document.execCommand('paste'); | 36 document.execCommand('paste'); |
| 36 | 37 |
| 37 assert_equals(sample.innerHTML, '<div id="foo">f foo bar</div>', 'innerHTML'
); | 38 assert_equals(sample.innerHTML, '<div id="foo">f foo bar</div>', 'innerHTML'
); |
| 38 assert_true(selection.isCollapsed, 'isCollapsed'); | 39 assert_true(selection.isCollapsed, 'isCollapsed'); |
| 39 assert_equals(selection.anchorNode, document.getElementById('foo').firstChil
d, 'anchorNode'); | 40 assert_equals(selection.anchorNode, foo.firstChild, 'anchorNode'); |
| 40 assert_equals(selection.anchorOffset, 5, 'anchorOffset'); | 41 assert_equals(selection.anchorOffset, 5, 'anchorOffset'); |
| 41 }); | 42 }); |
| 42 </script> | 43 </script> |
| OLD | NEW |