1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/events/test/test_dom_mouse_event.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,141 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Test for DOM MouseEvent</title> 1.8 + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 1.10 +</head> 1.11 +<body> 1.12 +<p id="display"></p> 1.13 +<div id="content" style="display: none"> 1.14 + 1.15 +</div> 1.16 +<pre id="test"> 1.17 +<script type="application/javascript"> 1.18 + 1.19 +SimpleTest.waitForExplicitFinish(); 1.20 +SimpleTest.waitForFocus(runTests, window); 1.21 + 1.22 +function testInitializingUntrustedEvent() 1.23 +{ 1.24 + const kTests = [ 1.25 + { createEventArg: "MouseEvent", 1.26 + type: "mousedown", bubbles: true, cancelable: true, view: null, detail: 1, 1.27 + screenX: 0, screenY: 0, clientX: 0, clientY: 0, 1.28 + ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, 1.29 + button: 6, relatedTarget: null }, 1.30 + 1.31 + { createEventArg: "mouseevent", 1.32 + type: "mouseup", bubbles: false, cancelable: true, view: window, detail: 2, 1.33 + screenX: 0, screenY: 0, clientX: 0, clientY: 400, 1.34 + ctrlKey: true, altKey: false, shiftKey: false, metaKey: false, 1.35 + button: 1, relatedTarget: document.getElementById("content") }, 1.36 + 1.37 + { createEventArg: "Mouseevent", 1.38 + type: "click", bubbles: true, cancelable: false, view: null, detail: -5, 1.39 + screenX: 0, screenY: 0, clientX: 300, clientY: 0, 1.40 + ctrlKey: false, altKey: true, shiftKey: false, metaKey: false, 1.41 + button: 2, relatedTarget: document.getElementById("test") }, 1.42 + 1.43 + { createEventArg: "mouseEvent", 1.44 + type: "dblclick", bubbles: false, cancelable: false, view: window, detail: -1, 1.45 + screenX: 0, screenY: 200, clientX: 0, clientY: 0, 1.46 + ctrlKey: false, altKey: false, shiftKey: true, metaKey: false, 1.47 + button: 12, relatedTarget: document.getElementById("content") }, 1.48 + 1.49 + { createEventArg: "MouseEvents", 1.50 + type: "mouseenter", bubbles: true, cancelable: true, view: null, detail: 111000, 1.51 + screenX: 100, screenY: 0, clientX: 0, clientY: 0, 1.52 + ctrlKey: false, altKey: false, shiftKey: false, metaKey: true, 1.53 + button: 2, relatedTarget: document.getElementById("test") }, 1.54 + 1.55 + { createEventArg: "mouseevents", 1.56 + type: "mouseleave", bubbles: false, cancelable: true, view: window, detail: 500, 1.57 + screenX: 100, screenY: 500, clientX: 0, clientY: 0, 1.58 + ctrlKey: true, altKey: true, shiftKey: false, metaKey: false, 1.59 + button: 8, relatedTarget: document.getElementById("content") }, 1.60 + 1.61 + { createEventArg: "Mouseevents", 1.62 + type: "mouseover", bubbles: true, cancelable: false, view: null, detail: 3, 1.63 + screenX: 0, screenY: 0, clientX: 200, clientY: 300, 1.64 + ctrlKey: false, altKey: true, shiftKey: false, metaKey: true, 1.65 + button: 7, relatedTarget: document.getElementById("test") }, 1.66 + 1.67 + { createEventArg: "mouseEvents", 1.68 + type: "mouseout", bubbles: false, cancelable: false, view: window, detail: 5, 1.69 + screenX: -100, screenY: 300, clientX: 600, clientY: -500, 1.70 + ctrlKey: true, altKey: false, shiftKey: true, metaKey: false, 1.71 + button: 8, relatedTarget: document.getElementById("content") }, 1.72 + 1.73 + { createEventArg: "MouseEvent", 1.74 + type: "mousemove", bubbles: false, cancelable: false, view: window, detail: 30, 1.75 + screenX: 500, screenY: -100, clientX: -8888, clientY: -5000, 1.76 + ctrlKey: true, altKey: false, shiftKey: true, metaKey: true, 1.77 + button: 8, relatedTarget: document.getElementById("test") }, 1.78 + 1.79 + { createEventArg: "MouseEvent", 1.80 + type: "foo", bubbles: false, cancelable: false, view: window, detail: 100, 1.81 + screenX: 2000, screenY: 6000, clientX: 5000, clientY: 3000, 1.82 + ctrlKey: true, altKey: true, shiftKey: true, metaKey: true, 1.83 + button: 8, relatedTarget: document.getElementById("test") }, 1.84 + ]; 1.85 + 1.86 + const kOtherModifierName = [ 1.87 + "CapsLock", "NumLock", "ScrollLock", "SymbolLock", "Fn", "OS", "AltGraph" 1.88 + ]; 1.89 + 1.90 + const kInvalidModifierName = [ 1.91 + "shift", "control", "alt", "meta", "capslock", "numlock", "scrolllock", 1.92 + "symbollock", "fn", "os", "altgraph", "Invalid", "Shift Control", 1.93 + "Win", "Scroll" 1.94 + ]; 1.95 + 1.96 + for (var i = 0; i < kTests.length; i++) { 1.97 + var description = "testInitializingUntrustedEvent, Index: " + i + ", "; 1.98 + const kTest = kTests[i]; 1.99 + var e = document.createEvent(kTest.createEventArg); 1.100 + e.initMouseEvent(kTest.type, kTest.bubbles, kTest.cancelable, kTest.view, 1.101 + kTest.detail, kTest.screenX, kTest.screenY, kTest.clientX, kTest.clientY, 1.102 + kTest.ctrlKey, kTest.altKey, kTest.shiftKey, kTest.metaKey, 1.103 + kTest.button, kTest.relatedTarget); 1.104 + 1.105 + for (var attr in kTest) { 1.106 + if (attr == "createEventArg") { 1.107 + continue; 1.108 + } 1.109 + is(e[attr], kTest[attr], description + attr + " returns wrong value"); 1.110 + } 1.111 + is(e.isTrusted, false, description + "isTrusted returns wrong value"); 1.112 + is(e.buttons, 0, description + "buttons returns wrong value"); 1.113 + 1.114 + // getModifierState() tests 1.115 + is(e.getModifierState("Shift"), kTest.shiftKey, 1.116 + description + "getModifierState(\"Shift\") returns wrong value"); 1.117 + is(e.getModifierState("Control"), kTest.ctrlKey, 1.118 + description + "getModifierState(\"Control\") returns wrong value"); 1.119 + is(e.getModifierState("Alt"), kTest.altKey, 1.120 + description + "getModifierState(\"Alt\") returns wrong value"); 1.121 + is(e.getModifierState("Meta"), kTest.metaKey, 1.122 + description + "getModifierState(\"Meta\") returns wrong value"); 1.123 + 1.124 + for (var j = 0; j < kOtherModifierName.length; j++) { 1.125 + ok(!e.getModifierState(kOtherModifierName[j]), 1.126 + description + "getModifierState(\"" + kOtherModifierName[j] + "\") returns wrong value"); 1.127 + } 1.128 + for (var k = 0; k < kInvalidModifierName.length; k++) { 1.129 + ok(!e.getModifierState(kInvalidModifierName[k]), 1.130 + description + "getModifierState(\"" + kInvalidModifierName[k] + "\") returns wrong value"); 1.131 + } 1.132 + } 1.133 +} 1.134 + 1.135 +function runTests() 1.136 +{ 1.137 + testInitializingUntrustedEvent(); 1.138 + SimpleTest.finish(); 1.139 +} 1.140 + 1.141 +</script> 1.142 +</pre> 1.143 +</body> 1.144 +</html>