<html> 
<head>

<style>
.editing { 
    border: 2px solid red; 
    padding: 12px; 
    font-size: 24px; 
}
</style>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>

<script>

function editingTest() {
    underlineCommand();
    boldCommand();
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    moveSelectionBackwardByWordCommand();
    moveSelectionBackwardByWordCommand();
    extendSelectionForwardByWordCommand();
    underlineCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body>
<div contenteditable id="root" class="editing">
<span id="test"></span>
</div>

<script>
runEditingTest();
</script>

</body>
</html>
