add KeyboardEvent tests

This commit is contained in:
nikneym
2025-09-11 14:20:07 +03:00
parent f79f25bcf4
commit 8f31fd778b

View File

@@ -1,22 +1,87 @@
<script src="../testing.js"></script> <script src="../testing.js"></script>
<script id=default> <script id=default>
const button = document.createElement("button"); let event = new KeyboardEvent("test", { key: "a" });
testing.expectEqual(true, event instanceof KeyboardEvent);
testing.expectEqual(true, event instanceof Event);
document.addEventListener("keydown", (event) => { testing.expectEqual("test", event.type);
console.log(event.target); testing.expectEqual("a", event.key);
});
document.addEventListener("DOMContentLoaded", () => { testing.expectEqual(0, event.location);
document.body.appendChild(button); testing.expectEqual(false, event.repeat);
button.focus(); testing.expectEqual(false, event.isComposing);
});
testing.expectEqual(true, true); testing.expectEqual(false, event.ctrlKey);
testing.expectEqual(false, event.shiftKey);
testing.expectEqual(false, event.metaKey);
testing.expectEqual(false, event.altKey);
</script> </script>
<script id=keyboardEvent> <script id=getModifierState>
const keyboardEvent = new KeyboardEvent("a"); event = new KeyboardEvent("test", {
console.lp(keyboardEvent.type); altKey: true,
shiftKey: true,
metaKey: true,
ctrlKey: true,
});
testing.expectEqual(true, true); testing.expectEqual(true, event.getModifierState("Alt"));
testing.expectEqual(true, event.getModifierState("AltGraph"));
testing.expectEqual(true, event.getModifierState("Control"));
testing.expectEqual(true, event.getModifierState("Shift"));
testing.expectEqual(true, event.getModifierState("Meta"));
testing.expectEqual(true, event.getModifierState("OS"));
testing.expectEqual(true, event.getModifierState("Accel"));
</script>
<script id=keyDownListener>
event = new KeyboardEvent("keydown", { key: "z" });
let isKeyDown = false;
document.addEventListener("keydown", (e) => {
isKeyDown = true;
testing.expectEqual(true, e instanceof KeyboardEvent);
testing.expectEqual(true, e instanceof Event);
testing.expectEqual("z", event.key);
});
document.dispatchEvent(event);
testing.expectEqual(true, isKeyDown);
</script>
<script id=keyUpListener>
event = new KeyboardEvent("keyup", { key: "x" });
let isKeyUp = false;
document.addEventListener("keyup", (e) => {
isKeyUp = true;
testing.expectEqual(true, e instanceof KeyboardEvent);
testing.expectEqual(true, e instanceof Event);
testing.expectEqual("x", event.key);
});
document.dispatchEvent(event);
testing.expectEqual(true, isKeyUp);
</script>
<script id=keyPressListener>
event = new KeyboardEvent("keypress", { key: "w" });
let isKeyPress = false;
document.addEventListener("keypress", (e) => {
isKeyPress = true;
testing.expectEqual(true, e instanceof KeyboardEvent);
testing.expectEqual(true, e instanceof Event);
testing.expectEqual("w", event.key);
});
document.dispatchEvent(event);
testing.expectEqual(true, isKeyPress);
</script> </script>