<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();
    underlineCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
    typeCharacterCommand(' ');
    for (i = 0; i < 6; i++)
        typeCharacterCommand();
}

</script>

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

<script>
runDumpAsTextEditingTest();
</script>

</body>
</html>
