PrintTo for FilePath -- Pretty-print when comparing FilePaths in gtest
Used in upcoming http://codereview.chromium.org/10996005/ (and potentially others).
BUG=148539
TEST=Write a test with an error comparing two FilePaths and confirm the paths' values are printed by gtest as opposed to the byte-representation.
Review URL: https://chromiumcodereview.appspot.com/10984028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158893 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/file_path.cc b/base/file_path.cc
index 98cbfde..094c699 100644
--- a/base/file_path.cc
+++ b/base/file_path.cc
@@ -1232,3 +1232,7 @@
return *this;
#endif
}
+
+void PrintTo(const FilePath& path, std::ostream* out) {
+ *out << path.value();
+}
diff --git a/base/file_path.h b/base/file_path.h
index 3770a8e..09e8269 100644
--- a/base/file_path.h
+++ b/base/file_path.h
@@ -396,6 +396,9 @@
StringType path_;
};
+// This is required by googletest to print a readable output on test failures.
+BASE_EXPORT extern void PrintTo(const FilePath& path, std::ostream* out);
+
// Macros for string literal initialization of FilePath::CharType[], and for
// using a FilePath::CharType[] in a printf-style format string.
#if defined(OS_POSIX)