summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/jquery.event.drag-new/event.linger/test/handlers.js
blob: 621ea49116eb8e66d2becb7f55ee71c3c6f444f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
;(function(){

	module("Event Handlers");					
	
	// a simple re-usable test harness object
	var obj = {
		init: function( opts ){
			obj.$div = 	$('<div />')
				.css({
					position: 'absolute',
					top: 0,
					left: 0,
					height: 100,
					width: 100
				})
				.append('<div class="child" />')
				.appendTo( document.body )
				.bind("lingerstart linger lingerend", opts || {}, function( event ){
					obj[ event.type ] += 1;
					return obj.returned[ event.type ];
				});
			$.extend( obj, { lingerstart:0, linger:0, lingerend:0 });
			obj.returned = {};
		},
		done: function(){
			obj.$div.remove();
			start();
		}
	};
	
	asyncTest('"lingerstart" return false',function(){
		
		expect( 3 );
		
		// prep interaction
		obj.init();
		// set the return value
		obj.returned['lingerstart'] = false;
		// simulate interaction
		obj.$div
			.fire("mouseover",{ pageX:50, pageY:50 })
			.fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
		// wait 100 ms (default delay)
		setTimeout(function(){	
			obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
			// wait 100 ms (persist)
			setTimeout(function(){
				// inspect results	
				equals( obj.lingerstart, 1, "lingerstart");
				equals( obj.linger, 0, "linger");
				equals( obj.lingerend, 0, "lingerend");	
				obj.done();
			}, 100 );
		}, 100 );
			
	});
	
	asyncTest('"linger" return false',function(){
		
		expect( 3 );
		
		// prep interaction
		obj.init({ persist:100 });
		// set the return value
		obj.returned['linger'] = false;
		// simulate interaction
		obj.$div
			.fire("mouseover",{ pageX:50, pageY:50 })
			.fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
		// wait 300 ms (3x default delay)
		setTimeout(function(){	
			obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
			// wait 100 ms (persist)
			setTimeout(function(){
				// inspect results	
				equals( obj.lingerstart, 1, "lingerstart");
				equals( obj.linger, 3, "linger");
				equals( obj.lingerend, 0, "lingerend");	
				obj.done();
			}, 100 );
		}, 350 );
		
	});
	
	asyncTest('"lingerend" return false',function(){
		
		expect( 3 );
		
		// prep interaction
		obj.init({ persist:100 });
		// set the return value
		obj.returned['lingerend'] = false;
		// simulate interaction
		obj.$div
			.fire("mouseover",{ pageX:50, pageY:50 })
			.fire("mousemove",{ pageX:56, pageY:58 }); // move <= 10 pixels (default speed)
		// wait 100 ms (default delay)
		setTimeout(function(){	
			obj.$div.fire("mouseout",{ pageX:51, pageY:51 });
			// wait 300 ms (3x persist)
			setTimeout(function(){
				// inspect results	
				equals( obj.lingerstart, 1, "lingerstart");
				equals( obj.linger, 1, "linger");
				equals( obj.lingerend, 3, "lingerend");	
				obj.done();
			}, 350 );
		}, 300 );
	});
	
})();