nexus site path corrected
[portal.git] / ecomp-portal-FE / client / bower_components / jquery.event.drag-new / event.drag / test / interaction.js
1 ;(function(){
2         
3         module("Mouse 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("draginit dragstart drag dragend click", opts || {}, function( event ){
19                                         obj[ event.type ] += 1;
20                                 });
21                         $.extend( obj, { draginit:0, dragstart:0, drag:0, dragend:0, click:0 });
22                 },
23                 done: function(){
24                         obj.$div.remove();
25                         start();
26                 }
27         };
28
29         asyncTest("default",function(){
30                 expect( 5 );
31                 // prep DEFAULT interaction
32                 obj.init();
33                 // simulate DEFAULT interaction
34                 obj.$div
35                         .fire("mousedown",{ pageX:50, pageY:50 })
36                         .fire("mousemove",{ pageX:51, pageY:51 })
37                         .fire("mouseup",{ pageX:51, pageY:51 })
38                         .fire("click");
39                 // inspect results      
40                 equals( obj.draginit, 1, "draginit");
41                 equals( obj.dragstart, 1, "dragstart");
42                 equals( obj.drag, 1, "drag");
43                 equals( obj.dragend, 1, "dragend");
44                 equals( obj.click, 0, "click");
45                 // clean-up interaction
46                 obj.done();
47         });
48
49         asyncTest('"not" option',function(){
50                 expect( 10 );
51                 // prep interaction
52                 obj.init({ not:'.child' });
53                 // simulate NOT interaction
54                 obj.$div.children()
55                         .fire("mousedown",{ pageX:50, pageY:50 })
56                         .fire("mousemove",{ pageX:51, pageY:51 })
57                         .fire("mouseup",{ pageX:51, pageY:51 })
58                         .fire("click");
59                 // inspect results              
60                 equals( obj.draginit, 0, "draginit");
61                 equals( obj.dragstart, 0, "dragstart");
62                 equals( obj.drag, 0, "drag");
63                 equals( obj.dragend, 0, "dragend");
64                 equals( obj.click, 1, "click");
65                 // simlate NON NOT interaction
66                 obj.$div
67                         .fire("mousedown",{ pageX:50, pageY:50 })
68                         .fire("mousemove",{ pageX:51, pageY:51 })
69                         .fire("mouseup",{ pageX:51, pageY:51 })
70                         .fire("click");
71                 // inspect results              
72                 equals( obj.draginit, 1, "draginit");
73                 equals( obj.dragstart, 1, "dragstart");
74                 equals( obj.drag, 1, "drag");
75                 equals( obj.dragend, 1, "dragend");
76                 equals( obj.click, 1, "click");
77                 // clean-up interaction
78                 obj.done();
79         });
80
81         asyncTest('"handle" option',function(){
82                 expect( 10 );
83                 // prep interaction
84                 obj.init({ handle:'.child' });
85                 // simulate HANDLE interaction
86                 obj.$div.children()
87                         .fire("mousedown",{ pageX:50, pageY:50 })
88                         .fire("mousemove",{ pageX:51, pageY:51 })
89                         .fire("mouseup",{ pageX:51, pageY:51 })
90                         .fire("click");
91                 // inspect results              
92                 equals( obj.draginit, 1, "draginit");
93                 equals( obj.dragstart, 1, "dragstart");
94                 equals( obj.drag, 1, "drag");
95                 equals( obj.dragend, 1, "dragend");
96                 equals( obj.click, 0, "click"); 
97                 // simulate NON HANDLE interaction
98                 obj.$div
99                         .fire("mousedown",{ pageX:50, pageY:50 })
100                         .fire("mousemove",{ pageX:51, pageY:51 })
101                         .fire("mouseup",{ pageX:51, pageY:51 })
102                         .fire("click");
103                 // inspect results              
104                 equals( obj.draginit, 1, "draginit");
105                 equals( obj.dragstart, 1, "dragstart");
106                 equals( obj.drag, 1, "drag");
107                 equals( obj.dragend, 1, "dragend");
108                 equals( obj.click, 1, "click");
109                 // clean-up interaction
110                 obj.done();
111         });
112         
113         asyncTest('"which" option',function(){
114                 expect( 10 );
115                 // prep interaction
116                 obj.init({ which:3 });
117                 // simulate WHICH interaction
118                 obj.$div
119                         .fire("mousedown",{ pageX:50, pageY:50, button:2 })
120                         .fire("mousemove",{ pageX:51, pageY:51 })
121                         .fire("mouseup",{ pageX:51, pageY:51 })
122                         .fire("click");
123                 // inspect results
124                 equals( obj.draginit, 1, "draginit");
125                 equals( obj.dragstart, 1, "dragstart");
126                 equals( obj.drag, 1, "drag");
127                 equals( obj.dragend, 1, "dragend");
128                 equals( obj.click, 0, "click"); 
129                 // simulate NON WHICH interaction
130                 obj.$div
131                         .fire("mousedown",{ pageX:50, pageY:50 })
132                         .fire("mousemove",{ pageX:51, pageY:51 })
133                         .fire("mouseup",{ pageX:51, pageY:51 })
134                         .fire("click");
135                 // inspect results
136                 equals( obj.draginit, 1, "draginit");
137                 equals( obj.dragstart, 1, "dragstart");
138                 equals( obj.drag, 1, "drag");
139                 equals( obj.dragend, 1, "dragend");
140                 equals( obj.click, 1, "click");
141                 // clean-up interaction
142                 obj.done();
143         });     
144
145         asyncTest('"distance" option',function(){
146                 expect( 10 );
147                 // prep interaction
148                 obj.init({ distance:5 });
149                 // simulate NON DISTANCE interaction
150                 obj.$div
151                         .fire("mousedown",{ pageX:50, pageY:50 })
152                         .fire("mousemove",{ pageX:51, pageY:51 })
153                         .fire("mouseup",{ pageX:51, pageY:51 })
154                         .fire("click");
155                 // inspect results              
156                 equals( obj.draginit, 1, "draginit");
157                 equals( obj.dragstart, 0, "dragstart");
158                 equals( obj.drag, 0, "drag");
159                 equals( obj.dragend, 0, "dragend");
160                 equals( obj.click, 1, "click"); 
161                 // simulate DISTANCE interaction
162                 obj.$div
163                         .fire("mousedown",{ pageX:50, pageY:50 })
164                         .fire("mousemove",{ pageX:53, pageY:54 })
165                         .fire("mouseup",{ pageX:53, pageY:54 })
166                         .fire("click");
167                 // inspect results              
168                 equals( obj.draginit, 2, "draginit");
169                 equals( obj.dragstart, 1, "dragstart");
170                 equals( obj.drag, 1, "drag");
171                 equals( obj.dragend, 1, "dragend");
172                 equals( obj.click, 1, "click");
173                 // clean-up interaction
174                 obj.done();
175         });
176
177
178         asyncTest('"click" option',function(){
179                 expect( 5 );
180                 // prep interaction
181                 obj.init({ click:true });
182                 // simulate CLICK interaction
183                 obj.$div
184                         .fire("mousedown",{ pageX:50, pageY:50 })
185                         .fire("mousemove",{ pageX:51, pageY:51 })
186                         .fire("mouseup",{ pageX:51, pageY:51 })
187                         .fire("click");
188                 // inspect results      
189                 equals( obj.draginit, 1, "draginit");
190                 equals( obj.dragstart, 1, "dragstart");
191                 equals( obj.drag, 1, "drag");
192                 equals( obj.dragend, 1, "dragend");
193                 equals( obj.click, 1, "click"); 
194                 // clean-up interaction
195                 obj.done();
196         });
197         
198 })();