From 5a14398c55a8fd46e0453a1dc694236449205c6d Mon Sep 17 00:00:00 2001 From: John Bender Date: Wed, 29 Jun 2011 12:45:44 -0700 Subject: [PATCH] throttledresize event tests use eventSequence --- tests/unit/event/event_core.js | 41 ++++++++++++++++------------------ 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/tests/unit/event/event_core.js b/tests/unit/event/event_core.js index 9958023b..f115b2c5 100644 --- a/tests/unit/event/event_core.js +++ b/tests/unit/event/event_core.js @@ -29,7 +29,7 @@ $.Event.prototype.originalEvent = originalEventFn; $.Event.prototype.preventDefault = preventDefaultFn; - $(window).unbind( "throttledresize" ); + $($.mobile.pageContainer).unbind( "throttledresize" ); } }); @@ -384,18 +384,12 @@ /* The following 4 tests are async so that the throttled event triggers don't interfere with subsequent tests */ asyncTest( "throttledresize event proxies resize events", function(){ - var called = false; - $(window).bind( "throttledresize", function(){ - called = true; + $( window ).one( "throttledresize", function(){ + ok( true, "throttledresize called"); + start(); }); - $.testHelper.sequence([ - function(){ $(window).trigger( "resize" ); }, - function(){ ok( called ); }, - function(){ - start(); - } - ], 200); + $( window ).trigger( "resize" ); }); asyncTest( "throttledresize event prevents resize events from firing more frequently than 250ms", function(){ @@ -426,22 +420,25 @@ asyncTest( "throttledresize event promises that a held call will execute only once after throttled timeout", function(){ var called = 0; - $(window).bind( "throttledresize", function(){ - called++; - }); + expect( 2 ); + + $.testHelper.eventSequence( "throttledresize", [ + // ignore the first call + $.noop, - $.testHelper.sequence([ - // trigger a ton of throttledresize events function(){ - $(window).trigger( "resize" ).trigger( "resize" ).trigger( "resize" ); + ok( true, "second throttled resize should run" ); }, - // verify that after enough time has gone by to accomodate all of them - // ie 750ms, only to calls to the bound function were made - function(){ - same( called, 2 ); + function(timedOut){ + ok( timedOut, "third throttled resize should not run"); start(); } - ], 750); + ]); + + $.mobile.pageContainer + .trigger( "resize" ) + .trigger( "resize" ) + .trigger( "resize" ); }); })(jQuery);