| Index: cc/scheduler/vsync_time_source_unittest.cc
|
| diff --git a/cc/scheduler/vsync_time_source_unittest.cc b/cc/scheduler/vsync_time_source_unittest.cc
|
| deleted file mode 100644
|
| index 4834630e6a1592b1a86025c4b26ce104317b9704..0000000000000000000000000000000000000000
|
| --- a/cc/scheduler/vsync_time_source_unittest.cc
|
| +++ /dev/null
|
| @@ -1,124 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "cc/scheduler/vsync_time_source.h"
|
| -
|
| -#include "cc/test/scheduler_test_common.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace cc {
|
| -namespace {
|
| -
|
| -class FakeVSyncProvider : public VSyncProvider {
|
| - public:
|
| - FakeVSyncProvider() : client_(NULL) {}
|
| -
|
| - // VSyncProvider implementation.
|
| - virtual void RequestVSyncNotification(VSyncClient* client) OVERRIDE {
|
| - client_ = client;
|
| - }
|
| -
|
| - bool IsVSyncNotificationEnabled() const { return client_ != NULL; }
|
| -
|
| - void Trigger(base::TimeTicks frame_time) {
|
| - if (client_)
|
| - client_->DidVSync(frame_time);
|
| - }
|
| -
|
| - private:
|
| - VSyncClient* client_;
|
| -};
|
| -
|
| -class VSyncTimeSourceTest : public testing::Test {
|
| - public:
|
| - VSyncTimeSourceTest()
|
| - : timer_(VSyncTimeSource::Create(
|
| - &provider_, VSyncTimeSource::DISABLE_ON_NEXT_TICK)) {
|
| - timer_->SetClient(&client_);
|
| - }
|
| -
|
| - protected:
|
| - FakeTimeSourceClient client_;
|
| - FakeVSyncProvider provider_;
|
| - scoped_refptr<VSyncTimeSource> timer_;
|
| -};
|
| -
|
| -TEST_F(VSyncTimeSourceTest, TaskPostedAndTickCalled) {
|
| - EXPECT_FALSE(provider_.IsVSyncNotificationEnabled());
|
| -
|
| - timer_->SetActive(true);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| -
|
| - base::TimeTicks frame_time = base::TimeTicks::Now();
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_TRUE(client_.TickCalled());
|
| - EXPECT_EQ(timer_->LastTickTime(), frame_time);
|
| -}
|
| -
|
| -TEST_F(VSyncTimeSourceTest, NotificationDisabledLazily) {
|
| - base::TimeTicks frame_time = base::TimeTicks::Now();
|
| -
|
| - // Enable timer and trigger sync once.
|
| - timer_->SetActive(true);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_TRUE(client_.TickCalled());
|
| -
|
| - // Disabling the timer should not disable vsync notification immediately.
|
| - client_.Reset();
|
| - timer_->SetActive(false);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| -
|
| - // At the next vsync the notification is disabled, but the timer isn't ticked.
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_FALSE(provider_.IsVSyncNotificationEnabled());
|
| - EXPECT_FALSE(client_.TickCalled());
|
| -
|
| - // The notification should not be disabled multiple times.
|
| - provider_.RequestVSyncNotification(timer_.get());
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| - EXPECT_FALSE(client_.TickCalled());
|
| -}
|
| -
|
| -TEST_F(VSyncTimeSourceTest, NotificationDisabledImmediatelyForSetting) {
|
| - timer_ = VSyncTimeSource::Create(&provider_,
|
| - VSyncTimeSource::DISABLE_SYNCHRONOUSLY);
|
| - timer_->SetClient(&client_);
|
| - base::TimeTicks frame_time = base::TimeTicks::Now();
|
| -
|
| - // Enable timer and trigger sync once.
|
| - timer_->SetActive(true);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_TRUE(client_.TickCalled());
|
| -
|
| - // Disable timer should disable vsync notification immediately.
|
| - timer_->SetActive(false);
|
| - EXPECT_FALSE(provider_.IsVSyncNotificationEnabled());
|
| -
|
| - // Enable again and timer can be ticked again.
|
| - client_.Reset();
|
| - timer_->SetActive(true);
|
| - EXPECT_TRUE(provider_.IsVSyncNotificationEnabled());
|
| - provider_.Trigger(frame_time);
|
| - EXPECT_TRUE(client_.TickCalled());
|
| -}
|
| -
|
| -TEST_F(VSyncTimeSourceTest, ValidNextTickTime) {
|
| - base::TimeTicks frame_time = base::TimeTicks::Now();
|
| - base::TimeDelta interval = base::TimeDelta::FromSeconds(1);
|
| -
|
| - ASSERT_EQ(timer_->NextTickTime(), base::TimeTicks());
|
| -
|
| - timer_->SetActive(true);
|
| - provider_.Trigger(frame_time);
|
| - ASSERT_EQ(timer_->NextTickTime(), frame_time);
|
| -
|
| - timer_->SetTimebaseAndInterval(frame_time, interval);
|
| - ASSERT_EQ(timer_->NextTickTime(), frame_time + interval);
|
| -}
|
| -
|
| -} // namespace
|
| -} // namespace cc
|
|
|