15 #include "absl/time/internal/test_util.h"
22 #include "absl/base/config.h"
23 #include "absl/base/internal/raw_logging.h"
24 #include "absl/time/internal/cctz/include/cctz/zone_info_source.h"
30 namespace time_internal {
44 namespace time_internal {
45 namespace cctz_extension {
52 #include "absl/time/internal/zoneinfo.inc"
54 const struct ZoneInfo {
60 {
"America/Los_Angeles",
61 reinterpret_cast<char*
>(America_Los_Angeles), America_Los_Angeles_len},
63 reinterpret_cast<char*
>(America_New_York), America_New_York_len},
65 reinterpret_cast<char*
>(Australia_Sydney), Australia_Sydney_len},
68 {
"Invalid/TimeZone",
nullptr, 0},
74 reinterpret_cast<char*
>(America_Los_Angeles), America_Los_Angeles_len},
77 reinterpret_cast<char*
>(America_Los_Angeles), America_Los_Angeles_len},
83 TestZoneInfoSource(
const char*
data, std::size_t
size)
86 std::size_t
Read(
void*
ptr, std::size_t
size)
override {
103 std::unique_ptr<cctz::ZoneInfoSource> TestFactory(
107 for (
const ZoneInfo& zoneinfo : kZoneInfo) {
108 if (
name == zoneinfo.name) {
109 if (zoneinfo.data ==
nullptr)
return nullptr;
110 return std::unique_ptr<cctz::ZoneInfoSource>(
111 new TestZoneInfoSource(zoneinfo.data, zoneinfo.length));
123 #if !defined(__MINGW32__)