diff --git a/framer/Animation.coffee b/framer/Animation.coffee index 6e9f63712..da71df063 100644 --- a/framer/Animation.coffee +++ b/framer/Animation.coffee @@ -82,6 +82,8 @@ class exports.Animation extends BaseClass @define "layer", get: -> @_layer + @define "isPending", get: -> @_delayTimer? + @define "isAnimating", get: -> @ in @layer.context.animations @@ -240,6 +242,7 @@ class exports.Animation extends BaseClass _start: => @layer.context.addAnimation(@) + @_delayTimer = null @emit(Events.AnimationStart) Framer.Loop.on("update", @_update) diff --git a/test/tests/LayerAnimationTest.coffee b/test/tests/LayerAnimationTest.coffee index 28c1e1d46..081db61be 100644 --- a/test/tests/LayerAnimationTest.coffee +++ b/test/tests/LayerAnimationTest.coffee @@ -400,6 +400,23 @@ describe "LayerAnimation", -> layer.x.should.equal 0 done() + it "pending flag should be false by default", -> + layer = new Layer + a = layer.animate + x: 100 + a.isPending.should.equal false + a.stop() + + it "should add a pending flag for delayed animations", (done) -> + layer = new Layer + a = layer.animate + x: 100 + options: + delay: 0.3 + a.isPending.should.equal true + Utils.delay 0.3, -> + a.isPending.should.equal false + done() describe "Repeat", -> it "should start repeatedly", (done) ->