Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(659)

Unified Diff: third_party/WebKit/Source/core/animation/AnimationTest.cpp

Issue 1417613005: Revert of Web Animations: Use a single animation clock (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/animation/AnimationTest.cpp
diff --git a/third_party/WebKit/Source/core/animation/AnimationTest.cpp b/third_party/WebKit/Source/core/animation/AnimationTest.cpp
index c28dd9fed93c8052871a078fbca610df3cd70233..61beaff8f4b797058a4d5a699213293442e4b793 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTest.cpp
+++ b/third_party/WebKit/Source/core/animation/AnimationTest.cpp
@@ -38,7 +38,6 @@
#include "core/dom/Document.h"
#include "core/dom/ExceptionCode.h"
#include "core/dom/QualifiedName.h"
-#include "core/testing/DummyPageHolder.h"
#include "platform/weborigin/KURL.h"
#include <gtest/gtest.h>
@@ -54,8 +53,7 @@
void setUpWithoutStartingTimeline()
{
- pageHolder = DummyPageHolder::create();
- document = &pageHolder->document();
+ document = Document::create();
document->animationClock().resetTimeForTesting();
timeline = AnimationTimeline::create(document.get());
animation = timeline->play(0);
@@ -78,7 +76,7 @@
bool simulateFrame(double time)
{
- document->animationClock().updateTime(document->timeline().zeroTime() + time);
+ document->animationClock().updateTime(time);
document->compositorPendingAnimations().update(false);
// The timeline does not know about our animation, so we have to explicitly call update().
return animation->update(TimingUpdateForAnimationFrame);
@@ -88,7 +86,6 @@
Persistent<AnimationTimeline> timeline;
Persistent<Animation> animation;
TrackExceptionState exceptionState;
- OwnPtr<DummyPageHolder> pageHolder;
};
TEST_F(AnimationAnimationTest, InitialState)
@@ -120,7 +117,7 @@
// FIXME: We should split simulateFrame into a version that doesn't update
// the animation and one that does, as most of the tests don't require update()
// to be called.
- document->animationClock().updateTime(document->timeline().zeroTime() + 10);
+ document->animationClock().updateTime(10);
EXPECT_EQ(10, animation->currentTimeInternal());
EXPECT_FALSE(animation->outdated());
}
@@ -184,6 +181,26 @@
EXPECT_EQ(Animation::Running, animation->playStateInternal());
simulateFrame(40);
EXPECT_EQ(10, animation->currentTimeInternal());
+}
+
+TEST_F(AnimationAnimationTest, SetCurrentTimeBeforeTimelineStarted)
+{
+ setUpWithoutStartingTimeline();
+ animation->setCurrentTimeInternal(5);
+ EXPECT_EQ(5, animation->currentTimeInternal());
+ startTimeline();
+ simulateFrame(10);
+ EXPECT_EQ(15, animation->currentTimeInternal());
+}
+
+TEST_F(AnimationAnimationTest, SetCurrentTimePastContentEndBeforeTimelineStarted)
+{
+ setUpWithoutStartingTimeline();
+ animation->setCurrentTime(250 * 1000);
+ EXPECT_EQ(250, animation->currentTimeInternal());
+ startTimeline();
+ simulateFrame(10);
+ EXPECT_EQ(250, animation->currentTimeInternal());
}
TEST_F(AnimationAnimationTest, SetCurrentTimeMax)
@@ -303,6 +320,21 @@
EXPECT_EQ(20, animation->currentTimeInternal());
}
+TEST_F(AnimationAnimationTest, PauseBeforeTimelineStarted)
+{
+ setUpWithoutStartingTimeline();
+ animation->pause();
+ EXPECT_TRUE(animation->paused());
+ animation->play();
+ EXPECT_FALSE(animation->paused());
+
+ animation->pause();
+ startTimeline();
+ simulateFrame(100);
+ EXPECT_TRUE(animation->paused());
+ EXPECT_EQ(0, animation->currentTimeInternal());
+}
+
TEST_F(AnimationAnimationTest, PlayRewindsToStart)
{
animation->setCurrentTimeInternal(30);
@@ -519,6 +551,17 @@
simulateFrame(0);
EXPECT_EQ(2, animation->playbackRate());
EXPECT_EQ(0, animation->currentTimeInternal());
+ simulateFrame(10);
+ EXPECT_EQ(20, animation->currentTimeInternal());
+}
+
+TEST_F(AnimationAnimationTest, SetPlaybackRateBeforeTimelineStarted)
+{
+ setUpWithoutStartingTimeline();
+ animation->setPlaybackRate(2);
+ EXPECT_EQ(2, animation->playbackRate());
+ EXPECT_EQ(0, animation->currentTimeInternal());
+ startTimeline();
simulateFrame(10);
EXPECT_EQ(20, animation->currentTimeInternal());
}

Powered by Google App Engine
This is Rietveld 408576698