1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
9 #include "cc/test/scheduler_test_common.h"
10 #include "testing/gtest/include/gtest/gtest.h"
13 using namespace WebKitTests
;
17 class CCTimerTest
: public testing::Test
, public CCTimerClient
{
19 CCTimerTest() : m_flag(false) { }
21 void onTimerFired() { m_flag
= true; }
24 FakeCCThread m_thread
;
28 TEST_F(CCTimerTest
, OneShot
)
30 CCTimer
timer(&m_thread
, this);
31 timer
.startOneShot(0.001);
32 EXPECT_TRUE(timer
.isActive());
33 m_thread
.runPendingTask();
34 EXPECT_FALSE(timer
.isActive());
36 EXPECT_FALSE(m_thread
.hasPendingTask());
39 TEST_F(CCTimerTest
, StopManually
)
41 CCTimer
timer(&m_thread
, this);
42 timer
.startOneShot(0.001);
43 EXPECT_TRUE(timer
.isActive());
45 EXPECT_FALSE(timer
.isActive());
47 m_thread
.runPendingTask();
49 EXPECT_FALSE(m_thread
.hasPendingTask());
52 TEST_F(CCTimerTest
, StopByScope
)
55 CCTimer
timer(&m_thread
, this);
56 timer
.startOneShot(0.001);
59 m_thread
.runPendingTask();