| Index: Source/core/animation/AnimationClockTest.cpp
|
| diff --git a/Source/core/animation/AnimationClockTest.cpp b/Source/core/animation/AnimationClockTest.cpp
|
| index 89412585331072bc0e902da99d193b2fcdad4e71..2b1b4cc3b64b794e645d0e1f6dfe3b6da2d77943 100644
|
| --- a/Source/core/animation/AnimationClockTest.cpp
|
| +++ b/Source/core/animation/AnimationClockTest.cpp
|
| @@ -41,103 +41,75 @@ namespace {
|
| class AnimationAnimationClockTest : public ::testing::Test {
|
| public:
|
| AnimationAnimationClockTest()
|
| - : animationClock(mockTimeFunction)
|
| + : animationClock()
|
| { }
|
| +
|
| protected:
|
| virtual void SetUp()
|
| {
|
| - mockTime = 0;
|
| - animationClock.resetTimeForTesting();
|
| - }
|
| -
|
| - static double mockTimeFunction()
|
| - {
|
| - return mockTime;
|
| + animationClock.clearTimeForTesting();
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(0, 0));
|
| }
|
|
|
| - static double mockTime;
|
| AnimationClock animationClock;
|
| };
|
|
|
| -double AnimationAnimationClockTest::mockTime;
|
| -
|
| TEST_F(AnimationAnimationClockTest, TimeIsGreaterThanZeroForUnitTests)
|
| {
|
| AnimationClock clock;
|
| + clock.resetTimeForTesting();
|
| +
|
| // unit tests outside core/animation shouldn't need to do anything to get
|
| // a non-zero currentTime().
|
| + double lastTime = clock.currentTime();
|
| EXPECT_GT(clock.currentTime(), 0);
|
| +
|
| + clock.tickTimeForTesting();
|
| + EXPECT_GT(clock.currentTime(), lastTime);
|
| }
|
|
|
| TEST_F(AnimationAnimationClockTest, TimeDoesNotChange)
|
| {
|
| - animationClock.updateTime(100);
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(100, 200));
|
| EXPECT_EQ(100, animationClock.currentTime());
|
| EXPECT_EQ(100, animationClock.currentTime());
|
| }
|
|
|
| TEST_F(AnimationAnimationClockTest, TimeAdvancesWhenUpdated)
|
| {
|
| - animationClock.updateTime(100);
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(100, 200));
|
| EXPECT_EQ(100, animationClock.currentTime());
|
|
|
| - animationClock.updateTime(200);
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(200, 300));
|
| EXPECT_EQ(200, animationClock.currentTime());
|
| }
|
|
|
| TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTime)
|
| {
|
| - animationClock.updateTime(100);
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(100, 150));
|
| EXPECT_EQ(100, animationClock.currentTime());
|
|
|
| - mockTime = 150;
|
| AnimationClock::notifyTaskStart();
|
| - EXPECT_GE(animationClock.currentTime(), mockTime);
|
| -}
|
| -
|
| -TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTimeOnlyWhenRequired)
|
| -{
|
| - animationClock.updateTime(100);
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| + EXPECT_EQ(animationClock.currentTime(), 150);
|
|
|
| AnimationClock::notifyTaskStart();
|
| - animationClock.updateTime(125);
|
| - EXPECT_EQ(125, animationClock.currentTime());
|
| + EXPECT_EQ(animationClock.currentTime(), 150);
|
| }
|
|
|
| TEST_F(AnimationAnimationClockTest, UpdateTimeIsMonotonic)
|
| {
|
| - animationClock.updateTime(100);
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| -
|
| - // Update can't go backwards.
|
| - animationClock.updateTime(50);
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| -
|
| - mockTime = 50;
|
| - AnimationClock::notifyTaskStart();
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| -
|
| - mockTime = 150;
|
| - AnimationClock::notifyTaskStart();
|
| - EXPECT_GE(animationClock.currentTime(), mockTime);
|
| -
|
| - // Update can't go backwards after advance to estimate.
|
| - animationClock.updateTime(100);
|
| - EXPECT_GE(animationClock.currentTime(), mockTime);
|
| -}
|
| -
|
| -TEST_F(AnimationAnimationClockTest, CurrentTimeUpdatesTask)
|
| -{
|
| - animationClock.updateTime(100);
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(100, 150));
|
| EXPECT_EQ(100, animationClock.currentTime());
|
| +#ifndef NDEBUG
|
| + EXPECT_DEATH({
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(50, 150));
|
| + }, "");
|
|
|
| - mockTime = 100;
|
| AnimationClock::notifyTaskStart();
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| -
|
| - mockTime = 150;
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| + EXPECT_DEATH({
|
| + animationClock.updateTime(AnimationClock::createTimeForTesting(149, 150));
|
| + }, "");
|
| +#endif
|
| }
|
|
|
| }
|
|
|