Commit 07bba78a authored by drgler's avatar drgler
Browse files

Merge branch 'master' of github.com:Dani-Hub/googletest

parents 71ca4bae 484ec91c
...@@ -187,6 +187,27 @@ inline ::std::ostream& operator<<(::std::ostream& os, ...@@ -187,6 +187,27 @@ inline ::std::ostream& operator<<(::std::ostream& os,
return os << "StreamableTemplateInFoo: " << x.value(); return os << "StreamableTemplateInFoo: " << x.value();
} }
// A user-defined streamable but recursivly-defined container type in
// a user namespace, it mimics therefore std::filesystem::path or
// boost::filesystem::path.
class PathLike {
public:
struct iterator
{
typedef PathLike value_type;
};
typedef iterator const_iterator;
iterator begin() const { return iterator(); }
iterator end() const { return iterator(); }
friend
::std::ostream& operator<<(::std::ostream& os, const PathLike& p)
{
return os << "Streamable-PathLike";
}
};
} // namespace foo } // namespace foo
namespace testing { namespace testing {
...@@ -1161,6 +1182,13 @@ TEST(PrintStreamableTypeTest, TemplateTypeInUserNamespace) { ...@@ -1161,6 +1182,13 @@ TEST(PrintStreamableTypeTest, TemplateTypeInUserNamespace) {
Print(::foo::StreamableTemplateInFoo<int>())); Print(::foo::StreamableTemplateInFoo<int>()));
} }
// Tests printing a user-defined recursive container type that has a <<
// operator.
TEST(PrintStreamableTypeTest, PathLikeInUserNamespace) {
::foo::PathLike x;
EXPECT_EQ("Streamable-PathLike", Print(x));
}
// Tests printing user-defined types that have a PrintTo() function. // Tests printing user-defined types that have a PrintTo() function.
TEST(PrintPrintableTypeTest, InUserNamespace) { TEST(PrintPrintableTypeTest, InUserNamespace) {
EXPECT_EQ("PrintableViaPrintTo: 0", EXPECT_EQ("PrintableViaPrintTo: 0",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment