dom/events/test/test_bug547996-1.html

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:e2d8ba993b9b
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=547996
5 -->
6 <head>
7 <title>Test for Bug 547996</title>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
10 </head>
11 <body>
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=547996">Mozilla Bug 547996</a>
13 <p id="display"></p>
14 <div id="content" style="display: none">
15
16 </div>
17 <pre id="test">
18 <script type="application/javascript">
19
20 /** Test for Bug 547996 **/
21 /* mouseEvent.mozInputSource attribute */
22
23 function prepareListener(eventName, expectedValue) {
24 return function(event) {
25 is(event.mozInputSource, expectedValue, "Correct .mozInputSource value in " + eventName);
26 };
27 }
28
29 const INPUT_SOURCE_UNKNOWN = SpecialPowers.Ci.nsIDOMMouseEvent.MOZ_SOURCE_UNKNOWN;
30 const INPUT_SOURCE_KEYBOARD = SpecialPowers.Ci.nsIDOMMouseEvent.MOZ_SOURCE_KEYBOARD;
31
32 function doTest() {
33 var eventNames = [
34 "mousedown",
35 "mouseup",
36 "click",
37 "dblclick",
38 "contextmenu",
39 "DOMMouseScroll",
40 "dragdrop",
41 "dragstart",
42 "dragend",
43 "dragenter",
44 "dragleave",
45 "dragover"
46 ];
47
48 var target = document.getElementById("testTarget");
49
50 for (var i in eventNames) {
51 for(var value = INPUT_SOURCE_UNKNOWN; value <= INPUT_SOURCE_KEYBOARD; value++) {
52 var eventName = eventNames[i];
53 var listener = prepareListener(eventName, value);
54
55 target.addEventListener(eventName, listener, false);
56
57 var newEvent = document.createEvent("MouseEvent");
58 newEvent.initNSMouseEvent(eventName, true, true, window, 0, 0, 0, 0, 0,
59 false, false, false, false, 0, null, 0, value);
60 target.dispatchEvent(newEvent);
61 target.removeEventListener(eventName, listener, false);
62 }
63
64 // Events created by script that do not initialize the mozInputSource
65 // value should have the value MOZ_SOURCE_UNKNOWN
66 var listener = prepareListener(eventName, INPUT_SOURCE_UNKNOWN);
67 target.addEventListener(eventName, listener, false);
68
69 var newEvent = document.createEvent("MouseEvent");
70 newEvent.initMouseEvent(eventName, true, true, window, 0, 0, 0, 0, 0,
71 false, false, false, false, 0, null);
72 target.dispatchEvent(newEvent);
73 target.removeEventListener(eventName, listener, false);
74
75 }
76
77 SimpleTest.finish();
78 }
79
80 SimpleTest.waitForExplicitFinish();
81 addLoadEvent(doTest);
82
83 </script>
84 </pre>
85 <span id="testTarget" style="border: 1px solid black;">testTarget</span>
86 </body>
87 </html>

mercurial