|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <head> |
|
4 <title>Test for DOM MouseEvent</title> |
|
5 <script type="application/javascript" 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", "SymbolLock", "Fn", "OS", "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 |
|
111 // getModifierState() tests |
|
112 is(e.getModifierState("Shift"), kTest.shiftKey, |
|
113 description + "getModifierState(\"Shift\") returns wrong value"); |
|
114 is(e.getModifierState("Control"), kTest.ctrlKey, |
|
115 description + "getModifierState(\"Control\") returns wrong value"); |
|
116 is(e.getModifierState("Alt"), kTest.altKey, |
|
117 description + "getModifierState(\"Alt\") returns wrong value"); |
|
118 is(e.getModifierState("Meta"), kTest.metaKey, |
|
119 description + "getModifierState(\"Meta\") returns wrong value"); |
|
120 |
|
121 for (var j = 0; j < kOtherModifierName.length; j++) { |
|
122 ok(!e.getModifierState(kOtherModifierName[j]), |
|
123 description + "getModifierState(\"" + kOtherModifierName[j] + "\") returns wrong value"); |
|
124 } |
|
125 for (var k = 0; k < kInvalidModifierName.length; k++) { |
|
126 ok(!e.getModifierState(kInvalidModifierName[k]), |
|
127 description + "getModifierState(\"" + kInvalidModifierName[k] + "\") returns wrong value"); |
|
128 } |
|
129 } |
|
130 } |
|
131 |
|
132 function runTests() |
|
133 { |
|
134 testInitializingUntrustedEvent(); |
|
135 SimpleTest.finish(); |
|
136 } |
|
137 |
|
138 </script> |
|
139 </pre> |
|
140 </body> |
|
141 </html> |