<html> 
<head>
<script src=../../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
function editingTest() {
    if (window.testRunner) {
        testRunner.setSpellCheckerLoggingEnabled(true);
        testRunner.dumpAsText();
    }

    typeCharacterCommand('t');
    typeCharacterCommand('h');
    typeCharacterCommand('e');
    typeCharacterCommand(' ');
    typeCharacterCommand('n');
    typeCharacterCommand('o');
    typeCharacterCommand('t');
    typeCharacterCommand('a');
    typeCharacterCommand('t');
    typeCharacterCommand('i');
    typeCharacterCommand('o');
    typeCharacterCommand('n');
    typeCharacterCommand('l');
    typeCharacterCommand(' ');
}
</script>

</head>
<body>
<p>This test verifies that accepted candidates that were accepted immediately and unseen by the user still trigger NSSpellChecker reporting. A single "recordResponseToCorrection" logging should be output by this test, correcting "notationl" to "notational", and should be accepted.</p>
<div contenteditable id="root" class="editing">
<span id="test"></span>
</div>

<script>
runEditingTestWithCallbackLogging(false);
</script>

</body>
</html>
