<html> 
<head>

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

<script>

function editingTest() {
    moveSelectionForwardByCharacterCommand();
    extendSelectionForwardByLineCommand();
    extendSelectionForwardByLineCommand();
    extendSelectionForwardByCharacterCommand();
    deleteCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body contenteditable="true">
<div class="explanation">
Should see "XX" in outer red box, and another "XX" in an orange box nested in a green box.
</div>

<div id="root" style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;">
<div id="test" class="editing">
X
<div class="editing" style="border-color: green;">
<div class="editing" style="border-color: purple;">should not see this content</div><div class="editing" style="border-color: yellow;">XX</div><div class="editing" style="border-color: orange;">XX</div>
</div>
</div>
</div>

<script>
runEditingTest();
</script>

</body>
</html>
