Landing pull request 372. Test for numeric properties was using wrong variable. Fixes #9074.

More Details:
 - https://github.com/jquery/jquery/pull/372
1.7/enhancement_8685
gnarf 2011-05-07 19:18:52 -04:00 committed by timmywil
parent c085563270
commit 31268449b9
2 changed files with 32 additions and 5 deletions

3
src/effects.js vendored
View File

@ -202,7 +202,6 @@ jQuery.fn.extend({
for ( p in prop ) {
e = new jQuery.fx( this, opt, p );
val = prop[p];
if ( rfxtypes.test(val) ) {
@ -214,7 +213,7 @@ jQuery.fn.extend({
if ( parts ) {
end = parseFloat( parts[2] );
unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" );
unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
// We need to compute starting value
if ( unit !== "px" ) {

34
test/unit/effects.js vendored
View File

@ -32,7 +32,8 @@ test("show()", function() {
hiddendiv.css("display","");
var pass = true, div = jQuery("#qunit-fixture div");
var pass = true;
div = jQuery("#qunit-fixture div");
div.show().each(function(){
if ( this.style.display == "none" ) pass = false;
});
@ -582,7 +583,7 @@ jQuery.checkOverflowDisplay = function(){
equals(jQuery.css( this, "display" ), "inline", "Display shouldn't be tampered with.");
start();
}
};
test( "jQuery.fx.prototype.cur()", 6, function() {
var div = jQuery( "<div></div>" ).appendTo( "#qunit-fixture" ).css({
@ -901,7 +902,7 @@ jQuery.makeTest = function( text ){
.after( elem );
return elem;
}
};
jQuery.makeTest.id = 1;
@ -993,3 +994,30 @@ test("animate unit-less properties (#4966)", 2, function() {
start();
});
});
test( "animate properties missing px w/ opacity as last (#9074)", 2, function() {
expect( 6 );
stop();
var div = jQuery( "<div style='position: absolute; margin-left: 0; left: 0px;'></div>" )
.appendTo( "#qunit-fixture" );
function cssInt( prop ) {
return parseInt( div.css( prop ), 10 );
}
equal( cssInt( "marginLeft" ), 0, "Margin left is 0" );
equal( cssInt( "left" ), 0, "Left is 0" );
div.animate({
left: 200,
marginLeft: 200,
opacity: 0
}, 1000);
setTimeout(function() {
var ml = cssInt( "marginLeft" ),
l = cssInt( "left" );
notEqual( ml, 0, "Margin left is not 0 after partial animate" );
notEqual( ml, 200, "Margin left is not 200 after partial animate" );
notEqual( l, 0, "Left is not 0 after partial animate" );
notEqual( l, 200, "Left is not 200 after partial animate" );
div.stop().remove();
start();
}, 100);
});