blob: c0eaaee88724c16c2bee64409c6af287c4019e12 [file] [log] [blame]
// Copyright 2021 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "core/fxcrt/cfx_datetime.h"
#include "core/fxcrt/fx_extension.h"
#include "testing/gtest/include/gtest/gtest.h"
class FakeTimeTest : public ::testing::Test {
public:
void SetUp() override {
// Arbitrary, picked descending digits, 2020-04-23 15:05:21.
FXSYS_SetTimeFunction([]() -> time_t { return 1587654321; });
FXSYS_SetLocaltimeFunction([](const time_t* t) { return gmtime(t); });
}
void TearDown() override {
FXSYS_SetTimeFunction(nullptr);
FXSYS_SetLocaltimeFunction(nullptr);
}
};
TEST_F(FakeTimeTest, Now) {
CFX_DateTime dt = CFX_DateTime::Now();
EXPECT_EQ(2020, dt.GetYear());
EXPECT_EQ(4, dt.GetMonth());
EXPECT_EQ(23, dt.GetDay());
EXPECT_EQ(15, dt.GetHour());
EXPECT_EQ(5, dt.GetMinute());
EXPECT_EQ(21, dt.GetSecond());
EXPECT_EQ(0, dt.GetMillisecond());
}