UNPKG

jquery-migrate

Version:

Migrate older jQuery code to jQuery 3.0+

193 lines (157 loc) 5.27 kB
QUnit.module( "event" ); QUnit.test( "error() event method", function( assert ) { assert.expect( 2 ); expectWarning( assert, "jQuery.fn.error()", function() { jQuery( "<img />" ) .error( function() { assert.ok( true, "Triggered error event" ); } ) .error() .off( "error" ) .error() .remove(); } ); } ); QUnit.test( "load() and unload() event methods", function( assert ) { assert.expect( jQuery.ajax ? 5 : 4 ); expectWarning( assert, "jQuery.fn.load()", function() { jQuery( "<img />" ) .load( function() { assert.ok( true, "Triggered load event" ); } ) .load() .off( "load" ) .load() .remove(); } ); expectWarning( assert, "jQuery.fn.unload()", function() { jQuery( "<img />" ) .unload( function() { assert.ok( true, "Triggered unload event" ); } ) .unload() .off( "unload" ) .unload() .remove(); } ); if ( jQuery.ajax ) { expectNoWarning( assert, "ajax load", function() { var start = assert.async(); jQuery( "<div id=load138></div>" ) .appendTo( "#qunit-fixture" ) .load( "not-found.file", function() { jQuery( "#load138" ).remove(); start(); } ); } ); } } ); QUnit.test( ".bind() and .unbind()", function( assert ) { assert.expect( 3 ); var $elem = jQuery( "<div />" ).appendTo( "#qunit-fixture" ); expectWarning( assert, ".bind()", 1, function() { $elem .bind( "click", function() { assert.ok( true, "click fired" ); } ) .trigger( "click" ); } ); expectWarning( assert, ".unbind()", 1, function() { $elem .unbind( "click" ) .trigger( "click" ); } ); } ); QUnit.test( ".delegate() and .undelegate()", function( assert ) { assert.expect( 3 ); var $div = jQuery( "<div />" ).appendTo( "#qunit-fixture" ); jQuery( "<p />" ).appendTo( $div ); expectWarning( assert, ".delegate()", 1, function() { $div .delegate( "p", "click", function() { assert.ok( true, "delegated click fired" ); } ) .find( "p" ).trigger( "click" ); } ); expectWarning( assert, ".undelegate()", 1, function() { $div .undelegate( "p", "click" ) .find( "p" ).trigger( "click" ); } ); } ); QUnit.test( "Event aliases", function( assert ) { assert.expect( 14 ); var $div = jQuery( "<div />" ); "scroll click submit keydown".split( " " ).forEach( function( name ) { expectWarning( assert, "." + name + "()", 2, function() { $div[ name ]( function( event ) { assert.equal( event.type, name, name ); $div.off( event ); } )[ name ](); } ); } ); expectWarning( assert, ".hover() one-arg", 1, function() { $div.hover( function( event ) { assert.ok( /mouseenter|mouseleave/.test( event.type ), event.type ); $div.off( event ); } ).trigger( "mouseenter" ).trigger( "mouseleave" ); } ); expectWarning( assert, ".hover() two-arg", 1, function() { $div.hover( function( event ) { assert.equal( "mouseenter", event.type, event.type ); }, function( event ) { assert.equal( "mouseleave", event.type, event.type ); } ).trigger( "mouseenter" ).trigger( "mouseleave" ); } ); } ); QUnit.test( "custom ready", function( assert ) { assert.expect( 2 ); jQuery( "#qunit-fixture" ).append( "<div id='foo'>bar</div>" ); expectNoWarning( assert, "Custom ready event not on document", 1, function() { jQuery( "#foo" ).on( "ready", function() { assert.ok( true, "custom ready event was triggered" ); } ) .trigger( "ready" ) .off( "ready" ); } ); } ); TestManager.runIframeTest( "document ready", "event-ready.html", function( assert, jQuery ) { assert.expect( 1 ); assert.equal( jQuery.migrateWarnings.length, 1, "warnings: " + JSON.stringify( jQuery.migrateWarnings ) ); } ); TestManager.runIframeTest( "jQuery.event.props.concat", "event-props-concat.html", function( assert, jQuery, _window, _document, _log, props ) { assert.expect( 3 ); var warns = JSON.stringify( jQuery.migrateWarnings ); assert.equal( jQuery.migrateWarnings.length, 1, "one warning" ); assert.ok( warns.indexOf( "props.concat" ) >= 0, "warnings: " + warns ); assert.equal( props[ 0 ], "TESTING", "used the empty props" ); } ); // Do this as iframe because there is no way to undo prop addition TestManager.runIframeTest( "jQuery.event.props", "event-props.html", function( assert, jQuery, window, document, log, test1, test2 ) { assert.expect( 2 ); assert.ok( test1 && test2, "props were processed" ); assert.equal( jQuery.migrateWarnings.length, 2, "warnings: " + JSON.stringify( jQuery.migrateWarnings ) ); } ); // Do this as iframe because there is no way to undo prop addition TestManager.runIframeTest( "jQuery.event.fixHooks", "event-fixHooks.html", function( assert, jQuery, window, document, log, test1, test2 ) { assert.expect( 2 ); assert.ok( test1 && test2, "hooks were processed" ); assert.equal( jQuery.migrateWarnings.length, 2, "warnings: " + JSON.stringify( jQuery.migrateWarnings ) ); } ); TestManager.runIframeTest( "Load within a ready handler", "event-lateload.html", function( assert, jQuery ) { assert.expect( 2 ); assert.equal( jQuery.migrateWarnings.length, 1, "warnings: " + JSON.stringify( jQuery.migrateWarnings ) ); assert.ok( /load/.test( jQuery.migrateWarnings[ 0 ] ), "message ok" ); } );