| // Copyright 2017 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 COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLOCK_H_ |
| #define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLOCK_H_ |
| |
| #include <memory> |
| |
| #include "base/macros.h" |
| #include "base/test/simple_test_clock.h" |
| |
| namespace base { |
| class Time; |
| } // namespace base |
| |
| namespace autofill { |
| |
| // Handles the customization of the time in tests. Replaces the clock in |
| // AutofillClock with a test version that can be manipulated from this class. |
| // Automatically resets a normal clock to AutofillClock when this gets |
| // destroyed, |
| class TestAutofillClock { |
| public: |
| TestAutofillClock(); |
| ~TestAutofillClock(); |
| |
| // Set the time to be returned from AutofillClock::Now() calls. |
| void SetNow(base::Time now); |
| |
| // Advances the clock by |delta|. |
| void Advance(base::TimeDelta delta); |
| |
| private: |
| base::SimpleTestClock test_clock_; |
| |
| DISALLOW_COPY_AND_ASSIGN(TestAutofillClock); |
| }; |
| |
| } // namespace autofill |
| |
| #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_CLOCK_H_ |