OLD | NEW |
1 description("This tests what mouse events we send."); | 1 description("This tests what mouse events we send."); |
2 | 2 |
3 var div = document.createElement("div"); | 3 var div = document.createElement("div"); |
4 div.style.width = "100px"; | 4 div.style.width = "100px"; |
5 div.style.height = "100px"; | 5 div.style.height = "100px"; |
6 div.style.backgroundColor = "blue"; | 6 div.style.backgroundColor = "blue"; |
7 | 7 |
8 var eventLog = ""; | 8 var eventLog = ""; |
9 | 9 |
10 function appendEventLog() { | 10 function appendEventLog() { |
11 if (window.eventSender) { | 11 if (window.eventSender) { |
12 eventLog += event.type + "(" + event.button + ") "; | 12 eventLog += event.type + "(" + event.button + ") "; |
13 } else { | 13 } else { |
14 debug(event.type + "(" + event.button + ")"); | 14 debug(event.type + "(" + event.button + ")"); |
15 } | 15 } |
16 } | 16 } |
17 | 17 |
18 function clearEventLog() { | 18 function clearEventLog() { |
19 eventLog = ""; | 19 eventLog = ""; |
20 } | 20 } |
21 | 21 |
22 div.addEventListener("click", appendEventLog, false); | 22 div.addEventListener("click", appendEventLog, false); |
23 div.addEventListener("dblclick", appendEventLog, false); | 23 div.addEventListener("dblclick", appendEventLog, false); |
24 div.addEventListener("mousedown", appendEventLog, false); | 24 div.addEventListener("mousedown", appendEventLog, false); |
25 div.addEventListener("mouseup", appendEventLog, false); | 25 div.addEventListener("mouseup", appendEventLog, false); |
26 document.body.insertBefore(div, document.body.firstChild); | 26 document.body.insertBefore(div, document.body.firstChild); |
27 | 27 |
28 if (window.eventSender) { | 28 if (window.eventSender) |
29 // Mouse events only work after an initial layout | |
30 document.body.offsetLeft; | |
31 eventSender.mouseMoveTo(10, 10); | 29 eventSender.mouseMoveTo(10, 10); |
32 } | |
33 | 30 |
34 function sendEvents(button) { | 31 function sendEvents(button) { |
35 if (!window.eventSender) { | 32 if (!window.eventSender) { |
36 debug("This test requires DumpRenderTree. Click on the blue rect with d
ifferent mouse buttons to log.") | 33 debug("This test requires DumpRenderTree. Click on the blue rect with d
ifferent mouse buttons to log.") |
37 return; | 34 return; |
38 } | 35 } |
39 eventSender.mouseDown(button); | 36 eventSender.mouseDown(button); |
40 eventSender.mouseUp(button); | 37 eventSender.mouseUp(button); |
41 eventSender.mouseDown(button); | 38 eventSender.mouseDown(button); |
42 eventSender.mouseUp(button); | 39 eventSender.mouseUp(button); |
43 // could test dragging here too | 40 // could test dragging here too |
44 } | 41 } |
45 | 42 |
46 function testEvents(description, button, expectedString) { | 43 function testEvents(description, button, expectedString) { |
47 debug(description); | 44 debug(description); |
48 sendEvents(button); | 45 sendEvents(button); |
49 shouldBeEqualToString("eventLog", expectedString); | 46 shouldBeEqualToString("eventLog", expectedString); |
50 clearEventLog(); | 47 clearEventLog(); |
51 } | 48 } |
52 | 49 |
53 if (window.eventSender) { | 50 if (window.eventSender) { |
54 testEvents("Left Mouse Button", 0, "mousedown(0) mouseup(0) click(0) mousedo
wn(0) mouseup(0) click(0) dblclick(0) "); | 51 testEvents("Left Mouse Button", 0, "mousedown(0) mouseup(0) click(0) mousedo
wn(0) mouseup(0) click(0) dblclick(0) "); |
55 testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) click(1) mouse
down(1) mouseup(1) click(1) dblclick(1) "); | 52 testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) click(1) mouse
down(1) mouseup(1) click(1) dblclick(1) "); |
56 testEvents("Right Mouse Button", 2, "mousedown(2) mouseup(2) mousedown(2) mo
useup(2) "); | 53 testEvents("Right Mouse Button", 2, "mousedown(2) mouseup(2) mousedown(2) mo
useup(2) "); |
57 testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) click(1) mousedow
n(1) mouseup(1) click(1) dblclick(1) "); | 54 testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) click(1) mousedow
n(1) mouseup(1) click(1) dblclick(1) "); |
58 } | 55 } |
OLD | NEW |