12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // 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/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 {
- public:
- MockOneShotTimer();
- ~MockOneShotTimer() override;
- // Testing method.
- void Fire();
- private:
- // Timer implementation.
- // MockOneShotTimer doesn't support SetTaskRunner. Do not use this.
- void SetTaskRunner(scoped_refptr<SequencedTaskRunner> task_runner) override;
- SimpleTestTickClock clock_;
- scoped_refptr<TestSimpleTaskRunner> test_task_runner_;
- };
- // See MockOneShotTimer's comment. Prefer using
- // TaskEnvironment::MOCK_TIME.
- class MockRepeatingTimer : public RepeatingTimer {
- public:
- MockRepeatingTimer();
- ~MockRepeatingTimer() override;
- // Testing method.
- void Fire();
- private:
- // Timer implementation.
- // MockRepeatingTimer doesn't support SetTaskRunner. Do not use this.
- void SetTaskRunner(scoped_refptr<SequencedTaskRunner> task_runner) override;
- SimpleTestTickClock clock_;
- scoped_refptr<TestSimpleTaskRunner> test_task_runner_;
- };
- // See MockOneShotTimer's comment. Prefer using
- // TaskEnvironment::MOCK_TIME.
- class MockRetainingOneShotTimer : public RetainingOneShotTimer {
- public:
- MockRetainingOneShotTimer();
- ~MockRetainingOneShotTimer() override;
- // Testing method.
- void Fire();
- private:
- // Timer implementation.
- // MockRetainingOneShotTimer doesn't support SetTaskRunner. Do not use this.
- void SetTaskRunner(scoped_refptr<SequencedTaskRunner> task_runner) override;
- SimpleTestTickClock clock_;
- scoped_refptr<TestSimpleTaskRunner> test_task_runner_;
- };
- } // namespace base
- #endif // BASE_TIMER_MOCK_TIMER_H_
|