r220883 - clang-format: Format line if invoked on the trailing newline.
Daniel Jasper
djasper at google.com
Wed Oct 29 16:40:50 PDT 2014
Author: djasper
Date: Wed Oct 29 18:40:50 2014
New Revision: 220883
URL: http://llvm.org/viewvc/llvm-project?rev=220883&view=rev
Log:
clang-format: Format line if invoked on the trailing newline.
Modified:
cfe/trunk/lib/Format/Format.cpp
cfe/trunk/unittests/Format/FormatTest.cpp
Modified: cfe/trunk/lib/Format/Format.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=220883&r1=220882&r2=220883&view=diff
==============================================================================
--- cfe/trunk/lib/Format/Format.cpp (original)
+++ cfe/trunk/lib/Format/Format.cpp Wed Oct 29 18:40:50 2014
@@ -1962,8 +1962,7 @@ private:
if (!IncludeLeadingNewlines)
Start = Start.getLocWithOffset(First.LastNewlineOffset);
SourceLocation End = Last.getStartOfNonWhitespace();
- if (Last.TokenText.size() > 0)
- End = End.getLocWithOffset(Last.TokenText.size() - 1);
+ End = End.getLocWithOffset(Last.TokenText.size());
CharSourceRange Range = CharSourceRange::getCharRange(Start, End);
return affectsCharSourceRange(Range);
}
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=220883&r1=220882&r2=220883&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Wed Oct 29 18:40:50 2014
@@ -159,9 +159,21 @@ TEST_F(FormatTest, FormatsCorrectRegionF
25, 0, getLLVMStyleWithColumns(12)));
}
+TEST_F(FormatTest, FormatLineWhenInvokedOnTrailingNewline) {
+ EXPECT_EQ("int b;\n\nint a;",
+ format("int b;\n\nint a;", 8, 0, getLLVMStyle()));
+ EXPECT_EQ("int b;\n\nint a;",
+ format("int b;\n\nint a;", 7, 0, getLLVMStyle()));
+
+ // This might not strictly be correct, but is likely good in all practical
+ // cases.
+ EXPECT_EQ("int b;\nint a;",
+ format("int b;int a;", 7, 0, getLLVMStyle()));
+}
+
TEST_F(FormatTest, RemovesWhitespaceWhenTriggeredOnEmptyLine) {
EXPECT_EQ("int a;\n\n int b;",
- format("int a;\n \n\n int b;", 7, 0, getLLVMStyle()));
+ format("int a;\n \n\n int b;", 8, 0, getLLVMStyle()));
EXPECT_EQ("int a;\n\n int b;",
format("int a;\n \n\n int b;", 9, 0, getLLVMStyle()));
}
More information about the cfe-commits
mailing list