Index: Source/core/animation/AnimationClockTest.cpp |
diff --git a/Source/core/animation/AnimationClockTest.cpp b/Source/core/animation/AnimationClockTest.cpp |
index 7e54cde9876530b9e86b72f61c95ff99063dff96..a359e9937128c2ccb7381dcc3a102a4d2f99296a 100644 |
--- a/Source/core/animation/AnimationClockTest.cpp |
+++ b/Source/core/animation/AnimationClockTest.cpp |
@@ -42,46 +42,55 @@ class AnimationAnimationClockTest : public ::testing::Test { |
protected: |
virtual void SetUp() |
{ |
- animationClock = AnimationClock::create(mockTimeFunction); |
- mockTime = 200; |
+ animationClock = AnimationClock(); |
+ animationClock.resetTimeForTesting(); |
} |
- static double mockTimeFunction() |
- { |
- return mockTime; |
- } |
- |
- static double mockTime; |
- OwnPtr<AnimationClock> animationClock; |
+ AnimationClock animationClock; |
}; |
-double AnimationAnimationClockTest::mockTime; |
+TEST_F(AnimationAnimationClockTest, TimeDoesNotChange) |
+{ |
+ animationClock.updateTime(100); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
shans
2014/04/30 20:43:07
maybe insert an artificial pause between these two
|
+} |
+ |
+TEST_F(AnimationAnimationClockTest, TimeAdvancesWhenUpdated) |
+{ |
+ animationClock.updateTime(100); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
+ |
+ animationClock.updateTime(200); |
+ EXPECT_EQ(200, animationClock.currentTime()); |
+} |
-TEST_F(AnimationAnimationClockTest, CurrentTime) |
+TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTime) |
{ |
- // Current time should not advance until minTimeBeforeUnsynchronizedTick has elapsed |
- EXPECT_EQ(200, animationClock->currentTime()); |
- mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick / 2.0; |
- EXPECT_EQ(200, animationClock->currentTime()); |
+ animationClock.updateTime(100); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
- mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick; |
- EXPECT_EQ(mockTime, animationClock->currentTime()); |
+ AnimationClock::notifyTaskStartTime(150); |
+ EXPECT_EQ(150, animationClock.currentTime()); |
} |
-TEST_F(AnimationAnimationClockTest, UpdateTime) |
+TEST_F(AnimationAnimationClockTest, TimeAdvancesToTaskTimeOnlyWhenRequired) |
{ |
- animationClock->updateTime(100); |
- EXPECT_EQ(100, animationClock->currentTime()); |
- mockTime = 200; |
- EXPECT_EQ(100, animationClock->currentTime()); |
- |
- animationClock->unfreeze(); |
- EXPECT_EQ(200, animationClock->currentTime()); |
- |
- animationClock->updateTime(300); |
- EXPECT_EQ(300, animationClock->currentTime()); |
- mockTime = 400; |
- EXPECT_EQ(300, animationClock->currentTime()); |
+ animationClock.updateTime(100); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
+ |
+ AnimationClock::notifyTaskStartTime(150); |
+ animationClock.updateTime(125); |
+ EXPECT_EQ(125, animationClock.currentTime()); |
+} |
+ |
+TEST_F(AnimationAnimationClockTest, UpdateTimeIsMonotonic) |
+{ |
+ animationClock.updateTime(100); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
+ |
+ animationClock.updateTime(50); |
+ EXPECT_EQ(100, animationClock.currentTime()); |
} |
} |