diff options
author | Abseil Team <absl-team@google.com> | 2019-01-12 17:26:37 (GMT) |
---|---|---|
committer | Gennadiy Civil <misterg@google.com> | 2019-01-14 22:01:56 (GMT) |
commit | 097407fd3cfb4d1e5f89ae242635b1f321b222bb (patch) | |
tree | cf83f668a3026f5cab2dede77d834ad177550c63 /googletest | |
parent | 0599a7b8410dc5cfdb477900b280475ae775d7f9 (diff) | |
download | googletest-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.h | 3 | ||||
-rw-r--r-- | googletest/test/googletest-printers-test.cc | 16 |
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. |