70 lines
2.1 KiB
HTML
70 lines
2.1 KiB
HTML
<html><head></head>
|
|
<body>
|
|
<p>This test verifies that the correct sequence of keyboard events is generated for a keypress for certain special keys. To test manually, press keys and compare results to other browsers.</p>
|
|
<input type="text"></input>
|
|
<div id="log"></div>
|
|
|
|
<script>
|
|
function log(msg) {
|
|
document.getElementById("log").innerHTML+= msg + "<br>";
|
|
}
|
|
|
|
function logEvent(e) {
|
|
var target = e.target;
|
|
var type = e.type;
|
|
|
|
var info = target.tagName + " - " + type + ' - ';
|
|
if (type == "textInput") {
|
|
info += e.data;
|
|
} else if (type == "keydown" || type == "keypress" || type == "keyup") {
|
|
info += [e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.getModifierState('CapsLock')] +
|
|
' - ' + e.key +
|
|
' - ' + e.code +
|
|
' - ' + e.keyIdentifier +
|
|
' - ' + e.keyCode +
|
|
' - ' + e.charCode;
|
|
}
|
|
info += '. Value: "' + target.value + '".';
|
|
log(info);
|
|
}
|
|
|
|
log("target - type - " + ["ctrlKey", "altKey", "shiftKey", "metaKey", "capsLockKey"]
|
|
+ ' - ' + "key"
|
|
+ ' - ' + "code"
|
|
+ ' - ' + "keyIdentifier"
|
|
+ ' - ' + "keyCode"
|
|
+ ' - ' + "charCode");
|
|
|
|
var input = document.getElementsByTagName("input")[0];
|
|
input.addEventListener('textInput', logEvent, false);
|
|
input.addEventListener('keypress', logEvent, false);
|
|
input.addEventListener('keydown', logEvent, false);
|
|
input.addEventListener('keyup', logEvent, false);
|
|
input.focus();
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
log("<br>Ampersand:");
|
|
eventSender.keyDown("7", ["shiftKey"]);
|
|
log("<br>Backspace:");
|
|
eventSender.keyDown("\x08", []);
|
|
log("<br>Percent:");
|
|
eventSender.keyDown("5", ["shiftKey"]);
|
|
log("<br>Backspace:");
|
|
eventSender.keyDown("\x08", []);
|
|
log("<br>Left parenthesis:");
|
|
eventSender.keyDown("9", ["shiftKey"]);
|
|
log("<br>Backspace:");
|
|
eventSender.keyDown("\x08", []);
|
|
log("<br>Right parenthesis:");
|
|
eventSender.keyDown("0", ["shiftKey"]);
|
|
log("<br>Backspace:");
|
|
eventSender.keyDown("\x08", []);
|
|
log("<br>Print screen:");
|
|
eventSender.keyDown("printScreen", []);
|
|
log("<br>'a' key with Caps Lock:");
|
|
eventSender.keyDown("a", ["capsLockKey"]);
|
|
}
|
|
</script>
|
|
</body></html>
|