summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/jquery.event.drag-new/fire/test/mouse.js
blob: 8e25d785ce5a3a6f77deceb282db5e3c87f45d18 (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
module("Mouse Events");

// test each of the following events
$.each([
	"click","dblclick",
	"mouseover","mouseout",
	"mousedown","mouseup","mousemove"
],function( i, type ){
	// test each event type
	test( '"'+ type +'"', function(){
		expect( 33 );
		
		// custom event properties
		var props = {
			pageX: Math.round( Math.random() * 500 ),
			pageY: Math.round( Math.random() * 500 ),
			ctrlKey: Math.round( Math.random() ) ? true : false, 
			altKey: Math.round( Math.random() ) ? true : false, 
			shiftKey: Math.round( Math.random() ) ? true : false, 
			button: Math.round( Math.random() * 2 )
		},
		// new test element
		$div = $('<div/>').appendTo( document.body );
		// test the document too for bubbling
		$div.add( document ).bind( type, function( ev ){
			
			equals( ev.currentTarget, this, "event.currentTarget");
			equals( ev.target, $div[0], "event.target" );
			equals( ev.type, type, "event.type" );
			equals( ev.pageX, props.pageX, "event.pageX" );
			equals( ev.pageY, props.pageY, "event.pageY" );
			equals( ev.ctrlKey, props.ctrlKey, "event.ctrlKey" );
			equals( ev.altKey, props.altKey, "event.altKey" );
			equals( ev.shiftKey, props.shiftKey, "event.shiftKey" );
			equals( ev.metaKey, props.metaKey, "event.metaKey" );
			equals( ev.button, props.button, "event.button" );
			equals( ev.bubbles, props.bubbles, "event.bubbles" );
		});
		
		// make sure that metaKey and ctrlKey are equal
		props.metaKey = props.ctrlKey;
		// fire the event with bubbling
		props.bubbles = true;
		$div.fire( type, props );
		
		// fire the event without bubbling
		props.bubbles = false;
		$div.fire( type, props );
	
		// cleanup
		$( document ).unbind( type );
		$div.remove();
	});
});