blob: 2b973619433afd9c5ce47a5073df011771e0ccc5 [file] [log] [blame]
// 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_