blob: 4b3ea89a2765bb0eee07b2d282ba18451e7efd62 [file] [log] [blame]
<div>
This tests that the hangul IM behaviour in which enter both confirms a composition but still sends a keypress for the &lt;enter&gt;.<br />
To test manually, switch to the 2-Set Korean IM and type at least two characters and press &lt;enter&gt;, if the behaviour is correct a single keypress event should be fired as the last event.
</div>
<input id="targetInput" onkeydown="keyDown()" onkeypress="keyPress()"></input>
<ul id="console"></console>
<script src="resources/logger.js"></script>
<script src="resources/hangul.js"></script>
<script>
var shouldBeCompositionEvent = false;
function keyDown() {
if (!window.testRunner) {
log("keydown : keyCode == " + event.keyCode);
return;
}
if (shouldBeCompositionEvent && event.keyCode != 229)
log("FAILURE: received keyCode " + event.keyCode + " in a keydown when VK_PROCESSKEY is expected");
else if (!shouldBeCompositionEvent && event.keyCode == 229)
log("FAILURE: received a keyDown with VK_PROCESSKEY as the keyCode, when an actual key code was expected.");
else
log("Received valid keydown event");
}
function keyPress() {
if (!window.testRunner) {
log("keypress : keyCode == " + event.keyCode);
return;
}
if (shouldBeCompositionEvent)
log("FAILURE: received keypress event during composition");
else
log("Received valid keypress event");
}
var targetInput = document.getElementById('targetInput');
targetInput.focus();
if (window.testRunner) {
testRunner.dumpAsText();
textInputController.setInputMethodHandler(hangul);
shouldBeCompositionEvent = true;
eventSender.keyDown('t');
eventSender.keyDown('o');
shouldBeCompositionEvent = false;
eventSender.keyDown('\n');
}
</script>