OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE HTML> | |
2 <script src="../../../../resources/js-test.js"></script> | |
3 <script src="../../resources/record-events.js"></script> | |
4 <style> | |
5 div { | |
6 margin: 10px; | |
7 padding: 50px; | |
8 float: left; | |
9 } | |
10 #console { | |
11 padding: 0px; | |
12 float: none; | |
13 } | |
14 #frame { | |
15 margin: 0px; | |
16 border: 0px; | |
17 width: 400px; | |
18 height: 400px; | |
19 } | |
20 </style> | |
21 | |
22 <div id="lightgreen" style="background-color:lightgreen"> | |
23 <div id="green" style="background-color:green;"> | |
24 </div> | |
25 </div> | |
26 <iframe src='resources/gesture-tap-mouse-events-between-frames-iframe.html' id=' frame'></iframe> | |
27 <div id="console"></div> | |
28 | |
29 <script> | |
30 description("Verifies that mouse events are fired on tapping of gesture across frames in the correct order."); | |
mustaq
2015/06/16 14:50:44
Nit: double space before "are"
Miyoung Shin(c)
2015/06/20 21:08:29
Done.
| |
31 | |
32 var frame = document.getElementById("frame"); | |
33 var greenEnterOrder = [ | |
34 ["green", "mouseover"], | |
35 ["lightgreen", "mouseover"], | |
36 ["lightgreen", "mouseenter"], | |
37 ["green", "mouseenter"]]; | |
38 | |
39 var greenLeaveOrder = [ | |
40 ["green", "mouseout"], | |
41 ["lightgreen", "mouseout"], | |
42 ["green", "mouseleave"], | |
43 ["lightgreen", "mouseleave"]]; | |
44 | |
45 var pinkEnterOrder = [ | |
46 ["deeppink", "mouseover"], | |
47 ["lightpink", "mouseover"], | |
48 ["lightpink", "mouseenter"], | |
49 ["deeppink", "mouseenter"]]; | |
50 | |
51 var pinkLeaveOrder = [ | |
52 ["deeppink", "mouseout"], | |
53 ["lightpink", "mouseout"], | |
54 ["deeppink", "mouseleave"], | |
55 ["lightpink", "mouseleave"]]; | |
56 | |
57 function getElementById(id) | |
58 { | |
59 var element = document.getElementById(id); | |
60 if (element == null) | |
61 element = frame.contentDocument.getElementById(id); | |
62 return element; | |
63 } | |
64 | |
65 function init() { | |
66 var ids = ["lightgreen", "green", "lightpink", "deeppink"]; | |
67 | |
68 var elements = []; | |
69 ids.forEach(function(id) { | |
70 var element = getElementById(id); | |
71 elements.push(element); | |
72 }); | |
73 registerElementsAndEventsToRecord(elements, ["mouseover", "mouseout", "mouse enter", "mouseleave"]); | |
74 } | |
75 | |
76 function doGesture(id, base) | |
77 { | |
78 debug("-- sending gestureTap to " + id + " --"); | |
79 var element = getElementById(id); | |
80 | |
81 var x = base.x + element.offsetLeft + element.offsetWidth / 2; | |
82 var y = base.y + element.offsetTop + element.offsetHeight / 2; | |
83 eventSender.gestureTap(x, y); | |
84 } | |
85 | |
86 function runTests() | |
87 { | |
88 init(); | |
89 if (window.eventSender) { | |
90 debug("--- Tap tests ---"); | |
91 | |
92 var expectedOrder = []; | |
93 beginRecordingEvents(); | |
94 doGesture("green", {x: 0, y: 0}); | |
95 expectedOrder = expectedOrder.concat(greenEnterOrder); | |
96 checkThatEventsFiredInOrder(expectedOrder); | |
97 | |
98 doGesture("green", {x: 0, y: 0}); | |
99 debug("There should not be any mouse event."); | |
100 checkThatEventsFiredInOrder(expectedOrder); | |
101 | |
102 doGesture("deeppink", {x: frame.offsetLeft, y: frame.offsetTop}); | |
103 expectedOrder = expectedOrder.concat(greenLeaveOrder, pinkEnterOrder); | |
104 checkThatEventsFiredInOrder(expectedOrder); | |
105 | |
106 doGesture("deeppink", {x: frame.offsetLeft, y: frame.offsetTop}); | |
107 debug("There should not be any mouse event."); | |
108 checkThatEventsFiredInOrder(expectedOrder); | |
109 | |
110 doGesture("green", {x: 0, y: 0}); | |
111 expectedOrder = expectedOrder.concat(pinkLeaveOrder, greenEnterOrder); | |
112 checkThatEventsFiredInOrder(expectedOrder); | |
113 endRecordingEvents(); | |
114 } else { | |
115 debug("This test requires eventSender"); | |
116 } | |
117 finishJSTest(); | |
118 } | |
119 | |
120 if (window.testRunner) { | |
121 window.jsTestIsAsync = true; | |
122 testRunner.waitUntilDone(); | |
123 } | |
124 | |
125 window.onload = runTests; | |
126 </script> | |
OLD | NEW |