[gtest] Add PrintTo overload for StringRef.
authorIlya Biryukov <ibiryukov@google.com>
Mon, 26 Feb 2018 15:19:26 +0000 (15:19 +0000)
committerIlya Biryukov <ibiryukov@google.com>
Mon, 26 Feb 2018 15:19:26 +0000 (15:19 +0000)
Summary:
It was printed using code for generic containers before, resulting in
unreadable output.

Reviewers: sammccall, labath

Reviewed By: sammccall, labath

Subscribers: labath, zturner, llvm-commits

Differential Revision: https://reviews.llvm.org/D43330

llvm-svn: 326092

llvm/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h

index 60c1ea0..80e7d91 100644 (file)
 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
 #define GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_
 
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/raw_os_ostream.h"
+#include <cassert>
+
+namespace llvm {
+// Without this overload StringRef will be printed as a generic container.
+inline void PrintTo(const llvm::StringRef &Val, std::ostream *S) {
+  assert(S);
+  llvm::raw_os_ostream OS(*S);
+  OS << Val;
+}
+} // namespace llvm
+
 #endif  // GTEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_PRINTERS_H_