<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() {
    boldCommand();
    underlineCommand();
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    insertParagraphCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    moveSelectionBackwardByWordCommand();
    moveSelectionBackwardByWordCommand();
    moveSelectionBackwardByWordCommand();
    extendSelectionForwardByWordCommand();
    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>
