jquery fx: sync animations were being left on jQuery.timers (double callback)

jQuery.timerId is now a local var and it's not null'ed anymore.
This commit is contained in:
Ariel Flesler 2009-01-14 23:09:52 +00:00
parent f649acd8ab
commit 34a9f8a210
2 changed files with 39 additions and 10 deletions

View file

@ -34,6 +34,39 @@ test("animate option (queue === false)", function () {
});
});
test("animate duration 0", function() {
expect(5);
stop();
var $elems = jQuery([{ a:0 },{ a:0 }]),
counter = 0,
count = function(){
counter++;
};
equals( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
$elems.eq(0).animate( {a:1}, 0, count );
// Failed until [6115]
equals( jQuery.timers.length, 0, "Make sure synchronic animations are not left on jQuery.timers" );
equals( counter, 1, "One synchronic animations" );
$elems.animate( { a:2 }, 0, count );
equals( counter, 3, "Multiple synchronic animations" );
$elems.eq(0).animate( {a:3}, 0, count );
$elems.eq(1).animate( {a:3}, 20, function(){
count();
// Failed until [6115]
equals( counter, 5, "One synchronic and one asynchronic" );
start();
});
});
test("animate non-element", function(){
expect(1);
stop();