<html>
<head>
<script src=../../editing.js></script>
<script src="../../../resources/js-test-pre.js"></script>
<script>

function editingTest() {
    edit = document.getElementById('edit');
    edit.focus();
    typeCharacterCommand('s');
    typeCharacterCommand('i');
    
    if (window.internals)
        internals.handleAcceptedCandidate("is", 0, 2);

    if (window.testRunner)
        testRunner.dumpAsText(true);
}

</script>
</head>
<body>
<p>This test verifies that accepted candidates that do not have spaces don't add them.</p>
<div style="border:1px solid black;">
    <div contenteditable="true" id="edit"></div>
</div>
<script>
runEditingTest();
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
