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"/>
10 <div id=
"content" style=
"display: none">
14 <script type=
"application/javascript">
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 + "\
"");