summaryrefslogtreecommitdiffstats
path: root/googletest/test
diff options
context:
space:
mode:
authorDino Radakovic <dinor@google.com>2023-08-25 14:45:33 (GMT)
committerCopybara-Service <copybara-worker@google.com>2023-08-25 14:46:02 (GMT)
commit8a6feabf04bec8fb125e0df0ad1195c42350725f (patch)
tree5ad33c22eb4531f41a3aaff28fa2a256538a2aee /googletest/test
parent460ae98267b83db4ca2730d368d53f8aee3b636e (diff)
downloadgoogletest-8a6feabf04bec8fb125e0df0ad1195c42350725f.zip
googletest-8a6feabf04bec8fb125e0df0ad1195c42350725f.tar.gz
googletest-8a6feabf04bec8fb125e0df0ad1195c42350725f.tar.bz2
googletest: Add universal printer for `std::span`
Fixes #4318 PiperOrigin-RevId: 560089120 Change-Id: I9d0d098140033520266747a1689e953ee8307c47
Diffstat (limited to 'googletest/test')
-rw-r--r--googletest/test/googletest-printers-test.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/googletest/test/googletest-printers-test.cc b/googletest/test/googletest-printers-test.cc
index bee0ca4..d5061be 100644
--- a/googletest/test/googletest-printers-test.cc
+++ b/googletest/test/googletest-printers-test.cc
@@ -54,11 +54,16 @@
#include "gtest/gtest-printers.h"
#include "gtest/gtest.h"
+#include "gtest/internal/gtest-port.h"
#ifdef GTEST_HAS_ABSL
#include "absl/strings/str_format.h"
#endif
+#if GTEST_INTERNAL_HAS_STD_SPAN
+#include <span> // NOLINT
+#endif // GTEST_INTERNAL_HAS_STD_SPAN
+
// Some user-defined types for testing the universal value printer.
// An anonymous enum type.
@@ -1179,6 +1184,17 @@ TEST(PrintStlContainerTest, Vector) {
EXPECT_EQ("{ 1, 2 }", Print(v));
}
+TEST(PrintStlContainerTest, StdSpan) {
+#if GTEST_INTERNAL_HAS_STD_SPAN
+ int a[] = {3, 6, 5};
+ std::span<int> s = a;
+
+ EXPECT_EQ("{ 3, 6, 5 }", Print(s));
+#else
+ GTEST_SKIP() << "Does not have std::span.";
+#endif // GTEST_INTERNAL_HAS_STD_SPAN
+}
+
TEST(PrintStlContainerTest, LongSequence) {
const int a[100] = {1, 2, 3};
const vector<int> v(a, a + 100);