<!DOCTYPE html>
<html> 
<head>
<style>
.editing { 
    border: 2px solid red; 
    font-size: 24px; 
}
.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;}
.expected-results:first-line { font-weight: bold }
</style>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<title>Editing Test</title> 
</head> 
<body>
<div class="explanation">
<div class="scenario">
Tests: 
<br>
Option-delete when no typing command is open, then undo.
</div>
<div class="expected-results">
Expected Results:
<br>
It should like this, with the word "two" selected:
<BR>
one two three four
</div>
</div>
<div contenteditable id="root" style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;">
<div id="test" class="editing">one two three four</div>
</div>
<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);
    debugForDumpAsText("DeleteWord");
}

function editingTest()
{
    moveSelectionForwardByWordCommand();
    moveSelectionForwardByWordCommand();
    sendDeleteWordKey();
    undoCommand();
}

runDumpAsTextEditingTest(true);
</script>
</body>
</html>
