| Index: Source/core/animation/AnimationClockTest.cpp
|
| diff --git a/Source/core/animation/AnimationClockTest.cpp b/Source/core/animation/AnimationClockTest.cpp
|
| index 83392ddd0d22203562208c0d9d21e539605484db..7e54cde9876530b9e86b72f61c95ff99063dff96 100644
|
| --- a/Source/core/animation/AnimationClockTest.cpp
|
| +++ b/Source/core/animation/AnimationClockTest.cpp
|
| @@ -39,15 +39,11 @@ using namespace WebCore;
|
| 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,80 +52,36 @@ protected:
|
| }
|
|
|
| static double mockTime;
|
| - AnimationClock animationClock;
|
| + OwnPtr<AnimationClock> animationClock;
|
| };
|
|
|
| double AnimationAnimationClockTest::mockTime;
|
|
|
| -TEST_F(AnimationAnimationClockTest, TimeDoesNotChange)
|
| +TEST_F(AnimationAnimationClockTest, CurrentTime)
|
| {
|
| - animationClock.updateTime(100);
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| - EXPECT_EQ(100, animationClock.currentTime());
|
| -}
|
| -
|
| -TEST_F(AnimationAnimationClockTest, TimeAdvancesWhenUpdated)
|
| -{
|
| - animationClock.updateTime(100);
|
| - EXPECT_EQ(100, 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(mockTime, animationClock.currentTime());
|
| -}
|
| -
|
| -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());
|
| + // Current time should not advance until minTimeBeforeUnsynchronizedTick has elapsed
|
| + EXPECT_EQ(200, animationClock->currentTime());
|
| + mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick / 2.0;
|
| + EXPECT_EQ(200, 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(150, animationClock.currentTime());
|
| -
|
| - // Update can't go backwards after advance to estimate.
|
| - animationClock.updateTime(100);
|
| - EXPECT_GE(150, animationClock.currentTime());
|
| + mockTime = 200 + minTimeBeforeUnsynchronizedAnimationClockTick;
|
| + EXPECT_EQ(mockTime, animationClock->currentTime());
|
| }
|
|
|
| -TEST_F(AnimationAnimationClockTest, CurrentTimeUpdatesTask)
|
| +TEST_F(AnimationAnimationClockTest, UpdateTime)
|
| {
|
| - 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(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());
|
| }
|
|
|
| }
|
|
|