28 lines
712 B
C++
28 lines
712 B
C++
// SPDX-License-Identifier: BSD-2-Clause
|
|
// author: Max Kellermann <max.kellermann@gmail.com>
|
|
|
|
#include "time/FileTime.hxx"
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#include <sys/stat.h>
|
|
#include <tchar.h>
|
|
|
|
TEST(Time, FileTimeToChrono)
|
|
{
|
|
WIN32_FILE_ATTRIBUTE_DATA data;
|
|
|
|
ASSERT_TRUE(GetFileAttributesEx(_T("."), GetFileExInfoStandard,
|
|
&data));
|
|
const auto tp = FileTimeToChrono(data.ftLastWriteTime);
|
|
|
|
struct stat st;
|
|
ASSERT_EQ(stat(".", &st), 0);
|
|
|
|
ASSERT_EQ(std::chrono::system_clock::to_time_t(tp), st.st_mtime);
|
|
|
|
const auto ft2 = ChronoToFileTime(std::chrono::system_clock::from_time_t(st.st_mtime));
|
|
const auto tp2 = FileTimeToChrono(ft2);
|
|
ASSERT_EQ(std::chrono::system_clock::to_time_t(tp2), st.st_mtime);
|
|
}
|