123456789101112131415161718192021222324252627282930 |
- // Copyright 2021 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 "base/power_monitor/timer_sampling_event_source.h"
- #include "base/test/bind.h"
- #include "base/test/task_environment.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace base {
- TEST(TimerSamplingEventSourceTest, Basic) {
- constexpr TimeDelta kDelay = Seconds(1);
- int num_callbacks = 0;
- test::SingleThreadTaskEnvironment task_environment(
- test::TaskEnvironment::TimeSource::MOCK_TIME);
- TimerSamplingEventSource source(kDelay);
- EXPECT_TRUE(source.Start(BindLambdaForTesting([&]() { ++num_callbacks; })));
- EXPECT_EQ(0, num_callbacks);
- task_environment.FastForwardBy(kDelay / 2);
- EXPECT_EQ(0, num_callbacks);
- task_environment.FastForwardBy(kDelay / 2);
- EXPECT_EQ(1, num_callbacks);
- task_environment.FastForwardBy(kDelay * 10);
- EXPECT_EQ(11, num_callbacks);
- }
- } // namespace base
|