| Index: LayoutTests/fast/events/ime-composition-events-001.html
|
| diff --git a/LayoutTests/fast/events/ime-composition-events-001.html b/LayoutTests/fast/events/ime-composition-events-001.html
|
| index 1a5e59625fcdc3b5791e6babe3c3be81efd5125e..209bf56c0dd8bc01beeae2249c65204734060c53 100644
|
| --- a/LayoutTests/fast/events/ime-composition-events-001.html
|
| +++ b/LayoutTests/fast/events/ime-composition-events-001.html
|
| @@ -1,75 +1,70 @@
|
| <html>
|
| <head>
|
| -<title></title>
|
| +<script src="../js/resources/js-test-pre.js"></script>
|
| </head>
|
| <body>
|
| -<p>This tests that calling input-method functions sends Composition Events and Text Events introduced in DOM Level 3.</p>
|
| -<p>To test manually, enable an IME, input CJK characters, and see this page doesn't show 'FAILED' lines.</p>
|
| -<input id="test" type="text"/>
|
| -<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);
|
| +<input id="test" type="text">
|
| +<script>
|
| +description('This tests that calling input-method functions sends Composition Events and Text Events introduced in DOM Level 3. ' +
|
| +'To test manually, enable an IME, input CJK characters, and see this page doesn\'t show \'FAIL\' lines.');
|
| +</script>
|
| +<script>
|
| +function logCompositionStart(event) {
|
| + shouldBeEqualToString('event.type', 'compositionstart');
|
| + testPassed('event.data is "' + event.data + '"');
|
| +}
|
| +
|
| +function logCompositionUpdate(event) {
|
| + shouldBeEqualToString('event.type', 'compositionupdate');
|
| + testPassed('event.data is "' + event.data + '"');
|
| }
|
|
|
| -function logEvent(e) {
|
| - var target = e.target;
|
| - var type = e.type;
|
| - if (e.type == 'compositionstart' || e.type == 'compositionupdate' || e.type == 'compositionend' || e.type == 'textInput')
|
| - log('SUCCESS: ' + target.tagName + ' - ' + e.type + ' - "' + e.data + '"');
|
| - else
|
| - log('FAILED: ' + target.tagName + ' - ' + e.type + ' - "' + e.data + '"');
|
| +function logCompositionEnd(event) {
|
| + shouldBeEqualToString('event.type', 'compositionend');
|
| + testPassed('event.data is "' + event.data + '"');
|
| +}
|
| +
|
| +function logTextInput(event) {
|
| + shouldBeEqualToString('event.type', 'textInput');
|
| + testPassed('event.data is "' + event.data + '"');
|
| }
|
|
|
| var test = document.getElementById('test');
|
| test.focus();
|
|
|
| -if (window.testRunner) {
|
| - testRunner.dumpAsText();
|
| -
|
| - // Add event listeners to the <input> node.
|
| - test.addEventListener("compositionstart", logEvent, false);
|
| - test.addEventListener("compositionupdate", logEvent, false);
|
| - test.addEventListener("compositionend", logEvent, false);
|
| - test.addEventListener("textInput", logEvent, false);
|
| +// Add event listeners to the <input> node.
|
| +test.addEventListener('compositionstart', logCompositionStart, false);
|
| +test.addEventListener('compositionupdate', logCompositionUpdate, false);
|
| +test.addEventListener('compositionend', logCompositionEnd, false);
|
| +test.addEventListener('textInput', logTextInput, false);
|
|
|
| - // Case 1: Compose a text and commit it.
|
| - textInputController.setMarkedText('1', 0, 1);
|
| - textInputController.setMarkedText('2', 0, 1);
|
| - textInputController.setMarkedText('3', 0, 1);
|
| - textInputController.insertText('4');
|
| +// Case 1: Compose a text and commit it.
|
| +textInputController.setMarkedText('1', 0, 1);
|
| +textInputController.setMarkedText('2', 0, 1);
|
| +textInputController.setMarkedText('3', 0, 1);
|
| +textInputController.insertText('4');
|
|
|
| - // Case 2: Compose a text but cancel it.
|
| - textInputController.setMarkedText('5', 0, 1);
|
| - textInputController.setMarkedText('6', 0, 1);
|
| - textInputController.setMarkedText('7', 0, 1);
|
| - textInputController.setMarkedText('', 0, 0);
|
| +// Case 2: Compose a text but cancel it.
|
| +textInputController.setMarkedText('5', 0, 1);
|
| +textInputController.setMarkedText('6', 0, 1);
|
| +textInputController.setMarkedText('7', 0, 1);
|
| +textInputController.setMarkedText('', 0, 0);
|
|
|
| - // Case 3: Insert a text without composition.
|
| - textInputController.insertText('8');
|
| +// Case 3: Insert a text without composition.
|
| +textInputController.insertText('8');
|
|
|
| - // Case 4: Compose a text and commit it by removing the mark.
|
| - // Only Mac and Chromium ports support unmarkText.
|
| - if (textInputController.unmarkText) {
|
| - textInputController.setMarkedText('9', 0, 1);
|
| - textInputController.unmarkText();
|
| - }
|
| +// Case 4: Compose a text and commit it by removing the mark.
|
| +textInputController.setMarkedText('9', 0, 1);
|
| +textInputController.unmarkText();
|
|
|
| - // Case 5: Compose a text on selection and commit it.
|
| - test.value = 'I have a pen';
|
| - test.selectionStart = 2;
|
| - test.selectionEnd = 6;
|
| - textInputController.setMarkedText('lost', 0, 1);
|
| - textInputController.insertText('made');
|
| - if (test.value == 'I made a pen') {
|
| - log('SUCCESS: ' + test.value);
|
| - } else {
|
| - log('FAILURE: ' + test.value + ' is not "I made a pen".');
|
| - }
|
| -}
|
| +// Case 5: Compose a text on selection and commit it.
|
| +test.value = 'I have a pen';
|
| +test.selectionStart = 2;
|
| +test.selectionEnd = 6;
|
| +textInputController.setMarkedText('lost', 0, 1);
|
| +textInputController.insertText('made');
|
| +shouldBeEqualToString('test.value', 'I made a pen');
|
| </script>
|
| +<script src="../js/resources/js-test-post.js"></script>
|
| </body>
|
| </html>
|
|
|