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