|  | // 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. | 
|  |  | 
|  | #ifndef BASE_TIMER_MOCK_TIMER_H_ | 
|  | #define BASE_TIMER_MOCK_TIMER_H_ | 
|  |  | 
|  | #include "base/timer/timer.h" | 
|  |  | 
|  | namespace base { | 
|  |  | 
|  | class BASE_EXPORT MockTimer : public Timer { | 
|  | public: | 
|  | MockTimer(bool retain_user_task, bool is_repeating); | 
|  | MockTimer(const Location& posted_from, | 
|  | TimeDelta delay, | 
|  | const base::Closure& user_task, | 
|  | bool is_repeating); | 
|  | ~MockTimer() override; | 
|  |  | 
|  | // base::Timer implementation. | 
|  | bool IsRunning() const override; | 
|  | base::TimeDelta GetCurrentDelay() const override; | 
|  | void Start(const Location& posted_from, | 
|  | base::TimeDelta delay, | 
|  | const base::Closure& user_task) override; | 
|  | void Stop() override; | 
|  | void Reset() override; | 
|  |  | 
|  | // Testing methods. | 
|  | void Fire(); | 
|  |  | 
|  | private: | 
|  | base::Closure user_task_; | 
|  | TimeDelta delay_; | 
|  | bool is_running_; | 
|  | }; | 
|  |  | 
|  | }  // namespace base | 
|  |  | 
|  | #endif  // BASE_TIMER_MOCK_TIMER_H_ |