<html> 
<head>

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

<script>

function editingTest() {
    for (i = 0; i < 7; i++)
        extendSelectionForwardByCharacterCommand();
    copyCommand();
    selectAllCommand();
    deleteCommand();
    pasteCommand();
    insertParagraphCommand();
    pasteCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body contenteditable>
<div id="root">
<div id="test" class="editing"><p>foo</p><p>bar</p></div>
</div>
 
<script>
runEditingTest();
</script>

</body>
</html>
