| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <body> | 3 <body> |
| 4 <p>This test ensures selectstart is fired when selection is created by arrow key
s.</p> | 4 <p>This test ensures selectstart is fired when selection is created by arrow key
s.</p> |
| 5 If running this test manually, click on div ("Hello World") element and try to s
elect the text using arrow keys.<br> | 5 If running this test manually, click on div ("Hello World") element and try to s
elect the text using arrow keys.<br> |
| 6 Expected result : SelectStart event will fire when user starts extending selecti
on.<br> | 6 Expected result : SelectStart event will fire when user starts extending selecti
on.<br> |
| 7 <div id="test" contenteditable>Hello World</div> | 7 <div id="test" contenteditable>Hello World</div> |
| 8 <script> | 8 <script> |
| 9 | 9 |
| 10 var selectStartCount = 0; | 10 var selectStartCount = 0; |
| 11 var div = document.getElementById('test'); | 11 var div = document.getElementById('test'); |
| 12 div.addEventListener('selectstart', function (event) { selectStartCount++; }); | 12 div.addEventListener('selectstart', function (event) { selectStartCount++; }); |
| 13 div.focus(); | 13 div.focus(); |
| 14 | 14 |
| 15 if (window.testRunner) { | 15 if (window.testRunner) { |
| 16 testRunner.dumpAsText(); | 16 testRunner.dumpAsText(); |
| 17 logResult('Initial state', 0); | 17 logResult('Initial state', 0); |
| 18 | 18 |
| 19 eventSender.keyDown("rightArrow"); | 19 eventSender.keyDown("ArrowRight"); |
| 20 logResult('Check (Right arrow)', 0); | 20 logResult('Check (Right arrow)', 0); |
| 21 | 21 |
| 22 eventSender.keyDown("rightArrow", ["shiftKey"]); | 22 eventSender.keyDown("ArrowRight", ["shiftKey"]); |
| 23 logResult('Check (Right arrow + Shift)', 1); | 23 logResult('Check (Right arrow + Shift)', 1); |
| 24 | 24 |
| 25 if (navigator.platform.indexOf('Mac') == 0) | 25 if (navigator.platform.indexOf('Mac') == 0) |
| 26 eventSender.keyDown("rightArrow", ["shiftKey"], ["altKey"]); | 26 eventSender.keyDown("ArrowRight", ["shiftKey"], ["altKey"]); |
| 27 else | 27 else |
| 28 eventSender.keyDown("rightArrow", ["shiftKey"], ["ctrlKey"]); | 28 eventSender.keyDown("ArrowRight", ["shiftKey"], ["ctrlKey"]); |
| 29 logResult('Check (Right arrow + Shift + Control)', 1); | 29 logResult('Check (Right arrow + Shift + Control)', 1); |
| 30 | 30 |
| 31 eventSender.keyDown("end", ["shiftKey"]); | 31 eventSender.keyDown("End", ["shiftKey"]); |
| 32 logResult('Check (End + Shift)', 1); | 32 logResult('Check (End + Shift)', 1); |
| 33 | 33 |
| 34 eventSender.keyDown("home", ["shiftKey"]); | 34 eventSender.keyDown("Home", ["shiftKey"]); |
| 35 logResult('Check (Home + Shift)', 1); | 35 logResult('Check (Home + Shift)', 1); |
| 36 | 36 |
| 37 eventSender.keyDown("end", ["shiftKey"]); | 37 eventSender.keyDown("End", ["shiftKey"]); |
| 38 logResult('Check (End + Shift)', 1); | 38 logResult('Check (End + Shift)', 1); |
| 39 | 39 |
| 40 // On Mac, home/end doesn't move caret so manually select " World". | 40 // On Mac, home/end doesn't move caret so manually select " World". |
| 41 if (navigator.platform.indexOf('Mac') == 0) | 41 if (navigator.platform.indexOf('Mac') == 0) |
| 42 window.getSelection().setBaseAndExtent(div.firstChild, div.textContent.i
ndexOf('World'), div.firstChild, div.textContent.length); | 42 window.getSelection().setBaseAndExtent(div.firstChild, div.textContent.i
ndexOf('World'), div.firstChild, div.textContent.length); |
| 43 | 43 |
| 44 eventSender.keyDown("leftArrow"); | 44 eventSender.keyDown("ArrowLeft"); |
| 45 logResult('Check (Left arrow)', 1); | 45 logResult('Check (Left arrow)', 1); |
| 46 | 46 |
| 47 if (navigator.platform.indexOf('Mac') == 0) | 47 if (navigator.platform.indexOf('Mac') == 0) |
| 48 eventSender.keyDown("leftArrow", ["shiftKey"], ["altKey"]); | 48 eventSender.keyDown("ArrowLeft", ["shiftKey"], ["altKey"]); |
| 49 else | 49 else |
| 50 eventSender.keyDown("leftArrow", ["shiftKey"], ["ctrlKey"]); | 50 eventSender.keyDown("ArrowLeft", ["shiftKey"], ["ctrlKey"]); |
| 51 logResult('Check (LeftArrow + Shift + Control)', 2); | 51 logResult('Check (LeftArrow + Shift + Control)', 2); |
| 52 | 52 |
| 53 eventSender.keyDown("leftArrow", ["shiftKey"]); | 53 eventSender.keyDown("ArrowLeft", ["shiftKey"]); |
| 54 logResult('Check (Left arrow + Shift)', 2); | 54 logResult('Check (Left arrow + Shift)', 2); |
| 55 | 55 |
| 56 eventSender.keyDown("end", ["shiftKey"]); | 56 eventSender.keyDown("End", ["shiftKey"]); |
| 57 logResult('Check (Home + Shift)', 2); | 57 logResult('Check (Home + Shift)', 2); |
| 58 | 58 |
| 59 eventSender.keyDown("home", ["ctrlKey"]); | 59 eventSender.keyDown("Home", ["ctrlKey"]); |
| 60 logResult('Check (Home + Control)', 2); | 60 logResult('Check (Home + Control)', 2); |
| 61 } | 61 } |
| 62 | 62 |
| 63 document.write("Done.") | 63 document.write("Done.") |
| 64 | 64 |
| 65 function logResult(title, expectedCount) { | 65 function logResult(title, expectedCount) { |
| 66 document.write(title + ': '); | 66 document.write(title + ': '); |
| 67 if (selectStartCount != expectedCount) | 67 if (selectStartCount != expectedCount) |
| 68 document.write('FAIL - expected ' + expectedCount + ' events but got ' +
selectStartCount + ' events'); | 68 document.write('FAIL - expected ' + expectedCount + ' events but got ' +
selectStartCount + ' events'); |
| 69 else | 69 else |
| 70 document.write('PASS'); | 70 document.write('PASS'); |
| 71 document.write('<br>'); | 71 document.write('<br>'); |
| 72 } | 72 } |
| 73 </script> | 73 </script> |
| 74 </body> | 74 </body> |
| 75 </html> | 75 </html> |
| OLD | NEW |