| <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] --> |
| <html> |
| <head> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <script src="../../resources/dump-as-markup.js"></script> |
| <script src="../../resources/ui-helper.js"></script> |
| <style> |
| p { |
| font-size: 20px; |
| } |
| |
| p + p { |
| margin-top: 100px; |
| } |
| |
| #start { |
| border: 1px solid blue; |
| } |
| |
| #end { |
| padding-right: 2px; |
| border: 1px solid tomato; |
| } |
| </style> |
| </head> |
| <body> |
| <div>This test verifies that shift-clicking to extend an existing text selection does not unselect the currently selected text. To test manually, load the page and shift-click the capital letter T on the second line. The text 'lazy dog. T' should be selected.</div> |
| <div id="container"> |
| <p>The quick brown fox jumped over the <span id="start">lazy dog.</span></p> |
| <p><span id="end">T</span>he quick brown fox jumped over the lazy dog.</p> |
| </div> |
| <script> |
| getSelection().selectAllChildren(document.getElementById("start")); |
| Markup.waitUntilDone(); |
| |
| (async function () { |
| if (!window.testRunner) |
| return; |
| |
| internals.settings.setEditingBehavior("mac"); |
| Markup.dump(document.getElementById("container"), "Before extending the selection"); |
| |
| await UIHelper.callFunctionAndWaitForEvent(() => UIHelper.activateElement(document.getElementById("end"), ["shiftKey"]), document.body, "click"); |
| |
| Markup.dump(document.getElementById("container"), "After extending the selection"); |
| Markup.notifyDone(); |
| })(); |
| </script> |
| </body> |
| </html> |