| Index: cc/animation/animation_unittest.cc
|
| diff --git a/cc/animation/animation_unittest.cc b/cc/animation/animation_unittest.cc
|
| index 7768cebf96219c60cf989c9dae9acda9c9a2c780..1d4b8f7a167f09a72862819af6313dce9d397f5f 100644
|
| --- a/cc/animation/animation_unittest.cc
|
| +++ b/cc/animation/animation_unittest.cc
|
| @@ -11,6 +11,13 @@
|
| namespace cc {
|
| namespace {
|
|
|
| +using base::TimeDelta;
|
| +
|
| +static base::TimeTicks TicksFromSecondsF(double seconds) {
|
| + return base::TimeTicks::FromInternalValue(seconds *
|
| + base::Time::kMicrosecondsPerSecond);
|
| +}
|
| +
|
| scoped_ptr<Animation> CreateAnimation(int iterations, double duration) {
|
| scoped_ptr<Animation> to_return(Animation::Create(
|
| make_scoped_ptr(
|
| @@ -28,367 +35,370 @@ scoped_ptr<Animation> CreateAnimation(int iterations) {
|
|
|
| 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));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(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));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(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));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.5)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(-1));
|
| anim->set_direction(Animation::Reverse);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateInfiniteIterations) {
|
| scoped_ptr<Animation> anim(CreateAnimation(-1));
|
| anim->set_direction(Animation::Alternate);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateOneIteration) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| anim->set_direction(Animation::Alternate);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.25));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateTwoIterations) {
|
| scoped_ptr<Animation> anim(CreateAnimation(2));
|
| anim->set_direction(Animation::Alternate);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.25));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.75));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(2.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(2.25));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateReverseInfiniteIterations) {
|
| scoped_ptr<Animation> anim(CreateAnimation(-1));
|
| anim->set_direction(Animation::AlternateReverse);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.25));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateReverseOneIteration) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| anim->set_direction(Animation::AlternateReverse);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.25));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeAlternateReverseTwoIterations) {
|
| scoped_ptr<Animation> anim(CreateAnimation(2));
|
| anim->set_direction(Animation::AlternateReverse);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(0.75));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1.25));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1.75));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(2.0));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(2.25));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.75)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.25)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.75)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.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));
|
| + anim->set_start_time(TicksFromSecondsF(4));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(6.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeStartTimeReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_start_time(4);
|
| + anim->set_start_time(TicksFromSecondsF(4));
|
| anim->set_direction(Animation::Reverse);
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(4.0));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(5.0));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(6.0));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(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));
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(4000));
|
| + anim->set_start_time(TicksFromSecondsF(4));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeTimeOffsetReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_time_offset(4);
|
| - anim->set_start_time(4);
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(4000));
|
| + anim->set_start_time(TicksFromSecondsF(4));
|
| anim->set_direction(Animation::Reverse);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1.0));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeNegativeTimeOffset) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_time_offset(-4);
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(-4000));
|
|
|
| - 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(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeNegativeTimeOffsetReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_time_offset(-4);
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(-4000));
|
| anim->set_direction(Animation::Reverse);
|
|
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(4.0));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(4.5));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(5.0));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(4.5)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(5.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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.5));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimePauseResumeReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| anim->set_direction(Animation::Reverse);
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(0.5));
|
| - anim->SetRunState(Animation::Paused, 0.25);
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1024.0));
|
| - anim->SetRunState(Animation::Running, 1024.0);
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(1024.0));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1024.75));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.25));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(1024.0));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.75)));
|
| }
|
|
|
| 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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.5)));
|
| + anim->Suspend(TicksFromSecondsF(0.5));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + anim->Resume(TicksFromSecondsF(1024));
|
| + EXPECT_EQ(0.5, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + EXPECT_EQ(1, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.5)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeSuspendResumeReverse) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| anim->set_direction(Animation::Reverse);
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(0.25));
|
| - anim->Suspend(0.75);
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1024.0));
|
| - anim->Resume(1024);
|
| - EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(1024.0));
|
| - EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(1024.25));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.75, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.25)));
|
| + anim->Suspend(TicksFromSecondsF(0.75));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + anim->Resume(TicksFromSecondsF(1024));
|
| + EXPECT_EQ(0.25, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1024.25)));
|
| }
|
|
|
| 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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeStarting) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1, 5.0));
|
| - anim->SetRunState(Animation::Starting, 0.0);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - anim->set_time_offset(2.0);
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(-1.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - anim->set_start_time(1.0);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0));
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(2.0));
|
| + anim->SetRunState(Animation::Starting, TicksFromSecondsF(0.0));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(2000));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + anim->set_start_time(TicksFromSecondsF(1.0));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.0)));
|
| }
|
|
|
| TEST(AnimationTest, TrimTimeNeedsSynchronizedStartTime) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1, 5.0));
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| anim->set_needs_synchronized_start_time(true);
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(-1.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - anim->set_time_offset(2.0);
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(-1.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - anim->set_start_time(1.0);
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(0.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(2000));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(-1.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + anim->set_start_time(TicksFromSecondsF(1.0));
|
| anim->set_needs_synchronized_start_time(false);
|
| - EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(0.0));
|
| - EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(1.0));
|
| - EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(2.0));
|
| + EXPECT_EQ(1.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(0.0)));
|
| + EXPECT_EQ(2.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(1.0)));
|
| + EXPECT_EQ(3.0, anim->TrimTimeToCurrentIteration(TicksFromSecondsF(2.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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.5)));
|
| }
|
|
|
| TEST(AnimationTest, IsFinishedNegativeTimeOffset) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_time_offset(-0.5);
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(-500));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
|
|
| - EXPECT_FALSE(anim->IsFinishedAt(-1.0));
|
| - EXPECT_FALSE(anim->IsFinishedAt(0.0));
|
| - EXPECT_FALSE(anim->IsFinishedAt(0.5));
|
| - EXPECT_FALSE(anim->IsFinishedAt(1.0));
|
| - EXPECT_TRUE(anim->IsFinishedAt(1.5));
|
| - EXPECT_TRUE(anim->IsFinishedAt(2.0));
|
| - EXPECT_TRUE(anim->IsFinishedAt(2.5));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.5)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(2.5)));
|
| }
|
|
|
| TEST(AnimationTest, IsFinishedPositiveTimeOffset) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->set_time_offset(0.5);
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->set_time_offset(TimeDelta::FromMilliseconds(500));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
|
|
| - EXPECT_FALSE(anim->IsFinishedAt(-1.0));
|
| - EXPECT_FALSE(anim->IsFinishedAt(0.0));
|
| - EXPECT_TRUE(anim->IsFinishedAt(0.5));
|
| - EXPECT_TRUE(anim->IsFinishedAt(1.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(-1.0)));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.5)));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(1.0)));
|
| }
|
|
|
| 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::WaitingForTargetAvailability, 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));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + anim->SetRunState(Animation::WaitingForTargetAvailability,
|
| + TicksFromSecondsF(0.0));
|
| + EXPECT_FALSE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| + anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
|
| + EXPECT_TRUE(anim->IsFinishedAt(TicksFromSecondsF(0.0)));
|
| }
|
|
|
| TEST(AnimationTest, IsFinished) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::Paused, 0.0);
|
| + anim->SetRunState(Animation::Paused, TicksFromSecondsF(0.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::WaitingForTargetAvailability, 0.0);
|
| + anim->SetRunState(Animation::WaitingForTargetAvailability,
|
| + TicksFromSecondsF(0.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::Finished, 0.0);
|
| + anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
|
| EXPECT_TRUE(anim->is_finished());
|
| - anim->SetRunState(Animation::Aborted, 0.0);
|
| + anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
|
| EXPECT_TRUE(anim->is_finished());
|
| }
|
|
|
| TEST(AnimationTest, IsFinishedNeedsSynchronizedStartTime) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->SetRunState(Animation::Running, 2.0);
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(2.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::Paused, 2.0);
|
| + anim->SetRunState(Animation::Paused, TicksFromSecondsF(2.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::WaitingForTargetAvailability, 2.0);
|
| + anim->SetRunState(Animation::WaitingForTargetAvailability,
|
| + TicksFromSecondsF(2.0));
|
| EXPECT_FALSE(anim->is_finished());
|
| - anim->SetRunState(Animation::Finished, 0.0);
|
| + anim->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
|
| EXPECT_TRUE(anim->is_finished());
|
| - anim->SetRunState(Animation::Aborted, 0.0);
|
| + anim->SetRunState(Animation::Aborted, TicksFromSecondsF(0.0));
|
| EXPECT_TRUE(anim->is_finished());
|
| }
|
|
|
| TEST(AnimationTest, RunStateChangesIgnoredWhileSuspended) {
|
| scoped_ptr<Animation> anim(CreateAnimation(1));
|
| - anim->Suspend(0);
|
| + anim->Suspend(TicksFromSecondsF(0));
|
| EXPECT_EQ(Animation::Paused, anim->run_state());
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| EXPECT_EQ(Animation::Paused, anim->run_state());
|
| - anim->Resume(0);
|
| - anim->SetRunState(Animation::Running, 0.0);
|
| + anim->Resume(TicksFromSecondsF(0));
|
| + anim->SetRunState(Animation::Running, TicksFromSecondsF(0.0));
|
| EXPECT_EQ(Animation::Running, anim->run_state());
|
| }
|
|
|
|
|