From d6e99d9b5edd10170af913ae5fb7c71e2e802475 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Wed, 27 Apr 2016 23:21:56 +0300 Subject: [PATCH] Revert "Effects: Remove additional parameters of easings" This reverts commit b7a7dea95f84d6d8e5a8186d4fb09a762baf79bb. Fixes #3064 --- src/effects/Tween.js | 15 ++++++++++----- test/unit/tween.js | 8 ++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/effects/Tween.js b/src/effects/Tween.js index 66f4df106..43eb8fa0b 100644 --- a/src/effects/Tween.js +++ b/src/effects/Tween.js @@ -29,12 +29,17 @@ Tween.prototype = { 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 ); diff --git a/test/unit/tween.js b/test/unit/tween.js index f66aa37b6..28fcfad25 100644 --- a/test/unit/tween.js +++ b/test/unit/tween.js @@ -160,7 +160,8 @@ QUnit.test( "jQuery.Tween - Plain Object", function( assert ) { 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 ); @@ -199,7 +200,10 @@ QUnit.test( "jQuery.Tween - Element", function( assert ) { 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"