test_dom_mouse_event.html (6037B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test for DOM MouseEvent</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 SimpleTest.waitForExplicitFinish(); 17 SimpleTest.waitForFocus(runTests, window); 18 19 function testInitializingUntrustedEvent() 20 { 21 const kTests = [ 22 { createEventArg: "MouseEvent", 23 type: "mousedown", bubbles: true, cancelable: true, view: null, detail: 1, 24 screenX: 0, screenY: 0, clientX: 0, clientY: 0, 25 ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, 26 button: 6, relatedTarget: null }, 27 28 { createEventArg: "mouseevent", 29 type: "mouseup", bubbles: false, cancelable: true, view: window, detail: 2, 30 screenX: 0, screenY: 0, clientX: 0, clientY: 400, 31 ctrlKey: true, altKey: false, shiftKey: false, metaKey: false, 32 button: 1, relatedTarget: document.getElementById("content") }, 33 34 { createEventArg: "Mouseevent", 35 type: "click", bubbles: true, cancelable: false, view: null, detail: -5, 36 screenX: 0, screenY: 0, clientX: 300, clientY: 0, 37 ctrlKey: false, altKey: true, shiftKey: false, metaKey: false, 38 button: 2, relatedTarget: document.getElementById("test") }, 39 40 { createEventArg: "mouseEvent", 41 type: "dblclick", bubbles: false, cancelable: false, view: window, detail: -1, 42 screenX: 0, screenY: 200, clientX: 0, clientY: 0, 43 ctrlKey: false, altKey: false, shiftKey: true, metaKey: false, 44 button: 12, relatedTarget: document.getElementById("content") }, 45 46 { createEventArg: "MouseEvents", 47 type: "mouseenter", bubbles: true, cancelable: true, view: null, detail: 111000, 48 screenX: 100, screenY: 0, clientX: 0, clientY: 0, 49 ctrlKey: false, altKey: false, shiftKey: false, metaKey: true, 50 button: 2, relatedTarget: document.getElementById("test") }, 51 52 { createEventArg: "mouseevents", 53 type: "mouseleave", bubbles: false, cancelable: true, view: window, detail: 500, 54 screenX: 100, screenY: 500, clientX: 0, clientY: 0, 55 ctrlKey: true, altKey: true, shiftKey: false, metaKey: false, 56 button: 8, relatedTarget: document.getElementById("content") }, 57 58 { createEventArg: "Mouseevents", 59 type: "mouseover", bubbles: true, cancelable: false, view: null, detail: 3, 60 screenX: 0, screenY: 0, clientX: 200, clientY: 300, 61 ctrlKey: false, altKey: true, shiftKey: false, metaKey: true, 62 button: 7, relatedTarget: document.getElementById("test") }, 63 64 { createEventArg: "mouseEvents", 65 type: "mouseout", bubbles: false, cancelable: false, view: window, detail: 5, 66 screenX: -100, screenY: 300, clientX: 600, clientY: -500, 67 ctrlKey: true, altKey: false, shiftKey: true, metaKey: false, 68 button: 8, relatedTarget: document.getElementById("content") }, 69 70 { createEventArg: "MouseEvent", 71 type: "mousemove", bubbles: false, cancelable: false, view: window, detail: 30, 72 screenX: 500, screenY: -100, clientX: -8888, clientY: -5000, 73 ctrlKey: true, altKey: false, shiftKey: true, metaKey: true, 74 button: 8, relatedTarget: document.getElementById("test") }, 75 76 { createEventArg: "MouseEvent", 77 type: "foo", bubbles: false, cancelable: false, view: window, detail: 100, 78 screenX: 2000, screenY: 6000, clientX: 5000, clientY: 3000, 79 ctrlKey: true, altKey: true, shiftKey: true, metaKey: true, 80 button: 8, relatedTarget: document.getElementById("test") }, 81 ]; 82 83 const kOtherModifierName = [ 84 "CapsLock", "NumLock", "ScrollLock", "Symbol", "SymbolLock", "Fn", "FnLock", "AltGraph" 85 ]; 86 87 const kInvalidModifierName = [ 88 "shift", "control", "alt", "meta", "capslock", "numlock", "scrolllock", 89 "symbollock", "fn", "OS", "altgraph", "Invalid", "Shift Control", 90 "Win", "Scroll" 91 ]; 92 93 for (var i = 0; i < kTests.length; i++) { 94 var description = "testInitializingUntrustedEvent, Index: " + i + ", "; 95 const kTest = kTests[i]; 96 var e = document.createEvent(kTest.createEventArg); 97 e.initMouseEvent(kTest.type, kTest.bubbles, kTest.cancelable, kTest.view, 98 kTest.detail, kTest.screenX, kTest.screenY, kTest.clientX, kTest.clientY, 99 kTest.ctrlKey, kTest.altKey, kTest.shiftKey, kTest.metaKey, 100 kTest.button, kTest.relatedTarget); 101 102 for (var attr in kTest) { 103 if (attr == "createEventArg") { 104 continue; 105 } 106 is(e[attr], kTest[attr], description + attr + " returns wrong value"); 107 } 108 is(e.isTrusted, false, description + "isTrusted returns wrong value"); 109 is(e.buttons, 0, description + "buttons returns wrong value"); 110 is(e.movementX, 0, description + "movementX returns wrong value"); 111 is(e.movementY, 0, description + "movementY returns wrong value"); 112 113 // getModifierState() tests 114 is(e.getModifierState("Shift"), kTest.shiftKey, 115 description + "getModifierState(\"Shift\") returns wrong value"); 116 is(e.getModifierState("Control"), kTest.ctrlKey, 117 description + "getModifierState(\"Control\") returns wrong value"); 118 is(e.getModifierState("Alt"), kTest.altKey, 119 description + "getModifierState(\"Alt\") returns wrong value"); 120 is(e.getModifierState("Meta"), kTest.metaKey, 121 description + "getModifierState(\"Meta\") returns wrong value"); 122 123 for (var j = 0; j < kOtherModifierName.length; j++) { 124 ok(!e.getModifierState(kOtherModifierName[j]), 125 description + "getModifierState(\"" + kOtherModifierName[j] + "\") returns wrong value"); 126 } 127 for (var k = 0; k < kInvalidModifierName.length; k++) { 128 ok(!e.getModifierState(kInvalidModifierName[k]), 129 description + "getModifierState(\"" + kInvalidModifierName[k] + "\") returns wrong value"); 130 } 131 } 132 } 133 134 function runTests() 135 { 136 testInitializingUntrustedEvent(); 137 SimpleTest.finish(); 138 } 139 140 </script> 141 </pre> 142 </body> 143 </html>