test_accel_virtual_modifier.html (5690B)
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"> 11 12 </div> 13 <pre id="test"> 14 <script type="application/javascript"> 15 16 var kAccel = "Accel"; 17 var kAccelKeyCode = SpecialPowers.getIntPref("ui.key.accelKey"); 18 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"); 39 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"); 60 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"); 81 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 + "\""); 86 87 </script> 88 </pre> 89 </body> 90 </html>