| <html> |
| <head> |
| <script> |
| if (window.layoutTestController) |
| layoutTestController.dumpEditingCallbacks(); |
| </script> |
| |
| <script> |
| function runTest() { |
| if (window.layoutTestController) |
| layoutTestController.dumpAsText(); |
| else { |
| log('This test must be run by DumpRenderTree!') |
| return; |
| } |
| |
| var onMacPlatform = false; |
| if (navigator.userAgent.search(/\bMac OS X\b/) != -1) |
| onMacPlatform = true; |
| |
| var area = document.getElementById('area'); |
| area.focus(); |
| |
| var sel = window.getSelection(); |
| // Position the caret at the beginning of the string. |
| eventSender.keyDown("leftArrow"); |
| |
| // Now move to the end |
| if (onMacPlatform) |
| eventSender.keyDown("rightArrow", ["metaKey"]); |
| else |
| eventSender.keyDown("end"); |
| |
| if (sel.baseOffset != 9 || sel.extentOffset != 9) |
| return; |
| |
| // Now move back to the beginning |
| if (onMacPlatform) |
| eventSender.keyDown("leftArrow", ["metaKey"]); |
| else |
| eventSender.keyDown("home"); |
| |
| if (sel.baseOffset != 0 || sel.extentOffset != 0) |
| return; |
| |
| // Now move to the end, selecting |
| if (onMacPlatform) |
| eventSender.keyDown("rightArrow", ["metaKey", "shiftKey"]); |
| else |
| eventSender.keyDown("end",["shiftKey"]); |
| |
| if (sel.baseOffset != 0 || sel.extentOffset != 9) |
| return; |
| |
| // Deselect but position the caret at the end |
| eventSender.keyDown("rightArrow"); |
| |
| if (sel.baseOffset != 9 || sel.extentOffset != 9) |
| return; |
| |
| // Now move to the beginning, selecting |
| if (onMacPlatform) |
| eventSender.keyDown("leftArrow", ["metaKey", "shiftKey"]); |
| else |
| eventSender.keyDown("home",["shiftKey"]); |
| |
| if (sel.baseOffset != 9 || sel.extentOffset != 0) |
| return; |
| |
| document.getElementById('result').innerHTML = 'SUCCESS' |
| } |
| </script> |
| </head> |
| <body onload="runTest();"> |
| <div contenteditable id="area">Some text</textarea> |
| <div>This tests that moving the caret and selecting using Command+Left/Right arrows work correctly. If this text is successful, the text "SUCCESS" will be shown below.</div> |
| <div id="result">FAILURE</div> |
| </body> |
| </html> |