diff options
author | Manuel Klimek <klimek@google.com> | 2013-01-15 15:50:27 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-01-15 15:50:27 +0000 |
commit | 407a31afffc936291d719665b9edb72532c0ed3b (patch) | |
tree | 1c05fb149b3b0e174d256a35ef30be95c49b2833 /unittests/Format/FormatTest.cpp | |
parent | b369c2cb31358f749b9ced97440a6c457f38eaae (diff) |
Fix formatting of preprocessor directives (incluces, warnings & errors).
Treat tokens inside <> for includes and everything from the second token
of a warning / error on as an implicit string literal, e.g. do not
change its whitespace at all.
Now correctly formats:
#include < path with space >
#error Leave all white!!!!! space* alone!
Note that for #error and #warning we still format the space up to the
first token of the text, so:
# error Text
will become
#error Text
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172536 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r-- | unittests/Format/FormatTest.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index c6f1c8e4ec..eb00d017ff 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1184,7 +1184,8 @@ TEST_F(FormatTest, HandlesIncludeDirectives) { "#include \"a/b/string\"\n" "#include \"string.h\"\n" "#include \"string.h\"\n" - "#include <a-a>"); + "#include <a-a>\n" + "#include < path with space >\n"); verifyFormat("#import <string>"); verifyFormat("#import <a/b/c.h>"); @@ -1334,6 +1335,13 @@ TEST_F(FormatTest, UnderstandContextOfRecordTypeKeywords) { " f();\n"); } +TEST_F(FormatTest, DoNotInterfereWithErrorAndWarning) { + verifyFormat("#error Leave all white!!!!! space* alone!\n"); + verifyFormat("#warning Leave all white!!!!! space* alone!\n"); + EXPECT_EQ("#error 1", format(" # error 1")); + EXPECT_EQ("#warning 1", format(" # warning 1")); +} + // FIXME: This breaks the order of the unwrapped lines: // TEST_F(FormatTest, OrderUnwrappedLines) { // verifyFormat("{\n" |