nexus site path corrected
[portal.git] / ecomp-portal-FE / client / bower_components / jquery.event.drag-new / event.linger / test / interaction.js
1 ;(function(){   
2         
3         module("Interaction");
4         
5         // a simple re-usable test harness object
6         var obj = {
7                 init: function( opts ){
8                         obj.$div =      $('<div />')
9                                 .css({
10                                         position: 'absolute',
11                                         top: 0,
12                                         left: 0,
13                                         height: 100,
14                                         width: 100
15                                 })
16                                 .append('<div class="child" />')
17                                 .appendTo( document.body )
18                                 .bind("lingerstart linger lingerend", opts || {}, function( event ){
19                                         obj.counts[ event.type ] += 1;
20                                 });
21                         obj.counts = { lingerstart:0, linger:0, lingerend:0 };
22                 },
23                 done: function(){
24                         obj.$div.remove();
25                         start();
26                 }
27         };
28         
29         asyncTest("defaults",function(){
30
31                 expect( 3 );
32                 
33                 // prep interaction
34                 obj.init();
35                 // simulate interaction
36                 obj.$div
37                         .fire("mouseover",{ pageX:50, pageY:50 })
38                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
39                 // wait 100 ms (default delay)
40                 setTimeout(function(){  
41                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
42                         // wait 400 ms (default persist)
43                         setTimeout(function(){
44                                 // inspect results      
45                                 equals( obj.counts.lingerstart, 1, "lingerstart");
46                                 equals( obj.counts.linger, 1, "linger");
47                                 equals( obj.counts.lingerend, 1, "lingerend");  
48                                 obj.done();
49                         }, 400 );
50                 }, 100 );       
51         });
52         
53         asyncTest("speed (miss)",function(){
54                 
55                 expect( 3 );
56                 
57                 // prep interaction
58                 obj.init({ speed:200 });
59                 // simulate interaction
60                 obj.$div
61                         .fire("mouseover",{ pageX:50, pageY:50 })
62                         .fire("mousemove",{ pageX:63, pageY:67 }); // move > 20 pixels (custom speed)
63                 // wait 100 ms (default delay)
64                 setTimeout(function(){  
65                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
66                         // wait 400 ms (default persist)
67                         setTimeout(function(){
68                                 // inspect results      
69                                 equals( obj.counts.lingerstart, 1, "lingerstart");
70                                 equals( obj.counts.linger, 0, "linger");
71                                 equals( obj.counts.lingerend, 0, "lingerend");
72                                 obj.done();
73                         }, 400 );
74                 }, 100 );
75         });
76         
77         asyncTest("speed (hit)",function(){
78                 
79                 expect( 3 );
80                 
81                 // prep interaction
82                 obj.init({ speed:200 });
83                 // simulate interaction
84                 obj.$div
85                         .fire("mouseover",{ pageX:50, pageY:50 })
86                         .fire("mousemove",{ pageX:62, pageY:66 }); // move <= 20 pixels (custom speed)
87                 // wait 100 ms (default delay)
88                 setTimeout(function(){  
89                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
90                         // wait 400 ms (default persist)
91                         setTimeout(function(){
92                                 // inspect results      
93                                 equals( obj.counts.lingerstart, 1, "lingerstart");
94                                 equals( obj.counts.linger, 1, "linger");
95                                 equals( obj.counts.lingerend, 1, "lingerend");
96                                 obj.done();
97                         }, 400 );
98                 }, 100 );
99         });
100         
101         asyncTest("delay (miss)",function(){
102                 
103                 expect( 3 );
104                 
105                 // prep interaction
106                 obj.init({ delay:200 });
107                 // simulate interaction
108                 obj.$div
109                         .fire("mouseover",{ pageX:50, pageY:50 })
110                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
111                 // wait < 200 ms (custom delay)
112                 setTimeout(function(){  
113                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
114                         // wait 400 ms (default persist)
115                         setTimeout(function(){
116                                 // inspect results      
117                                 equals( obj.counts.lingerstart, 1, "lingerstart");
118                                 equals( obj.counts.linger, 0, "linger");
119                                 equals( obj.counts.lingerend, 0, "lingerend");
120                                 obj.done();
121                         }, 400 );
122                 }, 100 );
123         });
124         
125         asyncTest("delay (hit)",function(){
126                 
127                 expect( 3 );
128                 
129                 // prep interaction
130                 obj.init({ delay:200 });
131                 // simulate interaction
132                 obj.$div
133                         .fire("mouseover",{ pageX:50, pageY:50 })
134                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
135                 // wait 200 ms (custom delay)
136                 setTimeout(function(){  
137                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
138                         // wait 400 ms (default persist)
139                         setTimeout(function(){
140                                 // inspect results      
141                                 equals( obj.counts.lingerstart, 1, "lingerstart");
142                                 equals( obj.counts.linger, 1, "linger");
143                                 equals( obj.counts.lingerend, 1, "lingerend");
144                                 obj.done();
145                         }, 400 );
146                 }, 200 );
147         });
148         
149         asyncTest("persist (miss)",function(){
150                 
151                 expect( 3 );
152                 
153                 // prep interaction
154                 obj.init({ persist:200 });
155                 // simulate interaction
156                 obj.$div
157                         .fire("mouseover",{ pageX:50, pageY:50 })
158                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
159                 // wait 100 ms (default delay)
160                 setTimeout(function(){  
161                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
162                         // wait < 200 ms (custom persist)
163                         setTimeout(function(){
164                                 // inspect results      
165                                 equals( obj.counts.lingerstart, 1, "lingerstart");
166                                 equals( obj.counts.linger, 1, "linger");
167                                 equals( obj.counts.lingerend, 0, "lingerend");
168                                 setTimeout(function(){
169                                         obj.done();
170                                 }, 100 );
171                         }, 100 );
172                 }, 100 );
173         });
174         
175         asyncTest("persist (hit)",function(){
176                 
177                 expect( 3 );
178                 
179                 // prep interaction
180                 obj.init({ persist:200 });
181                 // simulate interaction
182                 obj.$div
183                         .fire("mouseover",{ pageX:50, pageY:50 })
184                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
185                 // wait 100 ms (default delay)
186                 setTimeout(function(){  
187                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
188                         // wait 200 ms (custom persist)
189                         setTimeout(function(){
190                                 // inspect results      
191                                 equals( obj.counts.lingerstart, 1, "lingerstart");
192                                 equals( obj.counts.linger, 1, "linger");
193                                 equals( obj.counts.lingerend, 1, "lingerend");
194                                 obj.done();
195                         }, 200 );
196                 }, 100 );
197                 
198         });
199         
200         asyncTest("persist (re-enter)",function(){
201                 
202                 expect( 3 );
203                 
204                 // prep interaction
205                 obj.init({ persist:200 });
206                 // simulate interaction
207                 obj.$div
208                         .fire("mouseover",{ pageX:50, pageY:50 })
209                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
210                 // wait 100 ms (default delay)
211                 setTimeout(function(){  
212                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 })
213                         // wait < 200 ms (custom persist)
214                         setTimeout(function(){
215                                 // re-enter the element
216                                 obj.$div.fire("mouseover",{ pageX:50, pageY:50 });
217                                 // wait 200 ms (custom persist)
218                                 setTimeout(function(){
219                                         // inspect results      
220                                         equals( obj.counts.lingerstart, 1, "lingerstart");
221                                         equals( obj.counts.linger, 1, "linger");
222                                         equals( obj.counts.lingerend, 0, "lingerend");
223                                         obj.done();
224                                 }, 200 );
225                         }, 100 );
226                 }, 100 );
227                 
228         });
229         
230 })();
231