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

Unified Diff: cc/animation_unittest.cc

Issue 12517003: cc: Chromify the Animation and LayerAnimationController classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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
« no previous file with comments | « cc/animation_registrar.cc ('k') | cc/keyframed_animation_curve.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/animation_unittest.cc
diff --git a/cc/animation_unittest.cc b/cc/animation_unittest.cc
index d767f70b6a330f33443d70c58775aed33ef3ba88..638552daa2296c192a52f65ab7f4e742a830d4d8 100644
--- a/cc/animation_unittest.cc
+++ b/cc/animation_unittest.cc
@@ -11,207 +11,194 @@
namespace cc {
namespace {
-scoped_ptr<Animation> createAnimation(int iterations, double duration)
-{
- scoped_ptr<Animation> toReturn(Animation::create(make_scoped_ptr(new FakeFloatAnimationCurve(duration)).PassAs<AnimationCurve>(), 0, 1, Animation::Opacity));
- toReturn->setIterations(iterations);
- return toReturn.Pass();
-}
-
-scoped_ptr<Animation> createAnimation(int iterations)
-{
- return createAnimation(iterations, 1);
-}
-
-TEST(AnimationTest, TrimTimeZeroIterations)
-{
- scoped_ptr<Animation> anim(createAnimation(0));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
-}
-
-TEST(AnimationTest, TrimTimeOneIteration)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(2));
-}
-
-TEST(AnimationTest, TrimTimeInfiniteIterations)
-{
- scoped_ptr<Animation> anim(createAnimation(-1));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1.5));
-}
-
-TEST(AnimationTest, TrimTimeAlternating)
-{
- scoped_ptr<Animation> anim(createAnimation(-1));
- anim->setAlternatesDirection(true);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
- EXPECT_EQ(0.75, anim->trimTimeToCurrentIteration(1.25));
-}
-
-TEST(AnimationTest, TrimTimeStartTime)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setStartTime(4);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(4));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(4.5));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(5));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(6));
-}
-
-TEST(AnimationTest, TrimTimeTimeOffset)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setTimeOffset(4);
- anim->setStartTime(4);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1));
-}
-
-TEST(AnimationTest, TrimTimePauseResume)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setRunState(Animation::Running, 0);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
- anim->setRunState(Animation::Paused, 0.5);
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
- anim->setRunState(Animation::Running, 1024);
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1024.5));
-}
-
-TEST(AnimationTest, TrimTimeSuspendResume)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setRunState(Animation::Running, 0);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(0.5));
- anim->suspend(0.5);
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
- anim->resume(1024);
- EXPECT_EQ(0.5, anim->trimTimeToCurrentIteration(1024));
- EXPECT_EQ(1, anim->trimTimeToCurrentIteration(1024.5));
-}
-
-TEST(AnimationTest, TrimTimeZeroDuration)
-{
- scoped_ptr<Animation> anim(createAnimation(0, 0));
- anim->setRunState(Animation::Running, 0);
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(-1));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(0));
- EXPECT_EQ(0, anim->trimTimeToCurrentIteration(1));
-}
-
-TEST(AnimationTest, IsFinishedAtZeroIterations)
-{
- scoped_ptr<Animation> anim(createAnimation(0));
- anim->setRunState(Animation::Running, 0);
- EXPECT_FALSE(anim->isFinishedAt(-1));
- EXPECT_TRUE(anim->isFinishedAt(0));
- EXPECT_TRUE(anim->isFinishedAt(1));
-}
-
-TEST(AnimationTest, IsFinishedAtOneIteration)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setRunState(Animation::Running, 0);
- EXPECT_FALSE(anim->isFinishedAt(-1));
- EXPECT_FALSE(anim->isFinishedAt(0));
- EXPECT_TRUE(anim->isFinishedAt(1));
- EXPECT_TRUE(anim->isFinishedAt(2));
-}
-
-TEST(AnimationTest, IsFinishedAtInfiniteIterations)
-{
- scoped_ptr<Animation> anim(createAnimation(-1));
- anim->setRunState(Animation::Running, 0);
- EXPECT_FALSE(anim->isFinishedAt(0));
- EXPECT_FALSE(anim->isFinishedAt(0.5));
- EXPECT_FALSE(anim->isFinishedAt(1));
- EXPECT_FALSE(anim->isFinishedAt(1.5));
-}
-
-TEST(AnimationTest, IsFinishedAtNotRunning)
-{
- scoped_ptr<Animation> anim(createAnimation(0));
- anim->setRunState(Animation::Running, 0);
- EXPECT_TRUE(anim->isFinishedAt(0));
- anim->setRunState(Animation::Paused, 0);
- EXPECT_FALSE(anim->isFinishedAt(0));
- anim->setRunState(Animation::WaitingForNextTick, 0);
- EXPECT_FALSE(anim->isFinishedAt(0));
- anim->setRunState(Animation::WaitingForTargetAvailability, 0);
- EXPECT_FALSE(anim->isFinishedAt(0));
- anim->setRunState(Animation::WaitingForStartTime, 0);
- EXPECT_FALSE(anim->isFinishedAt(0));
- anim->setRunState(Animation::Finished, 0);
- EXPECT_TRUE(anim->isFinishedAt(0));
- anim->setRunState(Animation::Aborted, 0);
- EXPECT_TRUE(anim->isFinishedAt(0));
-}
-
-TEST(AnimationTest, IsFinished)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setRunState(Animation::Running, 0);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::Paused, 0);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForNextTick, 0);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForTargetAvailability, 0);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForStartTime, 0);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::Finished, 0);
- EXPECT_TRUE(anim->isFinished());
- anim->setRunState(Animation::Aborted, 0);
- EXPECT_TRUE(anim->isFinished());
-}
-
-TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->setRunState(Animation::Running, 2);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::Paused, 2);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForNextTick, 2);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForTargetAvailability, 2);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::WaitingForStartTime, 2);
- EXPECT_FALSE(anim->isFinished());
- anim->setRunState(Animation::Finished, 0);
- EXPECT_TRUE(anim->isFinished());
- anim->setRunState(Animation::Aborted, 0);
- EXPECT_TRUE(anim->isFinished());
-}
-
-TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended)
-{
- scoped_ptr<Animation> anim(createAnimation(1));
- anim->suspend(0);
- EXPECT_EQ(Animation::Paused, anim->runState());
- anim->setRunState(Animation::Running, 0);
- EXPECT_EQ(Animation::Paused, anim->runState());
- anim->resume(0);
- anim->setRunState(Animation::Running, 0);
- EXPECT_EQ(Animation::Running, anim->runState());
+scoped_ptr<Animation> CreateAnimation(int iterations, double duration) {
+ scoped_ptr<Animation> to_return(Animation::Create(
+ make_scoped_ptr(
+ new FakeFloatAnimationCurve(duration)).PassAs<AnimationCurve>(),
+ 0,
+ 1,
+ Animation::Opacity));
+ to_return->set_iterations(iterations);
+ return to_return.Pass();
+}
+
+scoped_ptr<Animation> CreateAnimation(int iterations) {
+ return CreateAnimation(iterations, 1);
+}
+
+TEST(AnimationTest, TrimTimeZeroIterations) {
+ scoped_ptr<Animation> anim(CreateAnimation(0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0));
+}
+
+TEST(AnimationTest, TrimTimeOneIteration) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(2.0));
+}
+
+TEST(AnimationTest, TrimTimeInfiniteIterations) {
+ scoped_ptr<Animation> anim(CreateAnimation(-1));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1.5));
+}
+
+TEST(AnimationTest, TrimTimeAlternating) {
+ scoped_ptr<Animation> anim(CreateAnimation(-1));
+ anim->set_alternates_direction(true);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0));
+ EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25));
+}
+
+TEST(AnimationTest, TrimTimeStartTime) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->set_start_time(4);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(4.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(5.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(6.0));
+}
+
+TEST(AnimationTest, TrimTimeTimeOffset) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->set_time_offset(4);
+ anim->set_start_time(4);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1.0));
+}
+
+TEST(AnimationTest, TrimTimePauseResume) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
+ anim->SetRunState(Animation::Paused, 0.5);
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0));
+ anim->SetRunState(Animation::Running, 1024.0);
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1024.5));
+}
+
+TEST(AnimationTest, TrimTimeSuspendResume) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
+ anim->Suspend(0.5);
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0));
+ anim->Resume(1024);
+ EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(1024.0));
+ EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(1024.5));
+}
+
+TEST(AnimationTest, TrimTimeZeroDuration) {
+ scoped_ptr<Animation> anim(CreateAnimation(0, 0));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(-1.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
+ EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0));
+}
+
+TEST(AnimationTest, IsFinishedAtZeroIterations) {
+ scoped_ptr<Animation> anim(CreateAnimation(0));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(-1.0));
+ EXPECT_TRUE(anim->IsFinishedAt(0.0));
+ EXPECT_TRUE(anim->IsFinishedAt(1.0));
+}
+
+TEST(AnimationTest, IsFinishedAtOneIteration) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(-1.0));
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ EXPECT_TRUE(anim->IsFinishedAt(1.0));
+ EXPECT_TRUE(anim->IsFinishedAt(2.0));
+}
+
+TEST(AnimationTest, IsFinishedAtInfiniteIterations) {
+ scoped_ptr<Animation> anim(CreateAnimation(-1));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ EXPECT_FALSE(anim->IsFinishedAt(0.5));
+ EXPECT_FALSE(anim->IsFinishedAt(1.0));
+ EXPECT_FALSE(anim->IsFinishedAt(1.5));
+}
+
+TEST(AnimationTest, IsFinishedAtNotRunning) {
+ scoped_ptr<Animation> anim(CreateAnimation(0));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_TRUE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::Paused, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::WaitingForNextTick, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::WaitingForTargetAvailability, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::WaitingForStartTime, 0.0);
+ EXPECT_FALSE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::Finished, 0.0);
+ EXPECT_TRUE(anim->IsFinishedAt(0.0));
+ anim->SetRunState(Animation::Aborted, 0.0);
+ EXPECT_TRUE(anim->IsFinishedAt(0.0));
+}
+
+TEST(AnimationTest, IsFinished) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::Paused, 0.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForNextTick, 0.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForTargetAvailability, 0.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForStartTime, 0.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::Finished, 0.0);
+ EXPECT_TRUE(anim->is_finished());
+ anim->SetRunState(Animation::Aborted, 0.0);
+ EXPECT_TRUE(anim->is_finished());
+}
+
+TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->SetRunState(Animation::Running, 2.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::Paused, 2.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForNextTick, 2.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForTargetAvailability, 2.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::WaitingForStartTime, 2.0);
+ EXPECT_FALSE(anim->is_finished());
+ anim->SetRunState(Animation::Finished, 0.0);
+ EXPECT_TRUE(anim->is_finished());
+ anim->SetRunState(Animation::Aborted, 0.0);
+ EXPECT_TRUE(anim->is_finished());
+}
+
+TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) {
+ scoped_ptr<Animation> anim(CreateAnimation(1));
+ anim->Suspend(0);
+ EXPECT_EQ(Animation::Paused, anim->run_state());
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_EQ(Animation::Paused, anim->run_state());
+ anim->Resume(0);
+ anim->SetRunState(Animation::Running, 0.0);
+ EXPECT_EQ(Animation::Running, anim->run_state());
}
} // namespace
« no previous file with comments | « cc/animation_registrar.cc ('k') | cc/keyframed_animation_curve.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698