source: Dev/trunk/src/client/dojo/tests/_base/eventMouseRobot.html

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 4.2 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2                "http://www.w3.org/TR/html4/strict.dtd">
3<html>
4        <head>
5                <title>doh.robot mouse events tests</title>
6
7                <style>
8                        @import "../../../util/doh/robot/robot.css";
9                </style>
10
11                <!-- required: dojo.js -->
12                <script type="text/javascript" src="../../../dojo/dojo.js"
13                        djConfig="isDebug: true"></script>
14                       
15                <script type="text/javascript">
16                        dojo.require("dojo.robotx");
17
18                        dojo.addOnLoad(function(){
19                                doh.robot.initRobot('eventMouse.html');
20
21                                var moveEvents, clickEvents;
22                                var outer = dojo.byId("outer"),
23                                        middle = dojo.byId("middle");
24
25                                doh.register("mouseenter/mouseleave", [
26                                        {
27                                                name: "setup",
28                                                timeout: 5000,
29                                                runTest: function(){
30                                                        var d = new doh.Deferred();
31
32                                                        doh.robot.mouseMoveAt("header", 500, 500);
33                                                        doh.robot.mouseClick({left: true}, 500);
34
35                                                        doh.robot.sequence(d.getTestCallback(function(){
36                                                        }), 250);
37
38                                                        return d;
39                                                }
40                                        },
41                                        {
42                                                name: "enter middle",
43                                                timeout: 5000,
44                                                runTest: function(){
45                                                        var d = new doh.Deferred();
46
47                                                        moveEvents = dojo.global.moveEvents = [];
48
49                                                        doh.robot.mouseMoveAt("middleLabel", 500, 500);
50
51                                                        doh.robot.sequence(d.getTestCallback(function(){
52                                                                doh.is(1, moveEvents.length, "one event");
53                                                                doh.is("mouseenter", moveEvents[0].event);
54                                                                doh.is("outer", moveEvents[0].target);
55                                                        }), 500);
56
57                                                        return d;
58                                                }
59                                        },
60                                        {
61                                                name: "enter inner1",
62                                                timeout: 5000,
63                                                runTest: function(){
64                                                        var d = new doh.Deferred();
65
66                                                        moveEvents = dojo.global.moveEvents = [];
67
68                                                        doh.robot.mouseMoveAt("inner1", 500, 500);
69
70                                                        doh.robot.sequence(d.getTestCallback(function(){
71                                                                doh.is(0, moveEvents.length, "no events");
72                                                        }), 500);
73
74                                                        return d;
75                                                }
76                                        },
77                                        {
78                                                name: "after outer",
79                                                timeout: 5000,
80                                                runTest: function(){
81                                                        var d = new doh.Deferred();
82
83                                                        moveEvents = dojo.global.moveEvents = [];
84
85                                                        doh.robot.mouseMoveAt("afterOuter", 500, 500);
86
87                                                        doh.robot.sequence(d.getTestCallback(function(){
88                                                                doh.is(1, moveEvents.length, "one event");
89                                                                doh.is("mouseleave", moveEvents[0].event);
90                                                                doh.is("outer", moveEvents[0].target);
91                                                        }), 500);
92
93                                                        return d;
94                                                }
95                                        }
96                                ]);
97
98                                doh.register("mousedown, stopEvent", [
99                                        {
100                                                name: "mousedown inner1 div",
101                                                timeout: 5000,
102                                                runTest: function(){
103                                                        var d = new doh.Deferred();
104
105                                                        downEvents = dojo.global.downEvents = [];
106
107                                                        doh.robot.mouseMoveAt("inner1", 500, 500);
108                                                        doh.robot.mouseClick({left: true}, 500);
109
110                                                        doh.robot.sequence(d.getTestCallback(function(){
111                                                                doh.is(2, downEvents.length, "two mousedown events");
112                                                                doh.is("mousedown", downEvents[0].event, "downEvents[0].event");
113                                                                doh.is("inner1", downEvents[0].target, "downEvents[0].target");
114                                                                doh.t(downEvents[0].isLeft, "downEvents[0].isLeft");
115                                                                doh.f(downEvents[0].isRight, "downEvents[0].isRight");
116
117                                                                doh.is("mousedown", downEvents[1].event, "downEvents[1].event");
118                                                                doh.is("middle", downEvents[1].currentTarget, "downEvents[1].currentTarget");
119                                                                doh.is("inner1", downEvents[1].target, "downEvents[1].target");
120                                                                doh.t(downEvents[1].isLeft, "downEvents[1].isLeft");
121                                                                doh.f(downEvents[1].isRight, "downEvents[1].isRight");
122
123                                                                // mousedown event shouldn't reach outer because of middle's stopEvent()
124                                                        }), 500);
125
126                                                        return d;
127                                                }
128                                        },
129                                        {
130                                                name: "mousedown outer div",
131                                                timeout: 5000,
132                                                runTest: function(){
133                                                        var d = new doh.Deferred();
134
135                                                        downEvents = dojo.global.downEvents = [];
136
137                                                        doh.robot.mouseMoveAt("outerLabel", 500, 500);
138                                                        doh.robot.mouseClick({middle: true}, 500);
139
140                                                        doh.robot.sequence(d.getTestCallback(function(){
141                                                                doh.is(1, downEvents.length, "one event");
142                                                                doh.is("mousedown", downEvents[0].event);
143                                                                doh.is("outerLabel", downEvents[0].target);
144                                                                doh.is("outer", downEvents[0].currentTarget);
145                                                                doh.f(downEvents[0].isLeft, "downEvents[0].isLeft");
146                                                                doh.t(downEvents[0].isMiddle, "downEvents[0].isMiddle");
147                                                        }), 500);
148
149                                                        return d;
150                                                }
151                                        }
152                                ]);
153
154                                // TODO: evt.relatedTarget
155                                // TODO: evt.pageX, evt.pageY
156                                doh.run();
157                        });
158                </script>
159        </head>
160</html>
Note: See TracBrowser for help on using the repository browser.