Tween.propHooks._default.get( this );
},
run: function( percent ) {
- var hooks = Tween.propHooks[ this.prop ];
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
- this.pos = this.options.duration ?
- jQuery.easing[ this.easing ]( percent ) :
- percent;
- this.now = ( this.end - this.start ) * this.pos + this.start;
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
if ( this.options.step ) {
this.options.step.call( this.elem, this.now, this );
tween.now, 90, "Calculated tween"
);
- assert.ok( easingSpy.calledWith( 0.1 ), "...using jQuery.easing.linear" );
+ assert.ok( easingSpy.calledWith( 0.1, 0.1 * testOptions.duration, 0, 1, testOptions.duration ),
+ "...using jQuery.easing.linear with back-compat arguments" );
assert.equal(
testObject.test, 90, "Set value"
);
tween.now, eased, "Calculated tween"
);
- assert.ok( easingSpy.calledWith( 0.1 ), "...using jQuery.easing.linear" );
+ assert.ok( easingSpy.calledWith( 0.1, 0.1 * testOptions.duration, 0, 1, testOptions.duration ),
+ "...using jQuery.easing.linear with back-compat arguments" );
assert.equal(
Math.floor( parseFloat( testElement.style.height ) ), Math.floor( eased ), "Set value"
);