1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // Copyright 2014 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 "components/domain_reliability/dispatcher.h"
- #include "base/bind.h"
- #include "components/domain_reliability/test_util.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace domain_reliability {
- namespace {
- using base::TimeTicks;
- class DomainReliabilityDispatcherTest : public testing::Test {
- public:
- DomainReliabilityDispatcherTest() : dispatcher_(&time_) {}
- protected:
- MockTime time_;
- DomainReliabilityDispatcher dispatcher_;
- };
- TEST_F(DomainReliabilityDispatcherTest, Create) {
- }
- TEST_F(DomainReliabilityDispatcherTest, TaskDoesntRunEarly) {
- base::TimeDelta delay = base::Seconds(1);
- TestCallback callback;
- dispatcher_.ScheduleTask(callback.callback(), 2 * delay, 3 * delay);
- time_.Advance(delay);
- dispatcher_.RunEligibleTasks();
- EXPECT_FALSE(callback.called());
- }
- TEST_F(DomainReliabilityDispatcherTest, TaskRunsWhenEligible) {
- base::TimeDelta delay = base::Seconds(1);
- TestCallback callback;
- dispatcher_.ScheduleTask(callback.callback(), 2 * delay, 3 * delay);
- time_.Advance(2 * delay);
- EXPECT_FALSE(callback.called());
- dispatcher_.RunEligibleTasks();
- EXPECT_TRUE(callback.called());
- time_.Advance(delay);
- }
- TEST_F(DomainReliabilityDispatcherTest, TaskRunsAtDeadline) {
- base::TimeDelta delay = base::Seconds(1);
- TestCallback callback;
- dispatcher_.ScheduleTask(callback.callback(), 2 * delay, 3 * delay);
- time_.Advance(2 * delay);
- EXPECT_FALSE(callback.called());
- time_.Advance(delay);
- EXPECT_TRUE(callback.called());
- }
- } // namespace
- } // namespace domain_reliability
|