Editing tests should use testRunner instead of layoutTestController
[WebKit-https.git] / LayoutTests / platform / mac / editing / input / text-control-ime-input.html
1 <html>
2 <head>
3 <title></title>
4 </head>
5 <body>
6 <p>This tests that IME keypresses modify textarea and input values before and after they are confirmed.
7 To test, switch to an IME. Type some text and see that the underlined text shows up in the textarea's and
8 input's values.</p>
9
10 <textarea id="textarea" cols="40" rows="10"></textarea>
11 <ul id="console"></ul>
12
13 <script language="javascript" type="text/javascript">
14 function log(str) {
15    var li = document.createElement('li');
16    li.appendChild(document.createTextNode(str));
17    var console = document.getElementById('console');
18    console.appendChild(li);
19 }
20
21 function setMarkedText(textarea, text, start, end) {
22     // Update the text of a composition node, i.e. call Editor::setComposition().
23     textInputController.setMarkedText(text, start, end);
24     // Verify the value of the <textarea> element is the same as the given text.
25     if (textarea.value == text)
26         log('SUCCEEDED');
27     else
28         log('FAILED: expected="' + text + '", actual="' + textarea.value + '"');
29 }
30
31 function insertText(textarea, text) {
32     // Update the text of a composition node and finish an ongoing composition, i.e. call
33     // Editor::completeComposition().
34     textInputController.insertText(text);
35     // Verify the value of the <textarea> element is the same as the given text.
36     if (textarea.value == text)
37         log('SUCCEEDED');
38     else
39         log('FAILED: expected="' + text + '", actual="' + textarea.value + '"');
40 }
41
42 var textarea = document.getElementById('textarea');
43 textarea.focus();
44 if (window.testRunner) {
45     testRunner.dumpAsText();
46     setMarkedText(textarea, '\u314E', 0, 1);
47     setMarkedText(textarea, '\uD638', 0, 1);
48     setMarkedText(textarea, '\uD64D', 0, 1);
49     insertText(textarea, '\uD64D');
50 }
51 </script>
52 </body>
53 </html>