- expect(1);
- stop();
-
- var order = [];
-
- var $foo = $("#foo");
- $foo.animate({width:'100px'}, 200, function () {
- // should finish after unqueued animation so second
- order.push(2);
- });
- $foo.animate({fontSize:'2em'}, {queue:false, duration:10, complete:function () {
- // short duration and out of queue so should finish first
- order.push(1);
- }});
- $foo.animate({height:'100px'}, 10, function() {
- // queued behind the first animation so should finish third
- order.push(3);
- isSet( order, [ 1, 2, 3] );
- start();
- });
+ expect(1);
+ stop();
+
+ var order = [];
+
+ var $foo = jQuery("#foo");
+ $foo.animate({width:'100px'}, 3000, function () {
+ // should finish after unqueued animation so second
+ order.push(2);
+ same( order, [ 1, 2 ], "Animations finished in the correct order" );
+ start();
+ });
+ $foo.animate({fontSize:'2em'}, {queue:false, duration:10, complete:function () {
+ // short duration and out of queue so should finish first
+ order.push(1);
+ }});
+});
+*/
+
+test("animate with no properties", function() {
+ expect(1);
+
+ var divs = jQuery("div"), count = 0;
+
+ divs.animate({}, function(){
+ count++;
+ });
+
+ equals( divs.length, count, "Make sure that callback is called for each element in the set." );
+});
+
+test("animate duration 0", function() {
+ expect(11);
+
+ stop();
+
+ var $elems = jQuery([{ a:0 },{ a:0 }]), counter = 0;
+
+ equals( jQuery.timers.length, 0, "Make sure no animation was running from another test" );
+
+ $elems.eq(0).animate( {a:1}, 0, function(){
+ ok( true, "Animate a simple property." );
+ counter++;
+ });
+
+ // 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, function(){
+ ok( true, "Animate a second simple property." );
+ counter++;
+ });
+
+ equals( counter, 3, "Multiple synchronic animations" );
+
+ $elems.eq(0).animate( {a:3}, 0, function(){
+ ok( true, "Animate a third simple property." );
+ counter++;
+ });
+ $elems.eq(1).animate( {a:3}, 200, function(){
+ counter++;
+ // Failed until [6115]
+ equals( counter, 5, "One synchronic and one asynchronic" );
+ start();
+ });
+
+ var $elem = jQuery("<div />");
+ $elem.show(0, function(){
+ ok(true, "Show callback with no duration");
+ });
+ $elem.hide(0, function(){
+ ok(true, "Hide callback with no duration");
+ });
+});
+
+test("animate hyphenated properties", function(){
+ expect(1);
+ stop();
+
+ jQuery("#nothiddendiv")
+ .css("font-size", 10)
+ .animate({"font-size": 20}, 200, function(){
+ equals( this.style.fontSize, "20px", "The font-size property was animated." );
+ start();
+ });
+});
+
+test("animate non-element", function(){
+ expect(1);
+ stop();
+
+ var obj = { test: 0 };
+
+ jQuery(obj).animate({test: 200}, 200, function(){
+ equals( obj.test, 200, "The custom property should be modified." );
+ start();
+ });