<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 < 3; i++)
        moveSelectionForwardByLineCommand();
    moveSelectionBackwardByCharacterCommand();
    insertParagraphCommand();
}

</script>

<title>Editing Test</title> 
</head> 
<body>
<div class="explanation">
You should see one "x" followed by two blank lines, then one more "x". The blank lines should be the same height. 
The second and third lines <b>must</b> be the same height.
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>
