// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary // source code may only be used and distributed under the Widevine License // Agreement. #ifndef CDM_TEST_MOCK_CLOCK_H_ #define CDM_TEST_MOCK_CLOCK_H_ #include #include "clock.h" namespace wvcdm { class MockClock : public wvutil::Clock { public: MOCK_METHOD(int64_t, GetCurrentTime, (), (override)); }; // Frozen clock will always return the same value for the current time. // Intended to be used for testing where using the actual time would // cause flaky tests. class FrozenClock : public wvutil::Clock { int64_t always_time_; public: FrozenClock(int64_t always_time = 0) : always_time_(always_time) {} int64_t GetCurrentTime() override { return always_time_; } void SetTime(int64_t new_time) { always_time_ = new_time; } }; } // namespace wvcdm #endif // CDM_TEST_MOCK_CLOCK_H_