Skip to content

Commit f54111b

Browse files
committed
add KeyboardEvent tests
1 parent bc6775a commit f54111b

File tree

1 file changed

+77
-12
lines changed

1 file changed

+77
-12
lines changed

src/tests/events/keyboard.html

Lines changed: 77 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,87 @@
11
<script src="../testing.js"></script>
2+
23
<script id=default>
3-
const button = document.createElement("button");
4+
let event = new KeyboardEvent("test", { key: "a" });
5+
testing.expectEqual(true, event instanceof KeyboardEvent);
6+
testing.expectEqual(true, event instanceof Event);
47

5-
document.addEventListener("keydown", (event) => {
6-
console.log(event.target);
7-
});
8+
testing.expectEqual("test", event.type);
9+
testing.expectEqual("a", event.key);
10+
11+
testing.expectEqual(0, event.location);
12+
testing.expectEqual(false, event.repeat);
13+
testing.expectEqual(false, event.isComposing);
14+
15+
testing.expectEqual(false, event.ctrlKey);
16+
testing.expectEqual(false, event.shiftKey);
17+
testing.expectEqual(false, event.metaKey);
18+
testing.expectEqual(false, event.altKey);
19+
</script>
820

9-
document.addEventListener("DOMContentLoaded", () => {
10-
document.body.appendChild(button);
11-
button.focus();
21+
<script id=getModifierState>
22+
event = new KeyboardEvent("test", {
23+
altKey: true,
24+
shiftKey: true,
25+
metaKey: true,
26+
ctrlKey: true,
1227
});
1328

14-
testing.expectEqual(true, true);
29+
testing.expectEqual(true, event.getModifierState("Alt"));
30+
testing.expectEqual(true, event.getModifierState("AltGraph"));
31+
testing.expectEqual(true, event.getModifierState("Control"));
32+
testing.expectEqual(true, event.getModifierState("Shift"));
33+
testing.expectEqual(true, event.getModifierState("Meta"));
34+
testing.expectEqual(true, event.getModifierState("OS"));
35+
testing.expectEqual(true, event.getModifierState("Accel"));
36+
</script>
37+
38+
<script id=keyDownListener>
39+
event = new KeyboardEvent("keydown", { key: "z" });
40+
let isKeyDown = false;
41+
42+
document.addEventListener("keydown", (e) => {
43+
isKeyDown = true;
44+
45+
testing.expectEqual(true, e instanceof KeyboardEvent);
46+
testing.expectEqual(true, e instanceof Event);
47+
testing.expectEqual("z", event.key);
48+
});
49+
50+
document.dispatchEvent(event);
51+
52+
testing.expectEqual(true, isKeyDown);
53+
</script>
54+
55+
<script id=keyUpListener>
56+
event = new KeyboardEvent("keyup", { key: "x" });
57+
let isKeyUp = false;
58+
59+
document.addEventListener("keyup", (e) => {
60+
isKeyUp = true;
61+
62+
testing.expectEqual(true, e instanceof KeyboardEvent);
63+
testing.expectEqual(true, e instanceof Event);
64+
testing.expectEqual("x", event.key);
65+
});
66+
67+
document.dispatchEvent(event);
68+
69+
testing.expectEqual(true, isKeyUp);
1570
</script>
1671

17-
<script id=keyboardEvent>
18-
const keyboardEvent = new KeyboardEvent("a");
19-
console.lp(keyboardEvent.type);
72+
<script id=keyPressListener>
73+
event = new KeyboardEvent("keypress", { key: "w" });
74+
let isKeyPress = false;
75+
76+
document.addEventListener("keypress", (e) => {
77+
isKeyPress = true;
78+
79+
testing.expectEqual(true, e instanceof KeyboardEvent);
80+
testing.expectEqual(true, e instanceof Event);
81+
testing.expectEqual("w", event.key);
82+
});
83+
84+
document.dispatchEvent(event);
2085

21-
testing.expectEqual(true, true);
86+
testing.expectEqual(true, isKeyPress);
2287
</script>

0 commit comments

Comments
 (0)