<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() {
    for (i = 0; i < 51; i++)
        moveSelectionForwardByCharacterCommand();
    for (i = 0; i < 46; i++)
        extendSelectionForwardByCharacterCommand();
    copyCommand();
    pasteCommand();
    pasteCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body contenteditable id="root">

<div class="editing" id="test">Omitted, all the voyage of their life,<div class="editing">Is bound in shallows and in miseries.</div>Upon such a full sea are we now afloat,</div>
 
<script>
runEditingTest();
</script>

</body>
</html>
