diff options
author | Zachary Turner <zturner@google.com> | 2016-12-16 04:27:00 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-12-16 04:27:00 +0000 |
commit | 827d5d74a5b6a1214cbaec74aeb4a8f73d21dca0 (patch) | |
tree | c55d603b456e014c599ccbb0f2873105231a2f7c /lldb/unittests/Host/FileSpecTest.cpp | |
parent | db4c86f953f139eaa75acdd58d5213be2f6fe65b (diff) | |
download | bcm5719-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.cpp | 24 |
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 |