aboutsummaryrefslogtreecommitdiff
path: root/unittests/Format/FormatTest.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-02-21 15:00:29 +0000
committerDaniel Jasper <djasper@google.com>2013-02-21 15:00:29 +0000
commit7d81281fc39f6d40d86be6600adba13c05b4a639 (patch)
tree59b902e3f6861ec73f781d3547f75bc92a8fddcf /unittests/Format/FormatTest.cpp
parent3aada3c305a0f0ecfad2e4d0cf977ee9d2b2c71f (diff)
Allow breaking between type and name in for loops.
This fixes llvm.org/PR15033. Also: Always break before a parameter, if the previous parameter was split over multiple lines. This was necessary to make the right decisions in for-loops, almost always makes the code more readable and also fixes llvm.org/PR14873. Before: for (llvm::ArrayRef<NamedDecl *>::iterator I = FD->getDeclsInPrototypeScope() .begin(), E = FD->getDeclsInPrototypeScope().end(); I != E; ++I) { } foo(bar(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, ccccccccccccccccccccccccccccc), d, bar(e, f)); After: for (llvm::ArrayRef<NamedDecl *>::iterator I = FD->getDeclsInPrototypeScope().begin(), E = FD->getDeclsInPrototypeScope().end(); I != E; ++I) { } foo(bar(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, ccccccccccccccccccccccccccccc), d, bar(e, f)); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175741 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r--unittests/Format/FormatTest.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index ca522084d5..90813042da 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -278,9 +278,13 @@ TEST_F(FormatTest, FormatsForLoop) {
verifyFormat(
"for (MachineFun::iterator IIII = PrevIt, EEEE = F.end(); IIII != EEEE;\n"
" ++IIIII) {\n}");
- verifyFormat("for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa =\n"
- " aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa;\n"
+ verifyFormat("for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
+ " aaaaaaaaaaa = aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa;\n"
" aaaaaaaaaaa != aaaaaaaaaaaaaaaaaaa; ++aaaaaaaaaaa) {\n}");
+ verifyFormat("for (llvm::ArrayRef<NamedDecl *>::iterator\n"
+ " I = FD->getDeclsInPrototypeScope().begin(),\n"
+ " E = FD->getDeclsInPrototypeScope().end();\n"
+ " I != E; ++I) {\n}");
// FIXME: Not sure whether we want extra identation in line 3 here:
verifyFormat(
@@ -1012,7 +1016,8 @@ TEST_F(FormatTest, LayoutStatementsAroundPreprocessorDirectives) {
"#define A B\n"
" withMoreParamters,\n"
" whichStronglyInfluenceTheLayout),\n"
- " andMoreParameters), trailing);",
+ " andMoreParameters),\n"
+ " trailing);",
getLLVMStyleWithColumns(69));
}
@@ -1398,8 +1403,8 @@ TEST_F(FormatTest, BreaksConditionalExpressions) {
"unsigned Indent =\n"
" format(TheLine.First, IndentForLevel[TheLine.Level] >= 0\n"
" ? IndentForLevel[TheLine.Level]\n"
- " : TheLine * 2, TheLine.InPPDirective,\n"
- " PreviousEndOfLineColumn);",
+ " : TheLine * 2,\n"
+ " TheLine.InPPDirective, PreviousEndOfLineColumn);",
getLLVMStyleWithColumns(70));
}
@@ -1414,11 +1419,10 @@ TEST_F(FormatTest, DeclarationsOfMultipleVariables) {
" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaa),\n"
" bbbbbbbbbbbbbbbbbbbbbbbbb =\n"
" bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(bbbbbbbbbbbbbbbb);");
-
- // FIXME: This is bad as we hide "d".
verifyFormat(
- "bool aaaaaaaaaaaaaaaaaaaaa = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb &&\n"
- " cccccccccccccccccccccccccccc, d = e && f;");
+ "bool aaaaaaaaaaaaaaaaaaaaa =\n"
+ " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb && cccccccccccccccccccccccccccc,\n"
+ " d = e && f;");
}
@@ -2066,11 +2070,13 @@ TEST_F(FormatTest, LayoutBraceInitializersInReturnStatement) {
}
TEST_F(FormatTest, LayoutTokensFollowingBlockInParentheses) {
+ // FIXME: This is bad, find a better and more generic solution.
verifyFormat(
"Aaa({\n"
" int i;\n"
- "}, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,\n"
- " ccccccccccccccccc));");
+ "},\n"
+ " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,\n"
+ " ccccccccccccccccc));");
}
TEST_F(FormatTest, PullTrivialFunctionDefinitionsIntoSingleLine) {