3 module("Event Handlers");
5 // a simple re-usable test harness object
7 init: function( opts ){
8 obj.$div = $('<div />')
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 ];
22 $.extend( obj, { lingerstart:0, linger:0, lingerend:0 });
31 asyncTest('"lingerstart" return false',function(){
37 // set the return value
38 obj.returned['lingerstart'] = false;
39 // simulate interaction
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(){
49 equals( obj.lingerstart, 1, "lingerstart");
50 equals( obj.linger, 0, "linger");
51 equals( obj.lingerend, 0, "lingerend");
58 asyncTest('"linger" return false',function(){
63 obj.init({ persist:100 });
64 // set the return value
65 obj.returned['linger'] = false;
66 // simulate interaction
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(){
76 equals( obj.lingerstart, 1, "lingerstart");
77 equals( obj.linger, 3, "linger");
78 equals( obj.lingerend, 0, "lingerend");
85 asyncTest('"lingerend" return false',function(){
90 obj.init({ persist:100 });
91 // set the return value
92 obj.returned['lingerend'] = false;
93 // simulate interaction
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(){
103 equals( obj.lingerstart, 1, "lingerstart");
104 equals( obj.linger, 1, "linger");
105 equals( obj.lingerend, 3, "lingerend");