[clang-format] Fixed line merging of more than two lines

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

llvm-svn: 286973
This commit is contained in:
Cameron Desrochers 2016-11-15 15:07:07 +00:00
parent 6a49aad177
commit 1991e5d673
2 changed files with 25 additions and 1 deletions

View File

@ -151,7 +151,7 @@ public:
MergedLines = 0;
if (!DryRun)
for (unsigned i = 0; i < MergedLines; ++i)
join(*Next[i], *Next[i + 1]);
join(*Next[0], *Next[i + 1]);
Next = Next + MergedLines + 1;
return Current;
}

View File

@ -276,6 +276,30 @@ TEST_F(FormatTest, RemovesEmptyLines) {
"int i;\n"
"\n"
"} // namespace"));
FormatStyle Style = getLLVMStyle();
Style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_All;
Style.MaxEmptyLinesToKeep = 2;
Style.BreakBeforeBraces = FormatStyle::BS_Custom;
Style.BraceWrapping.AfterClass = true;
Style.BraceWrapping.AfterFunction = true;
Style.KeepEmptyLinesAtTheStartOfBlocks = false;
EXPECT_EQ("class Foo\n"
"{\n"
" Foo() {}\n"
"\n"
" void funk() {}\n"
"};",
format("class Foo\n"
"{\n"
" Foo()\n"
" {\n"
" }\n"
"\n"
" void funk() {}\n"
"};",
Style));
}
TEST_F(FormatTest, RecognizesBinaryOperatorKeywords) {