diff options
author | kosak <kosak@google.com> | 2015-07-14 21:26:09 +0000 |
---|---|---|
committer | kosak <kosak@google.com> | 2015-07-14 21:26:09 +0000 |
commit | f025eba07ba75b7fc059838d58880e661dea577a (patch) | |
tree | f76a4a46e3055a3eb31e7b957ff767ab14eb4785 /test | |
parent | 1cc9514de5a9b361e7a000eb34da9175b6de0593 (diff) | |
download | googletest-f025eba07ba75b7fc059838d58880e661dea577a.tar.gz googletest-f025eba07ba75b7fc059838d58880e661dea577a.tar.bz2 googletest-f025eba07ba75b7fc059838d58880e661dea577a.zip |
Add support for gtest custom printers.
Diffstat (limited to 'test')
-rw-r--r-- | test/gtest-printers_test.cc | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/test/gtest-printers_test.cc b/test/gtest-printers_test.cc index 562a0a9a..a6636c57 100644 --- a/test/gtest-printers_test.cc +++ b/test/gtest-printers_test.cc @@ -58,6 +58,10 @@ # include <hash_set> // NOLINT #endif // GTEST_OS_WINDOWS +#if GTEST_HAS_STD_FORWARD_LIST_ +# include <forward_list> // NOLINT +#endif // GTEST_HAS_STD_FORWARD_LIST_ + // Some user-defined types for testing the universal value printer. // An anonymous enum type. @@ -913,6 +917,17 @@ TEST(PrintStlContainerTest, MultiSet) { EXPECT_EQ("{ 1, 1, 1, 2, 5 }", Print(set1)); } +#if GTEST_HAS_STD_FORWARD_LIST_ +// <slist> is available on Linux in the google3 mode, but not on +// Windows or Mac OS X. + +TEST(PrintStlContainerTest, SinglyLinkedList) { + int a[] = { 9, 2, 8 }; + const std::forward_list<int> ints(a, a + 3); + EXPECT_EQ("{ 9, 2, 8 }", Print(ints)); +} +#endif // GTEST_HAS_STD_FORWARD_LIST_ + TEST(PrintStlContainerTest, Pair) { pair<const bool, int> p(true, 5); EXPECT_EQ("(true, 5)", Print(p)); @@ -1162,37 +1177,6 @@ TEST(PrintPrintableTypeTest, TemplateInUserNamespace) { Print(::foo::PrintableViaPrintToTemplate<int>(5))); } -#if GTEST_HAS_PROTOBUF_ - -// Tests printing a short proto2 message. -TEST(PrintProto2MessageTest, PrintsShortDebugStringWhenItIsShort) { - testing::internal::FooMessage msg; - msg.set_int_field(2); - msg.set_string_field("hello"); - EXPECT_PRED2(RE::FullMatch, Print(msg), - "<int_field:\\s*2\\s+string_field:\\s*\"hello\">"); -} - -// Tests printing a long proto2 message. -TEST(PrintProto2MessageTest, PrintsDebugStringWhenItIsLong) { - testing::internal::FooMessage msg; - msg.set_int_field(2); - msg.set_string_field("hello"); - msg.add_names("peter"); - msg.add_names("paul"); - msg.add_names("mary"); - EXPECT_PRED2(RE::FullMatch, Print(msg), - "<\n" - "int_field:\\s*2\n" - "string_field:\\s*\"hello\"\n" - "names:\\s*\"peter\"\n" - "names:\\s*\"paul\"\n" - "names:\\s*\"mary\"\n" - ">"); -} - -#endif // GTEST_HAS_PROTOBUF_ - // Tests that the universal printer prints both the address and the // value of a reference. TEST(PrintReferenceTest, PrintsAddressAndValue) { |