Bug 1776680 [wpt PR 34603] - [@container] Test invalidation of font-relative units...
[gecko.git] / dom / events / test / test_accel_virtual_modifier.html
blob6d98053fa231efeca4e6741a834f0b3fbea8e267
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test for DOM "Accel" virtual modifier</title>
5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
7 </head>
8 <body>
9 <p id="display"></p>
10 <div id="content" style="display: none">
12 </div>
13 <pre id="test">
14 <script type="application/javascript">
16 var kAccel = "Accel";
17 var kAccelKeyCode = SpecialPowers.getIntPref("ui.key.accelKey");
19 var mouseEvent = new MouseEvent("mousedown", {});
20 is(mouseEvent.getModifierState(kAccel), false,
21 "MouseEvent.getModifierState(\"" + kAccel + "\") should be false");
22 mouseEvent = new MouseEvent("wheel", { accelKey: true});
23 is(mouseEvent.getModifierState(kAccel), false,
24 "MouseEvent.getModifierState(\"" + kAccel + "\") should be false due to not supporting accelKey attribute");
25 mouseEvent = new MouseEvent("mousedown", { ctrlKey: true });
26 is(mouseEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL,
27 "MouseEvent.getModifierState(\"" + kAccel + "\") should be true if ctrlKey is an accel modifier");
28 mouseEvent = new MouseEvent("mousedown", { altKey: true });
29 is(mouseEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_ALT,
30 "MouseEvent.getModifierState(\"" + kAccel + "\") should be true if altKey is an accel modifier");
31 mouseEvent = new MouseEvent("mousedown", { metaKey: true });
32 is(mouseEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_META,
33 "MouseEvent.getModifierState(\"" + kAccel + "\") should be true if metaKey is an accel modifier");
34 mouseEvent = new MouseEvent("mousedown", { ctrlKey: true, altKey: true, metaKey: true });
35 is(mouseEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL ||
36 kAccelKeyCode == KeyboardEvent.DOM_VK_ALT ||
37 kAccelKeyCode == KeyboardEvent.DOM_VK_META,
38 "MouseEvent.getModifierState(\"" + kAccel + "\") should be true if one of ctrlKey, altKey or metaKey is an accel modifier");
40 var wheelEvent = new WheelEvent("wheel", {});
41 is(wheelEvent.getModifierState(kAccel), false,
42 "WheelEvent.getModifierState(\"" + kAccel + "\") should be false");
43 wheelEvent = new WheelEvent("wheel", { accelKey: true});
44 is(wheelEvent.getModifierState(kAccel), false,
45 "WheelEvent.getModifierState(\"" + kAccel + "\") should be false due to not supporting accelKey attribute");
46 wheelEvent = new WheelEvent("wheel", { ctrlKey: true });
47 is(wheelEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL,
48 "WheelEvent.getModifierState(\"" + kAccel + "\") should be true if ctrlKey is an accel modifier");
49 wheelEvent = new WheelEvent("wheel", { altKey: true });
50 is(wheelEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_ALT,
51 "WheelEvent.getModifierState(\"" + kAccel + "\") should be true if altKey is an accel modifier");
52 wheelEvent = new WheelEvent("wheel", { metaKey: true });
53 is(wheelEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_META,
54 "WheelEvent.getModifierState(\"" + kAccel + "\") should be true if metaKey is an accel modifier");
55 wheelEvent = new WheelEvent("wheel", { ctrlKey: true, altKey: true, metaKey: true });
56 is(wheelEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL ||
57 kAccelKeyCode == KeyboardEvent.DOM_VK_ALT ||
58 kAccelKeyCode == KeyboardEvent.DOM_VK_META,
59 "WheelEvent.getModifierState(\"" + kAccel + "\") should be true if one of ctrlKey, altKey or metaKey is an accel modifier");
61 var keyboardEvent = new KeyboardEvent("keydown", {});
62 is(keyboardEvent.getModifierState(kAccel), false,
63 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be false");
64 keyboardEvent = new KeyboardEvent("keydown", { accelKey: true});
65 is(keyboardEvent.getModifierState(kAccel), false,
66 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be false due to not supporting accelKey attribute");
67 keyboardEvent = new KeyboardEvent("keydown", { ctrlKey: true });
68 is(keyboardEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL,
69 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be true if ctrlKey is an accel modifier");
70 keyboardEvent = new KeyboardEvent("keydown", { altKey: true });
71 is(keyboardEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_ALT,
72 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be true if altKey is an accel modifier");
73 keyboardEvent = new KeyboardEvent("keydown", { metaKey: true });
74 is(keyboardEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_META,
75 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be true if metaKey is an accel modifier");
76 keyboardEvent = new KeyboardEvent("keydown", { ctrlKey: true, altKey: true, metaKey: true });
77 is(keyboardEvent.getModifierState(kAccel), kAccelKeyCode == KeyboardEvent.DOM_VK_CONTROL ||
78 kAccelKeyCode == KeyboardEvent.DOM_VK_ALT ||
79 kAccelKeyCode == KeyboardEvent.DOM_VK_META,
80 "KeyboardEvent.getModifierState(\"" + kAccel + "\") should be true if one of ctrlKey, altKey or metaKey is an accel modifier");
82 // "Accel" virtual modifier must be supported with getModifierState(). So, any legacy init*Event()'s
83 // modifiers list argument shouldn't accept "Accel".
84 ok(typeof(KeyboardEvent.initKeyboardEvent) != "function",
85 "If we would support KeyboardEvent.initKeyboardEvent, we should test its modifier list argument doesn't accept \"" + kAccel + "\"");
87 </script>
88 </pre>
89 </body>
90 </html>