diff options
Diffstat (limited to 'Source/core/animation/AnimationPlayerTest.cpp')
-rw-r--r-- | Source/core/animation/AnimationPlayerTest.cpp | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/Source/core/animation/AnimationPlayerTest.cpp b/Source/core/animation/AnimationPlayerTest.cpp index 992964687..6a453b888 100644 --- a/Source/core/animation/AnimationPlayerTest.cpp +++ b/Source/core/animation/AnimationPlayerTest.cpp @@ -73,7 +73,7 @@ protected: Timing timing; timing.iterationDuration = duration; timing.playbackRate = playbackRate; - return Animation::create(nullptr, nullptr, timing); + return Animation::create(0, nullptr, timing); } bool updateTimeline(double time) @@ -465,7 +465,7 @@ TEST_F(AnimationAnimationPlayerTest, FinishRaisesException) Timing timing; timing.iterationDuration = 1; timing.iterationCount = std::numeric_limits<double>::infinity(); - player->setSource(Animation::create(nullptr, nullptr, timing).get()); + player->setSource(Animation::create(0, nullptr, timing).get()); player->setCurrentTime(10); player->finish(exceptionState); @@ -634,7 +634,7 @@ TEST_F(AnimationAnimationPlayerTest, AnimationPlayersReturnTimeToNextEffect) timing.startDelay = 1; timing.iterationDuration = 1; timing.endDelay = 1; - RefPtr<Animation> animation = Animation::create(nullptr, nullptr, timing); + RefPtr<Animation> animation = Animation::create(0, nullptr, timing); player = timeline->createAnimationPlayer(animation.get()); player->setStartTime(0); @@ -678,12 +678,40 @@ TEST_F(AnimationAnimationPlayerTest, AnimationPlayersReturnTimeToNextEffect) EXPECT_EQ(0.5, player->timeToEffectChange()); } +TEST_F(AnimationAnimationPlayerTest, TimeToNextEffectWhenPaused) +{ + EXPECT_EQ(0, player->timeToEffectChange()); + player->pause(); + player->update(AnimationPlayer::UpdateOnDemand); + EXPECT_EQ(std::numeric_limits<double>::infinity(), player->timeToEffectChange()); +} + +TEST_F(AnimationAnimationPlayerTest, TimeToNextEffectWhenCancelledBeforeStart) +{ + EXPECT_EQ(0, player->timeToEffectChange()); + player->setCurrentTime(-8); + player->setPlaybackRate(2); + player->cancel(); + player->update(AnimationPlayer::UpdateOnDemand); + EXPECT_EQ(4, player->timeToEffectChange()); +} + +TEST_F(AnimationAnimationPlayerTest, TimeToNextEffectWhenCancelledBeforeStartReverse) +{ + EXPECT_EQ(0, player->timeToEffectChange()); + player->setCurrentTime(9); + player->setPlaybackRate(-3); + player->cancel(); + player->update(AnimationPlayer::UpdateOnDemand); + EXPECT_EQ(3, player->timeToEffectChange()); +} + TEST_F(AnimationAnimationPlayerTest, AttachedAnimationPlayers) { RefPtr<Element> element = document->createElement("foo", ASSERT_NO_EXCEPTION); Timing timing; - RefPtr<Animation> animation = Animation::create(element, nullptr, timing); + RefPtr<Animation> animation = Animation::create(element.get(), nullptr, timing); RefPtr<AnimationPlayer> player = timeline->createAnimationPlayer(animation.get()); timeline->serviceAnimations(AnimationPlayer::UpdateForAnimationFrame); EXPECT_EQ(1U, element->activeAnimations()->players().find(player.get())->value); |