summaryrefslogtreecommitdiffstats
path: root/googletest
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2019-01-12 17:26:37 (GMT)
committerGennadiy Civil <misterg@google.com>2019-01-14 22:01:56 (GMT)
commit097407fd3cfb4d1e5f89ae242635b1f321b222bb (patch)
treecf83f668a3026f5cab2dede77d834ad177550c63 /googletest
parent0599a7b8410dc5cfdb477900b280475ae775d7f9 (diff)
downloadgoogletest-097407fd3cfb4d1e5f89ae242635b1f321b222bb.zip
googletest-097407fd3cfb4d1e5f89ae242635b1f321b222bb.tar.gz
googletest-097407fd3cfb4d1e5f89ae242635b1f321b222bb.tar.bz2
Googletest export
Deduplicate testing::ReferenceWrapper with std::reference_wrapper. Minor cleanups in matchers_test. PiperOrigin-RevId: 229022872
Diffstat (limited to 'googletest')
-rw-r--r--googletest/include/gtest/gtest-printers.h3
-rw-r--r--googletest/test/googletest-printers-test.cc16
2 files changed, 11 insertions, 8 deletions
diff --git a/googletest/include/gtest/gtest-printers.h b/googletest/include/gtest/gtest-printers.h
index 9048459..ef166b0 100644
--- a/googletest/include/gtest/gtest-printers.h
+++ b/googletest/include/gtest/gtest-printers.h
@@ -637,8 +637,7 @@ inline void PrintTo(std::nullptr_t, ::std::ostream* os) { *os << "(nullptr)"; }
template <typename T>
void PrintTo(std::reference_wrapper<T> ref, ::std::ostream* os) {
- // Delegate to wrapped value.
- PrintTo(ref.get(), os);
+ UniversalPrinter<T&>::Print(ref.get(), os);
}
// Helper function for printing a tuple. T must be instantiated with
diff --git a/googletest/test/googletest-printers-test.cc b/googletest/test/googletest-printers-test.cc
index 961e818..5ce2a77 100644
--- a/googletest/test/googletest-printers-test.cc
+++ b/googletest/test/googletest-printers-test.cc
@@ -1023,16 +1023,20 @@ TEST(PrintNullptrT, Basic) {
TEST(PrintReferenceWrapper, Printable) {
int x = 5;
- EXPECT_EQ("5", Print(std::ref(x)));
- EXPECT_EQ("5", Print(std::cref(x)));
+ EXPECT_EQ("@" + PrintPointer(&x) + " 5", Print(std::ref(x)));
+ EXPECT_EQ("@" + PrintPointer(&x) + " 5", Print(std::cref(x)));
}
TEST(PrintReferenceWrapper, Unprintable) {
::foo::UnprintableInFoo up;
- EXPECT_EQ("16-byte object <EF-12 00-00 34-AB 00-00 00-00 00-00 00-00 00-00>",
- Print(std::ref(up)));
- EXPECT_EQ("16-byte object <EF-12 00-00 34-AB 00-00 00-00 00-00 00-00 00-00>",
- Print(std::cref(up)));
+ EXPECT_EQ(
+ "@" + PrintPointer(&up) +
+ " 16-byte object <EF-12 00-00 34-AB 00-00 00-00 00-00 00-00 00-00>",
+ Print(std::ref(up)));
+ EXPECT_EQ(
+ "@" + PrintPointer(&up) +
+ " 16-byte object <EF-12 00-00 34-AB 00-00 00-00 00-00 00-00 00-00>",
+ Print(std::cref(up)));
}
// Tests printing user-defined unprintable types.