| 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
|
|
|