<html> 
<head>

<style>
.editing { 
    font-size: 16px; 
}
.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();
    insertParagraphCommand();
    insertParagraphCommand();
    typeCharacterCommand();
    for (i = 0; i < 3; i++)
        extendSelectionBackwardByLineCommand();
    fontSizeCommand("7");
    for (i = 0; i < 4; i++)
        moveSelectionForwardByLineCommand();
    deleteCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body>
<div class="explanation">
You should see one "x" followed by two blank lines. The blank lines should be the same height. 
The second line <b>must</b> be the same height as the first.
See: &lt;<a href="rdar://problem/3959727">rdar://problem/3959727</a>&gt; REGRESSION (Mail): Style not preserved on blank lines
</div>

<div contenteditable="true" id="root" style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;">
<div id="test" class="editing">x</div>
</div>

<script>
runDumpAsTextEditingTest();
</script>

</body>
</html>
