Index: Source/core/animation/AnimationClockTest.cpp |
diff --git a/Source/core/animation/AnimationClockTest.cpp b/Source/core/animation/AnimationClockTest.cpp |
index 89412585331072bc0e902da99d193b2fcdad4e71..7e54cde9876530b9e86b72f61c95ff99063dff96 100644 |
--- a/Source/core/animation/AnimationClockTest.cpp |
+++ b/Source/core/animation/AnimationClockTest.cpp |
@@ -39,15 +39,11 @@ |
namespace { |
class AnimationAnimationClockTest : public ::testing::Test { |
-public: |
- AnimationAnimationClockTest() |
- : animationClock(mockTimeFunction) |
- { } |
protected: |
virtual void SetUp() |
{ |
- mockTime = 0; |
- animationClock.resetTimeForTesting(); |
+ animationClock = AnimationClock::create(mockTimeFunction); |
+ mockTime = 200; |
} |
static double mockTimeFunction() |
@@ -56,88 +52,36 @@ |
} |
static double mockTime; |
- AnimationClock animationClock; |
+ OwnPtr<AnimationClock> animationClock; |
}; |
double AnimationAnimationClockTest::mockTime; |
-TEST_F(AnimationAnimationClockTest, TimeIsGreaterThanZeroForUnitTests) |
+TEST_F(AnimationAnimationClockTest, CurrentTime) |
{ |
- AnimationClock clock; |
- // unit tests outside core/animation shouldn't need to do anything to get |
- // a non-zero currentTime(). |
- EXPECT_GT(clock.currentTime(), 0); |
+ // Current time should not advance until minTimeBeforeUnsynchronizedTick has elapsed |
+ EXPECT_EQ(200, animationClock->currentTime()); |
+ mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick / 2.0; |
+ EXPECT_EQ(200, animationClock->currentTime()); |
+ |
+ mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick; |
+ EXPECT_EQ(mockTime, animationClock->currentTime()); |
} |
-TEST_F(AnimationAnimationClockTest, TimeDoesNotChange) |
+TEST_F(AnimationAnimationClockTest, UpdateTime) |
{ |
- animationClock.updateTime(100); |
- EXPECT_EQ(100, animationClock.currentTime()); |
- EXPECT_EQ(100, animationClock.currentTime()); |
-} |
+ animationClock->updateTime(100); |
+ EXPECT_EQ(100, animationClock->currentTime()); |
+ mockTime = 200; |
+ EXPECT_EQ(100, animationClock->currentTime()); |
-TEST_F(AnimationAnimationClockTest, TimeAdvancesWhenUpdated) |
-{ |
- animationClock.updateTime(100); |
- EXPECT_EQ(100, animationClock.currentTime()); |
+ animationClock->unfreeze(); |
+ EXPECT_EQ(200, animationClock->currentTime()); |
- animationClock.updateTime(200); |
- EXPECT_EQ(200, animationClock.currentTime()); |
-} |
- |
-TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTime) |
-{ |
- animationClock.updateTime(100); |
- 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()); |
- |
- AnimationClock::notifyTaskStart(); |
- animationClock.updateTime(125); |
- EXPECT_EQ(125, animationClock.currentTime()); |
-} |
- |
-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); |
- EXPECT_EQ(100, animationClock.currentTime()); |
- |
- mockTime = 100; |
- AnimationClock::notifyTaskStart(); |
- EXPECT_EQ(100, animationClock.currentTime()); |
- |
- mockTime = 150; |
- EXPECT_EQ(100, animationClock.currentTime()); |
+ animationClock->updateTime(300); |
+ EXPECT_EQ(300, animationClock->currentTime()); |
+ mockTime = 400; |
+ EXPECT_EQ(300, animationClock->currentTime()); |
} |
} |