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 );
assert.equal( 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.run( 1 );
eased = 100 - ( jQuery.easing.swing( 0.1 ) * 100 );
assert.equal( 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(
parseFloat( testElement.style.height ).toFixed( 2 ),
eased.toFixed( 2 ), "Set value"