nexus site path corrected
[portal.git] / ecomp-portal-FE / client / bower_components / jquery.event.drag-new / event.linger / test / handlers.js
1 ;(function(){
2
3         module("Event Handlers");                                       
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[ event.type ] += 1;
20                                         return obj.returned[ event.type ];
21                                 });
22                         $.extend( obj, { lingerstart:0, linger:0, lingerend:0 });
23                         obj.returned = {};
24                 },
25                 done: function(){
26                         obj.$div.remove();
27                         start();
28                 }
29         };
30         
31         asyncTest('"lingerstart" return false',function(){
32                 
33                 expect( 3 );
34                 
35                 // prep interaction
36                 obj.init();
37                 // set the return value
38                 obj.returned['lingerstart'] = false;
39                 // simulate interaction
40                 obj.$div
41                         .fire("mouseover",{ pageX:50, pageY:50 })
42                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
43                 // wait 100 ms (default delay)
44                 setTimeout(function(){  
45                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
46                         // wait 100 ms (persist)
47                         setTimeout(function(){
48                                 // inspect results      
49                                 equals( obj.lingerstart, 1, "lingerstart");
50                                 equals( obj.linger, 0, "linger");
51                                 equals( obj.lingerend, 0, "lingerend"); 
52                                 obj.done();
53                         }, 100 );
54                 }, 100 );
55                         
56         });
57         
58         asyncTest('"linger" return false',function(){
59                 
60                 expect( 3 );
61                 
62                 // prep interaction
63                 obj.init({ persist:100 });
64                 // set the return value
65                 obj.returned['linger'] = false;
66                 // simulate interaction
67                 obj.$div
68                         .fire("mouseover",{ pageX:50, pageY:50 })
69                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
70                 // wait 300 ms (3x default delay)
71                 setTimeout(function(){  
72                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
73                         // wait 100 ms (persist)
74                         setTimeout(function(){
75                                 // inspect results      
76                                 equals( obj.lingerstart, 1, "lingerstart");
77                                 equals( obj.linger, 3, "linger");
78                                 equals( obj.lingerend, 0, "lingerend"); 
79                                 obj.done();
80                         }, 100 );
81                 }, 350 );
82                 
83         });
84         
85         asyncTest('"lingerend" return false',function(){
86                 
87                 expect( 3 );
88                 
89                 // prep interaction
90                 obj.init({ persist:100 });
91                 // set the return value
92                 obj.returned['lingerend'] = false;
93                 // simulate interaction
94                 obj.$div
95                         .fire("mouseover",{ pageX:50, pageY:50 })
96                         .fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
97                 // wait 100 ms (default delay)
98                 setTimeout(function(){  
99                         obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
100                         // wait 300 ms (3x persist)
101                         setTimeout(function(){
102                                 // inspect results      
103                                 equals( obj.lingerstart, 1, "lingerstart");
104                                 equals( obj.linger, 1, "linger");
105                                 equals( obj.lingerend, 3, "lingerend"); 
106                                 obj.done();
107                         }, 350 );
108                 }, 300 );
109         });
110         
111 })();