about summary refs log tree commit diff
path: root/absl/time/internal
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2018-04-30T18·44-0700
committervslashg <gfalcon@google.com>2018-04-30T19·07-0400
commit9613678332c976568272c8f4a78631a29159271d (patch)
tree63cd33be6a3d663752065a321319407370ba762c /absl/time/internal
parent28f5b890702139effabf3576f20e1a4db4a90a80 (diff)
- 60c1f40a5e0bc33f93392ff6827528072d749a29 Move ExceptionSafetyTester from the absl:: namespace to t... by Abseil Team <absl-team@google.com>
  - abd40a98f8ae746eb151e777ea8a8b5223d68a4b Splits the NoThrow flags into TypeSpec and AllocSpec flag... by Abseil Team <absl-team@google.com>
  - c16d0b5509b36679b384147b474135e7951afccf Change the abbreviation for the breakdowns of InfinitePas... by Abseil Team <absl-team@google.com>
  - 8ac104351764f23d666b52dce7536a34c05abf00 Use ABSL_CONST_INIT with std::atomic variables in static ... by Matt Armstrong <marmstrong@google.com>

GitOrigin-RevId: 60c1f40a5e0bc33f93392ff6827528072d749a29
Change-Id: I9d45a6ed30ed32ae57e9eff93f4205dbcd71feb2
Diffstat (limited to 'absl/time/internal')
-rw-r--r--absl/time/internal/test_util.cc7
-rw-r--r--absl/time/internal/test_util.h28
2 files changed, 24 insertions, 11 deletions
diff --git a/absl/time/internal/test_util.cc b/absl/time/internal/test_util.cc
index 4483f2a977e5..419d859d2db1 100644
--- a/absl/time/internal/test_util.cc
+++ b/absl/time/internal/test_util.cc
@@ -26,6 +26,13 @@ namespace cctz = absl::time_internal::cctz;
 namespace absl {
 namespace time_internal {
 
+// TODO(bww): Reinstate when the FixedTimeZone() abbreviations are updated.
+#if 1 || GTEST_USES_SIMPLE_RE
+extern const char kZoneAbbrRE[] = ".*";  // just punt
+#else
+extern const char kZoneAbbrRE[] = "[A-Za-z]{3,4}|[-+][0-9]{2}([0-9]{2})?";
+#endif
+
 TimeZone LoadTimeZone(const std::string& name) {
   TimeZone tz;
   ABSL_RAW_CHECK(LoadTimeZone(name, &tz), name.c_str());
diff --git a/absl/time/internal/test_util.h b/absl/time/internal/test_util.h
index 81a2d29de194..8fd5fb9fd038 100644
--- a/absl/time/internal/test_util.h
+++ b/absl/time/internal/test_util.h
@@ -17,6 +17,8 @@
 
 #include <string>
 
+#include "gmock/gmock.h"
+#include "gtest/gtest.h"
 #include "absl/time/time.h"
 
 // This helper is a macro so that failed expectations show up with the
@@ -24,22 +26,26 @@
 //
 // This is for internal testing of the Base Time library itself. This is not
 // part of a public API.
-#define ABSL_INTERNAL_EXPECT_TIME(bd, y, m, d, h, min, s, off, isdst, zone) \
-  do {                                                                      \
-    EXPECT_EQ(y, bd.year);                                                  \
-    EXPECT_EQ(m, bd.month);                                                 \
-    EXPECT_EQ(d, bd.day);                                                   \
-    EXPECT_EQ(h, bd.hour);                                                  \
-    EXPECT_EQ(min, bd.minute);                                              \
-    EXPECT_EQ(s, bd.second);                                                \
-    EXPECT_EQ(off, bd.offset);                                              \
-    EXPECT_EQ(isdst, bd.is_dst);                                            \
-    EXPECT_STREQ(zone, bd.zone_abbr);                                       \
+#define ABSL_INTERNAL_EXPECT_TIME(bd, y, m, d, h, min, s, off, isdst)     \
+  do {                                                                    \
+    EXPECT_EQ(y, bd.year);                                                \
+    EXPECT_EQ(m, bd.month);                                               \
+    EXPECT_EQ(d, bd.day);                                                 \
+    EXPECT_EQ(h, bd.hour);                                                \
+    EXPECT_EQ(min, bd.minute);                                            \
+    EXPECT_EQ(s, bd.second);                                              \
+    EXPECT_EQ(off, bd.offset);                                            \
+    EXPECT_EQ(isdst, bd.is_dst);                                          \
+    EXPECT_THAT(bd.zone_abbr,                                             \
+                testing::MatchesRegex(absl::time_internal::kZoneAbbrRE)); \
   } while (0)
 
 namespace absl {
 namespace time_internal {
 
+// A regular expression that matches all zone abbreviations (%Z).
+extern const char kZoneAbbrRE[];
+
 // Loads the named timezone, but dies on any failure.
 absl::TimeZone LoadTimeZone(const std::string& name);