#include "absl/time/time.h"
#include "absl/time/civil_time.h"
#if defined(_MSC_VER)
#include <winsock2.h>
#endif
#include "absl/base/config.h"
#if ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
#include <version>
#endif
#include <chrono>
#ifdef __cpp_lib_three_way_comparison
#include <compare>
#endif
#include <cstdint>
#include <cstring>
#include <ctime>
#include <iomanip>
#include <ios>
#include <limits>
#include <string>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/numeric/int128.h"
#include "absl/strings/str_format.h"
#include "absl/time/clock.h"
#include "absl/time/internal/test_util.h"
namespace {
#if defined(GTEST_USES_SIMPLE_RE) && GTEST_USES_SIMPLE_RE
const char kZoneAbbrRE[] = ".*";
#else
const char kZoneAbbrRE[] = …;
#endif
#define EXPECT_CIVIL_INFO(ci, y, m, d, h, min, s, off, isdst) …
MATCHER_P(TimespecMatcher, ts, "") { … }
MATCHER_P(TimevalMatcher, tv, "") { … }
TEST(Time, ConstExpr) { … }
TEST(Time, ValueSemantics) { … }
TEST(Time, UnixEpoch) { … }
TEST(Time, Breakdown) { … }
TEST(Time, AdditiveOperators) { … }
TEST(Time, RelationalOperators) { … }
TEST(Time, Infinity) { … }
TEST(Time, FloorConversion) { … }
TEST(Time, RoundtripConversion) { … }
template <typename Duration>
std::chrono::system_clock::time_point MakeChronoUnixTime(const Duration& d) { … }
TEST(Time, FromChrono) { … }
TEST(Time, ToChronoTime) { … }
TEST(Time, Chrono128) { … }
TEST(Time, TimeZoneAt) { … }
TEST(Time, FromCivilUTC) { … }
TEST(Time, ToTM) { … }
TEST(Time, FromTM) { … }
TEST(Time, TMRoundTrip) { … }
TEST(Time, Range) { … }
TEST(Time, Limits) { … }
TEST(Time, ConversionSaturation) { … }
TEST(Time, ExtendedConversionSaturation) { … }
TEST(Time, FromCivilAlignment) { … }
TEST(Time, LegacyDateTime) { … }
TEST(Time, NextTransitionUTC) { … }
TEST(Time, PrevTransitionUTC) { … }
TEST(Time, NextTransitionNYC) { … }
TEST(Time, PrevTransitionNYC) { … }
TEST(Time, AbslStringify) { … }
}