Sha256: 2024235a495894edccf4b034c932d4e9765592ed0534ff27cf3c0f37d33ed839

Contents?: true

Size: 1.87 KB

Versions: 11

Compression:

Stored size: 1.87 KB

Contents

module("Custom Events");

if ( !document.createEvent ){
	test("Custom Event Simulation Not Supported",function(){
		ok( true, 'This browser does not support "document.createEvent" and cannot simulate custom events.');	
	});
}
else {
	
	// test each of the following events
	$.each([
		"snap","crackle","pop"
	],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();
		});
	});

}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
bonethug-0.0.17 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.16 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.15 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.14 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.13 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.12 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.11 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.10 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.7 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.6 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js
bonethug-0.0.5 skel/project_types/silverstripe3/public/abc/javascript/library/jQuery/fire/test/custom.js