<!DOCTYPE html>
<html>
<body>
<p>This tests selecting all with an open input method composition.
To manually test, type some letter in the editable region below and then select all.
WebKit should not delete contents.</p>
<div id="container"><div contenteditable>PAS</div></div>
<script src="../../resources/dump-as-markup.js"></script>
<script>

if (window.testRunner) {
    var container = document.getElementById('container');
    container.firstChild.focus();
    getSelection().setPosition(container.firstChild.firstChild, 5);
    if (window.textInputController) {
        Markup.description(document.getElementsByTagName('p')[0].textContent);

        textInputController.setMarkedText("S", 0, 1);
        document.execCommand('selectAll', false, null);

        Markup.dump(container);
    } else
        Markup.description('FAIL - This test requires textInputController');
}

</script>
</body>
</html>
