<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 < 21; i++) {
            execExtendSelectionForwardByCharacterCommand();
            execStrikethroughCommand();
            
    }
 }

</script>

<title>Editing Test</title> 
</head> 
<body>
<div contenteditable id="root" class="editing">
<span id="test">"The quick brown fox jumps over the lazy dog" uses every
letter in the english language.

<p>Here's to the crazy ones, the misfits, the rebels,
 the trouble makers,
 the round pegs in the square holes,
 the ones who see things differently.
 There not fond of rules, and they have no respect for the status quo,
 you can quote then,
 disagree with them,
 glorify or vilify them,
 about the only thing you can't do is ignore them. 
 Because they change things.
 They push the human race forward.
 And while some may see them as the crazy ones,
 we see genius.
 Because the people who are crazy enough to think they can change the world
 are the ones who do.
</p>
</span>
</div>

<script>
runEditingTest();
</script>

</body>
</html>
