| <html> | |
| <head> | |
| <style> | |
| .editing { | |
| border: 2px solid red; | |
| } | |
| .explanation { | |
| border: 2px solid blue; | |
| padding: 12px; | |
| font-size: 24px; | |
| margin-bottom: 24px; | |
| } | |
| .scenario { margin-bottom: 16px;} | |
| .scenario:first-line { font-weight: bold; margin-bottom: 16px;} | |
| </style> | |
| <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script> | |
| <script> | |
| function sendDeleteWordKey() | |
| { | |
| var deleteWordModifiers; | |
| if (navigator.userAgent.search(/\bMac OS X\b/) != -1) | |
| deleteWordModifiers = ["altKey"]; | |
| else | |
| deleteWordModifiers = ["ctrlKey"]; | |
| if (window.eventSender) | |
| eventSender.keyDown(String.fromCharCode(8), deleteWordModifiers); | |
| window.setTimeout(undoNow, 100); | |
| } | |
| function undoNow() | |
| { | |
| document.execCommand("Undo"); | |
| if (window.testRunner) | |
| testRunner.notifyDone(); | |
| } | |
| function editingTest() { | |
| typeCharacterCommand('o'); | |
| typeCharacterCommand('n'); | |
| typeCharacterCommand('e'); | |
| typeCharacterCommand(' '); | |
| typeCharacterCommand('t'); | |
| typeCharacterCommand('w'); | |
| typeCharacterCommand('o'); | |
| typeCharacterCommand(' '); | |
| typeCharacterCommand('t'); | |
| typeCharacterCommand('h'); | |
| typeCharacterCommand('r'); | |
| typeCharacterCommand('e'); | |
| typeCharacterCommand('e'); | |
| typeCharacterCommand(' '); | |
| typeCharacterCommand('f'); | |
| typeCharacterCommand('o'); | |
| typeCharacterCommand('u'); | |
| typeCharacterCommand('r'); | |
| window.setTimeout(sendDeleteWordKey, 100); | |
| } | |
| </script> | |
| <title>Editing Test</title> | |
| </head> | |
| <body> | |
| <div class="explanation"> | |
| <div class="scenario"> | |
| Tests: | |
| <br> | |
| Undo a delete word after a series of insertText does not wipe out the entire content. | |
| </div> | |
| </div> | |
| <div contenteditable id="root"> | |
| <div id="test" class="editing"></div> | |
| </div> | |
| <script> | |
| if (window.testRunner) { | |
| testRunner.dumpAsText(); | |
| testRunner.waitUntilDone(); | |
| } | |
| var selection = window.getSelection(); | |
| selection.setPosition(document.getElementById("test"), 0); | |
| editingTest(); | |
| </script> | |
| </body> | |
| </html> |