aboutsummaryrefslogtreecommitdiffstats
path: root/pom.xml
Commit message (Expand)AuthorAgeFilesLines
* Update spotbugsSimon Steiner2024-04-041-1/+1
* FOP-3159: Set an automatic module name by Samael BateSimon Steiner2024-02-221-3/+3
* Run tests on Java 11 and 17Simon Steiner2024-01-221-1/+1
* FOP-3158: Switch to spotbugsSimon Steiner2024-01-181-1/+6
* Update for releaseSimon Steiner2023-08-141-1/+1
* FOP-3132: Link against Java 8 APISimon Steiner2023-05-041-2/+11
* FOP-3127: Fix testSimon Steiner2023-04-041-1/+1
* Update for a releaseSimon Steiner2022-11-021-1/+1
* Fix tests on Java 19Simon Steiner2022-09-231-2/+2
* Update versionSimon Steiner2022-09-051-2/+2
* FOP-3051: Upgrade to Commons IO 2.11Simon Steiner2022-02-031-1/+1
* Update for releaseSimon Steiner2022-01-121-2/+2
* Fix compile on java 17Simon Steiner2021-09-141-1/+1
* Update for releaseSimon Steiner2021-01-121-3/+3
* FOP-2939: Upgrade ant to 1.9.15Simon Steiner2020-07-301-0/+1
* Fix compile on newer mvnSimon Steiner2020-02-111-2/+28
* Bump versionSimon Steiner2019-11-061-1/+1
* FOP-2856: Support compile on Java 12Simon Steiner2019-04-041-2/+2
* FOP-2733: Drop dependency on Avalon-FrameworkSimon Steiner2019-01-221-1/+0
* FOP-2805: Bump batik versionSimon Steiner2018-07-191-1/+1
* FOP-2797: Bump versionSimon Steiner2018-07-101-2/+2
* Fix repository:bundle-createSimon Steiner2018-05-211-0/+1
* Fix javadocs under java 8Simon Steiner2017-08-291-0/+11
* Jenkins requires Java 8 so use compatible findbugsSimon Steiner2017-07-191-1/+1
* Bump versionSimon Steiner2017-03-271-2/+2
* Allow different compiler since jenkins requires Java 7Simon Steiner2017-02-281-0/+3
* Revert erroneous maven configuration change.Glenn Adams2016-10-201-2/+1
* FOP-2658: Compile JAIMonochromeBitmapConverterSimon Steiner2016-10-201-1/+6
* Fixups for ant targets, checkstyle, findbugs.Glenn Adams2016-03-131-3/+21
* Configure fop-{sandbox,servlet,transcoder}, checkstyle, findbugs; fixups for ...Glenn Adams2016-03-121-3/+19
* Reset java.version to 1.6.Glenn Adams2016-03-081-1/+1
* Reorganize test resources into src/test/resources.Glenn Adams2016-03-071-1/+0
* Configure maven build.Glenn Adams2016-03-061-0/+99
{ return; } var oldRaf = window.requestAnimationFrame; QUnit.module( "tween", { beforeEach: function() { window.requestAnimationFrame = null; this.sandbox = sinon.sandbox.create(); this.clock = this.sandbox.useFakeTimers( 505877050 ); this._oldInterval = jQuery.fx.interval; jQuery.fx.step = {}; jQuery.fx.interval = 10; }, afterEach: function() { this.sandbox.restore(); jQuery.fx.stop(); jQuery.fx.interval = this._oldInterval; window.requestAnimationFrame = oldRaf; return moduleTeardown.apply( this, arguments ); } } ); QUnit.test( "jQuery.Tween - Default propHooks on plain objects", function( assert ) { assert.expect( 8 ); var propHooks, defaultHook, testObject, fakeTween, stepSpy; propHooks = jQuery.Tween.propHooks; assert.equal( typeof propHooks, "object", "jQuery.Tween.propHooks exists" ); defaultHook = propHooks._default; assert.ok( defaultHook, "_default propHook exists" ); testObject = { test: 0 }; fakeTween = { elem: testObject, prop: "test", now: 10, unit: "px" }; assert.equal( defaultHook.get( fakeTween ), 0, "Can get property of object" ); fakeTween.prop = "testMissing"; assert.equal( defaultHook.get( fakeTween ), undefined, "Can get missing property on object" ); defaultHook.set( fakeTween ); assert.equal( testObject.testMissing, 10, "Sets missing value properly on plain object" ); fakeTween.prop = "opacity"; defaultHook.set( fakeTween ); assert.equal( testObject.opacity, 10, "Correctly set opacity on plain object" ); fakeTween.prop = "test"; stepSpy = jQuery.fx.step.test = this.sandbox.spy(); defaultHook.set( fakeTween ); assert.ok( stepSpy.calledWith( fakeTween ), "Step function called with Tween" ); assert.equal( testObject.test, 0, "Because step didn't set, value is unchanged" ); } ); QUnit.test( "jQuery.Tween - Default propHooks on elements", function( assert ) { assert.expect( 19 ); var propHooks, defaultHook, testElement, fakeTween, cssStub, styleStub, stepSpy; propHooks = jQuery.Tween.propHooks; assert.equal( typeof propHooks, "object", "jQuery.Tween.propHooks exists" ); defaultHook = propHooks._default; assert.ok( defaultHook, "_default propHook exists" ); testElement = jQuery( "<div>" )[ 0 ]; fakeTween = { elem: testElement, prop: "height", now: 10, unit: "px" }; cssStub = this.sandbox.stub( jQuery, "css" ).returns( 10 ); assert.equal( defaultHook.get( fakeTween ), 10, "Gets expected style value" ); assert.ok( cssStub.calledWith( testElement, "height", "" ), "Calls jQuery.css correctly" ); fakeTween.prop = "testOpti"; testElement.testOpti = 15; cssStub.resetHistory(); assert.equal( defaultHook.get( fakeTween ), 15, "Gets expected value not defined on style" ); assert.equal( cssStub.callCount, 0, "Did not call jQuery.css" ); fakeTween.prop = "testMissing"; assert.equal( defaultHook.get( fakeTween ), 10, "Can get missing property on element" ); assert.ok( cssStub.calledWith( testElement, "testMissing", "" ), "...using jQuery.css" ); cssStub.returns( "" ); assert.equal( defaultHook.get( fakeTween ), 0, "Uses 0 for empty string" ); cssStub.returns( "auto" ); assert.equal( defaultHook.get( fakeTween ), 0, "Uses 0 for 'auto'" ); cssStub.returns( null ); assert.equal( defaultHook.get( fakeTween ), 0, "Uses 0 for null" ); cssStub.returns( undefined ); assert.equal( defaultHook.get( fakeTween ), 0, "Uses 0 for undefined" ); cssStub.resetHistory(); // Setters styleStub = this.sandbox.stub( jQuery, "style" ); fakeTween.prop = "height"; defaultHook.set( fakeTween ); assert.ok( styleStub.calledWith( testElement, "height", "10px" ), "Calls jQuery.style with elem, prop, now+unit" ); styleStub.resetHistory(); fakeTween.prop = "testMissing"; defaultHook.set( fakeTween ); assert.equal( styleStub.callCount, 0, "Did not call jQuery.style for non css property" ); assert.equal( testElement.testMissing, 10, "Instead, set value on element directly" ); jQuery.cssHooks.testMissing = jQuery.noop; fakeTween.now = 11; defaultHook.set( fakeTween ); delete jQuery.cssHooks.testMissing; assert.ok( styleStub.calledWith( testElement, "testMissing", "11px" ), "Presence of cssHooks causes jQuery.style with elem, prop, now+unit" ); assert.equal( testElement.testMissing, 10, "And value was unchanged" ); stepSpy = jQuery.fx.step.test = this.sandbox.spy(); styleStub.resetHistory(); fakeTween.prop = "test"; defaultHook.set( fakeTween ); assert.ok( stepSpy.calledWith( fakeTween ), "Step function called with Tween" ); assert.equal( styleStub.callCount, 0, "Did not call jQuery.style" ); } ); QUnit.test( "jQuery.Tween - Plain Object", function( assert ) { assert.expect( 13 ); var testObject = { test: 100 }, testOptions = { duration: 100 }, tween, easingSpy; tween = jQuery.Tween( testObject, testOptions, "test", 0, "linear" ); assert.equal( tween.elem, testObject, "Sets .element" ); assert.equal( tween.options, testOptions, "sets .options" ); assert.equal( tween.prop, "test", "sets .prop" ); assert.equal( tween.end, 0, "sets .end" ); assert.equal( tween.easing, "linear", "sets .easing when provided" ); assert.equal( tween.start, 100, "Reads .start value during construction" ); assert.equal( tween.now, 100, "Reads .now value during construction" ); easingSpy = this.sandbox.spy( jQuery.easing, "linear" ); assert.equal( tween.run( 0.1 ), tween, ".run() returns this" ); assert.equal( tween.now, 90, "Calculated tween" ); 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 ); assert.equal( testObject.test, 0, "Checking another value" ); tween.run( 0 ); assert.equal( testObject.test, 100, "Can even go back in time" ); } ); QUnit.test( "jQuery.Tween - Element", function( assert ) { assert.expect( 15 ); var testElement = jQuery( "<div>" ).css( "height", 100 )[ 0 ], testOptions = { duration: 100 }, tween, easingSpy, eased; tween = jQuery.Tween( testElement, testOptions, "height", 0 ); assert.equal( tween.elem, testElement, "Sets .element" ); assert.equal( tween.options, testOptions, "sets .options" ); assert.equal( tween.prop, "height", "sets .prop" ); assert.equal( tween.end, 0, "sets .end" ); assert.equal( tween.easing, jQuery.easing._default, "sets .easing to default when not provided" ); assert.equal( tween.unit, "px", "sets .unit to px when not provided" ); assert.equal( tween.start, 100, "Reads .start value during construction" ); assert.equal( tween.now, 100, "Reads .now value during construction" ); easingSpy = this.sandbox.spy( jQuery.easing, "swing" ); assert.equal( tween.run( 0.1 ), tween, ".run() returns this" ); assert.equal( tween.pos, jQuery.easing.swing( 0.1 ), "set .pos" ); eased = 100 - ( jQuery.easing.swing( 0.1 ) * 100 ); assert.equal( tween.now, eased, "Calculated tween" ); 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" ); tween.run( 1 ); assert.equal( testElement.style.height, "0px", "Checking another value" ); tween.run( 0 ); assert.equal( testElement.style.height, "100px", "Can even go back in time" ); } ); QUnit.test( "jQuery.Tween - No duration", function( assert ) { assert.expect( 3 ); var testObject = { test: 100 }, testOptions = { duration: 0 }, tween, easingSpy; tween = jQuery.Tween( testObject, testOptions, "test", 0 ); easingSpy = this.sandbox.spy( jQuery.easing, "swing" ); tween.run( 0.5 ); assert.equal( tween.pos, 0.5, "set .pos correctly" ); assert.equal( testObject.test, 50, "set value on object correctly" ); assert.equal( easingSpy.callCount, 0, "didn't ease the value" ); } ); QUnit.test( "jQuery.Tween - step function option", function( assert ) { assert.expect( 4 ); var testObject = { test: 100 }, testOptions = { duration: 100, step: this.sandbox.spy() }, tween, propHookSpy; propHookSpy = this.sandbox.spy( jQuery.Tween.propHooks._default, "set" ); tween = jQuery.Tween( testObject, testOptions, "test", 0, "linear" ); assert.equal( testOptions.step.callCount, 0, "didn't call step on create" ); tween.run( 0.5 ); assert.ok( testOptions.step.calledOn( testObject ), "Called step function in context of animated object" ); assert.ok( testOptions.step.calledWith( 50, tween ), "Called step function with correct parameters" ); assert.ok( testOptions.step.calledBefore( propHookSpy ), "Called step function before calling propHook.set" ); } ); QUnit.test( "jQuery.Tween - custom propHooks", function( assert ) { assert.expect( 3 ); var testObject = {}, testOptions = { duration: 100, step: this.sandbox.spy() }, propHook = { get: sinon.stub().returns( 100 ), set: sinon.stub() }, tween; jQuery.Tween.propHooks.testHooked = propHook; tween = jQuery.Tween( testObject, testOptions, "testHooked", 0, "linear" ); assert.ok( propHook.get.calledWith( tween ), "called propHook.get on create" ); assert.equal( tween.now, 100, "Used return value from propHook.get" ); tween.run( 0.5 ); assert.ok( propHook.set.calledWith( tween ), "Called propHook.set function with correct parameters" ); delete jQuery.Tween.propHooks.testHooked; } ); QUnit.test( "jQuery.Tween - custom propHooks - advanced values", function( assert ) { assert.expect( 5 ); var testObject = {}, testOptions = { duration: 100, step: this.sandbox.spy() }, propHook = { get: sinon.stub().returns( [ 0, 0 ] ), set: sinon.spy() }, tween; jQuery.Tween.propHooks.testHooked = propHook; tween = jQuery.Tween( testObject, testOptions, "testHooked", [ 1, 1 ], "linear" ); assert.ok( propHook.get.calledWith( tween ), "called propHook.get on create" ); assert.deepEqual( tween.start, [ 0, 0 ], "Used return value from get" ); tween.run( 0.5 ); // Some day this NaN assumption might change - perhaps add a "calc" helper to the hooks? assert.ok( isNaN( tween.now ), "Used return value from propHook.get" ); assert.equal( tween.pos, 0.5, "But the eased percent is still available" ); assert.ok( propHook.set.calledWith( tween ), "Called propHook.set function with correct parameters" ); delete jQuery.Tween.propHooks.testHooked; } ); } )();