From: gnarf Date: Wed, 4 May 2011 06:54:47 +0000 (-0500) Subject: Added some better queue order testing X-Git-Tag: 1.9m5~40^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4dcfeee8d54d81db4d5af8b2fd189b799cd9561e;p=jquery-ui.git Added some better queue order testing --- diff --git a/tests/unit/effects/effects_core.js b/tests/unit/effects/effects_core.js index 3da0b6f47..0359b73d3 100644 --- a/tests/unit/effects/effects_core.js +++ b/tests/unit/effects/effects_core.js @@ -12,16 +12,34 @@ $.each( $.effects.effect, function( effect ) { module( "effect."+effect ); test( "show/hide", function() { var hidden = $( "div.hidden" ); - expect( 3 ); + expect( 8 ); stop(); - hidden.show( effect, animateTime, function() { + + var count = 0, + test = 0; + + function queueTest( fn ) { + count++; + var point = count; + return function( next ) { + test++; + equals( point, test, "Queue function fired in order" ); + if ( fn ) { + fn () + } else { + setTimeout( next, animateTime ); + } + } + } + + hidden.queue( queueTest() ).show( effect, animateTime, queueTest(function() { equal( hidden.css("display"), "block", "Hidden is shown after .show(\"" +effect+ "\", time)" ); - }).hide( effect, animateTime, function() { + })).queue( queueTest() ).hide( effect, animateTime, queueTest(function() { equal( hidden.css("display"), "none", "Back to hidden after .hide(\"" +effect+ "\", time)" ); - }).queue( function(next) { + })).queue( queueTest(function(next) { deepEqual( hidden.queue(), ["inprogress"], "Only the inprogress sentinel remains") start(); - }); + })); }); });