Skip to content
Permalink
Browse files
No ticket: Improve line-height animation test stability
  • Loading branch information
gibson042 committed Sep 17, 2013
1 parent a253430 commit 94ae713
Showing 1 changed file with 31 additions and 23 deletions.
@@ -1416,7 +1416,8 @@ test("Do not append px to 'fill-opacity' #9548", 1, function() {
});

asyncTest("line-height animates correctly (#13855)", 12, function() {
var longDuration = 2000,
var t0,
longDuration = 2000,
shortDuration = 500,
animated = jQuery(
"<p style='line-height: 100;'>unitless</p>" +
@@ -1427,42 +1428,49 @@ asyncTest("line-height animates correctly (#13855)", 12, function() {
initialHeight = jQuery.map( animated, function( el ) {
return jQuery( el ).height();
}),
tolerance = 1.5,
t0 = +(new Date());
tolerance = 1.5;

animated.animate( { "line-height": "hide" }, longDuration );
// Delay start to improve test stability
setTimeout(function() {
var progress = ( (new Date()) - t0 ) / longDuration;

animated.each(function( i ) {
var label = jQuery.text( this ),
initial = initialHeight[ i ],
height = jQuery( this ).height(),
lower = initial * ( 1 - progress ) / tolerance;
ok( height < initial, "hide " + label + ": upper bound; " +
height + " < " + initial + " @ " + ( progress * 100 ) + "%" );
ok( height > lower, "hide " + label + ": lower bound; " +
height + " > " + lower + " @ " + ( progress * 100 ) + "%" );
});

t0 = +(new Date());
animated.stop( true, true ).hide().animate( { "line-height": "show" }, longDuration );
animated.animate( { "line-height": "hide" }, longDuration, "linear" );

setTimeout(function() {
var progress = ( (new Date()) - t0 ) / longDuration;

animated.each(function( i ) {
var label = jQuery.text( this ),
initial = initialHeight[ i ],
height = jQuery( this ).height(),
upper = initial * progress * tolerance;
ok( height < upper, "show " + label + ": upper bound; " +
height + " < " + upper + " @ " + ( progress * 100 ) + "%" );
lower = initial * ( 1 - progress ) / tolerance;
ok( height < initial, "hide " + label + ": upper bound; " +
height + " < " + initial + " @ " + ( progress * 100 ) + "%" );
ok( height > lower, "hide " + label + ": lower bound; " +
height + " > " + lower + " @ " + ( progress * 100 ) + "%" );
});

animated.stop( true, true );
start();
t0 = +(new Date());
animated.stop( true, true ).hide()
.animate( { "line-height": "show" }, longDuration, "linear" );

setTimeout(function() {
var progress = ( (new Date()) - t0 ) / longDuration;

animated.each(function( i ) {
var label = jQuery.text( this ),
initial = initialHeight[ i ],
height = jQuery( this ).height(),
upper = initial * progress * tolerance;
ok( height < upper, "show " + label + ": upper bound; " +
height + " < " + upper + " @ " + ( progress * 100 ) + "%" );
});

animated.stop( true, true );
start();
}, shortDuration );
}, shortDuration );
}, shortDuration );
}, 50 );
});

// Start 1.8 Animation tests

0 comments on commit 94ae713

Please sign in to comment.