<html> 
<head>

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

<script>

jsTestIsAsync = true;

if (window.internals) {
    internals.settings.setUnifiedTextCheckerEnabled(true);
    internals.settings.setAsynchronousSpellCheckingEnabled(true);
}

function editingTest() {

    var elem = document.getElementById("test");
    var selection = window.getSelection();
    selection.setPosition(elem, 1);

    typeCharacterCommand('z');
    typeCharacterCommand('z');
    typeCharacterCommand(' ');
    typeCharacterCommand('a');
    typeCharacterCommand(' ');
    typeCharacterCommand('a');
    moveSelectionBackwardByWordCommand();
    insertLineBreakCommand();

    if (window.testRunner) {
        selection.setPosition(elem, 0);
        shouldBecomeEqual("internals.hasSpellingMarker(6, 2)", "true", function() {
            document.getElementById("root").style.display = "none";
            finishJSTest();
        });
    }

}

</script>

<title>Editing Test</title> 
</head> 
<body>
<script>
description("Misspellings should be preserved when a line-break command "
    + "splits a text node. You should see 'Hello,zz a' on the first line below, "
    + "and 'a' on the second line. "
    + "This test succeeds when 'zz' (and only 'zz') is marked as misspelled.");
</script>
<div contenteditable id="root" class="editing">
<!-- wee need leading "Hello," to preserve the marker even after setPosition() -->
<span id="test">Hello,</span>
</div>
<script>
editingTest();
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
