summaryrefslogtreecommitdiffstats
path: root/lldb/unittests/Host/FileSpecTest.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-12-16 04:27:00 +0000
committerZachary Turner <zturner@google.com>2016-12-16 04:27:00 +0000
commit827d5d74a5b6a1214cbaec74aeb4a8f73d21dca0 (patch)
treec55d603b456e014c599ccbb0f2873105231a2f7c /lldb/unittests/Host/FileSpecTest.cpp
parentdb4c86f953f139eaa75acdd58d5213be2f6fe65b (diff)
downloadbcm5719-llvm-827d5d74a5b6a1214cbaec74aeb4a8f73d21dca0.tar.gz
bcm5719-llvm-827d5d74a5b6a1214cbaec74aeb4a8f73d21dca0.zip
Add methods to enable using formatv syntax in LLDB.
This adds formatv-backed formatting functions in various places in LLDB such as StreamString, logging, constructing error messages, etc. A couple of callsites are changed from Printf style syntax to formatv style syntax to illustrate its usage. Additionally, a FileSpec formatter is introduced so that FileSpecs can be formatted natively. Differential Revision: https://reviews.llvm.org/D27632 llvm-svn: 289922
Diffstat (limited to 'lldb/unittests/Host/FileSpecTest.cpp')
-rw-r--r--lldb/unittests/Host/FileSpecTest.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/lldb/unittests/Host/FileSpecTest.cpp b/lldb/unittests/Host/FileSpecTest.cpp
index 338515dd8ba..55a66b3b37e 100644
--- a/lldb/unittests/Host/FileSpecTest.cpp
+++ b/lldb/unittests/Host/FileSpecTest.cpp
@@ -260,3 +260,27 @@ TEST(FileSpecTest, GetNormalizedPath) {
<< "Original path: " << test.first;
}
}
+
+TEST(FileSpecTest, FormatFileSpec) {
+ auto win = FileSpec::ePathSyntaxWindows;
+
+ FileSpec F;
+ EXPECT_EQ("(empty)", llvm::formatv("{0}", F).str());
+ EXPECT_EQ("(empty)", llvm::formatv("{0:D}", F).str());
+ EXPECT_EQ("(empty)", llvm::formatv("{0:F}", F).str());
+
+ F = FileSpec("C:\\foo\\bar.txt", false, win);
+ EXPECT_EQ("C:\\foo\\bar.txt", llvm::formatv("{0}", F).str());
+ EXPECT_EQ("C:\\foo\\", llvm::formatv("{0:D}", F).str());
+ EXPECT_EQ("bar.txt", llvm::formatv("{0:F}", F).str());
+
+ F = FileSpec("foo\\bar.txt", false, win);
+ EXPECT_EQ("foo\\bar.txt", llvm::formatv("{0}", F).str());
+ EXPECT_EQ("foo\\", llvm::formatv("{0:D}", F).str());
+ EXPECT_EQ("bar.txt", llvm::formatv("{0:F}", F).str());
+
+ F = FileSpec("foo", false, win);
+ EXPECT_EQ("foo", llvm::formatv("{0}", F).str());
+ EXPECT_EQ("foo", llvm::formatv("{0:F}", F).str());
+ EXPECT_EQ("(empty)", llvm::formatv("{0:D}", F).str());
+} \ No newline at end of file
OpenPOWER on IntegriCloud