1// Copyright 2014 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. 4 5#ifndef BASE_TIMER_MOCK_TIMER_H_ 6#define BASE_TIMER_MOCK_TIMER_H_ 7 8#include "base/timer/timer.h" 9 10namespace base { 11 12class BASE_EXPORT MockTimer : public Timer { 13 public: 14 MockTimer(bool retain_user_task, bool is_repeating); 15 MockTimer(const tracked_objects::Location& posted_from, 16 TimeDelta delay, 17 const base::Closure& user_task, 18 bool is_repeating); 19 ~MockTimer() override; 20 21 // base::Timer implementation. 22 bool IsRunning() const override; 23 base::TimeDelta GetCurrentDelay() const override; 24 void Start(const tracked_objects::Location& posted_from, 25 base::TimeDelta delay, 26 const base::Closure& user_task) override; 27 void Stop() override; 28 void Reset() override; 29 30 // Testing methods. 31 void Fire(); 32 33 private: 34 base::Closure user_task_; 35 TimeDelta delay_; 36 bool is_running_; 37}; 38 39} // namespace base 40 41#endif // BASE_TIMER_MOCK_TIMER_H_ 42