<html>
<head>
<title></title>
</head>
<body>
<p>This tests that IME keypresses modify textarea and input values before and after they are confirmed.
To test, switch to an IME. Type some text and see that the underlined text shows up in the textarea's and
input's values.</p>

<textarea id="textarea" cols="40" rows="10"></textarea>
<ul id="console"></ul>

<script language="javascript" type="text/javascript">
function log(str) {
   var li = document.createElement('li');
   li.appendChild(document.createTextNode(str));
   var console = document.getElementById('console');
   console.appendChild(li);
}

function setMarkedText(textarea, text, start, end) {
    // Update the text of a composition node, i.e. call Editor::setComposition().
    textInputController.setMarkedText(text, start, end);
    // Verify the value of the <textarea> element is the same as the given text.
    if (textarea.value == text)
        log('SUCCEEDED');
    else
        log('FAILED: expected="' + text + '", actual="' + textarea.value + '"');
}

function insertText(textarea, text) {
    // Update the text of a composition node and finish an ongoing composition, i.e. call
    // Editor::completeComposition().
    textInputController.insertText(text);
    // Verify the value of the <textarea> element is the same as the given text.
    if (textarea.value == text)
        log('SUCCEEDED');
    else
        log('FAILED: expected="' + text + '", actual="' + textarea.value + '"');
}

var textarea = document.getElementById('textarea');
textarea.focus();
if (window.testRunner) {
    testRunner.dumpAsText();
    setMarkedText(textarea, '\u314E', 0, 1);
    setMarkedText(textarea, '\uD638', 0, 1);
    setMarkedText(textarea, '\uD64D', 0, 1);
    insertText(textarea, '\uD64D');
}
</script>
</body>
</html>
