chromium/base/timer/mock_timer.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_TIMER_MOCK_TIMER_H_
#define BASE_TIMER_MOCK_TIMER_H_

#include "base/test/simple_test_tick_clock.h"
#include "base/timer/timer.h"

namespace base {

class TestSimpleTaskRunner;

// A mock implementation of base::OneShotTimer which requires being explicitly
// Fire()'d.
// Prefer using TaskEnvironment::MOCK_TIME + FastForward*() to this when
// possible.
class MockOneShotTimer : public OneShotTimer {};

// See MockOneShotTimer's comment. Prefer using
// TaskEnvironment::MOCK_TIME.
class MockRepeatingTimer : public RepeatingTimer {};

// See MockOneShotTimer's comment. Prefer using
// TaskEnvironment::MOCK_TIME.
class MockRetainingOneShotTimer : public RetainingOneShotTimer {};

}  // namespace base

#endif  // BASE_TIMER_MOCK_TIMER_H_