r175436 - Always break after multi-line string literals.
Daniel Jasper
djasper at google.com
Mon Feb 18 03:59:17 PST 2013
Author: djasper
Date: Mon Feb 18 05:59:17 2013
New Revision: 175436
URL: http://llvm.org/viewvc/llvm-project?rev=175436&view=rev
Log:
Always break after multi-line string literals.
Otherwise, other parameters can be quite hidden.
Reformatted unittests/Format/FormatTest.cpp after this.
Before:
someFunction("Always break between multi-line"
" string literals", and, other, parameters);
After:
someFunction("Always break between multi-line"
" string literals",
and, other, parameters);
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=175436&r1=175435&r2=175436&view=diff
==============================================================================
--- cfe/trunk/lib/Format/Format.cpp (original)
+++ cfe/trunk/lib/Format/Format.cpp Mon Feb 18 05:59:17 2013
@@ -441,6 +441,7 @@ private:
} else if (Current.is(tok::string_literal) &&
Previous.is(tok::string_literal)) {
State.Column = State.Column - Previous.FormatTok.TokenLength;
+ State.Stack.back().BreakBeforeParameter = true;
} else if (Current.is(tok::lessless) &&
State.Stack.back().FirstLessLess != 0) {
State.Column = State.Stack.back().FirstLessLess;
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=175436&r1=175435&r2=175436&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Mon Feb 18 05:59:17 2013
@@ -32,17 +32,16 @@ protected:
CharSourceRange::getCharRange(Start, Start.getLocWithOffset(Length)));
Lexer Lex(ID, Context.Sources.getBuffer(ID), Context.Sources,
getFormattingLangOpts());
- tooling::Replacements Replace = reformat(Style, Lex, Context.Sources,
- Ranges,
- new IgnoringDiagConsumer());
+ tooling::Replacements Replace = reformat(
+ Style, Lex, Context.Sources, Ranges, new IgnoringDiagConsumer());
ReplacementCount = Replace.size();
EXPECT_TRUE(applyAllReplacements(Replace, Context.Rewrite));
DEBUG(llvm::errs() << "\n" << Context.getRewrittenText(ID) << "\n\n");
return Context.getRewrittenText(ID);
}
- std::string format(llvm::StringRef Code,
- const FormatStyle &Style = getLLVMStyle()) {
+ std::string
+ format(llvm::StringRef Code, const FormatStyle &Style = getLLVMStyle()) {
return format(Code, 0, Code.size(), Style);
}
@@ -57,7 +56,8 @@ protected:
MessedUp[i - 1] = '\n';
InComment = true;
} else if (MessedUp[i] == '#' && (JustReplacedNewline || i == 0)) {
- if (i != 0) MessedUp[i - 1] = '\n';
+ if (i != 0)
+ MessedUp[i - 1] = '\n';
InPreprocessorDirective = true;
} else if (MessedUp[i] == '\\' && MessedUp[i + 1] == '\n') {
MessedUp[i] = ' ';
@@ -152,13 +152,15 @@ TEST_F(FormatTest, NestedNameSpecifiers)
TEST_F(FormatTest, OnlyGeneratesNecessaryReplacements) {
EXPECT_EQ("if (a) {\n"
" f();\n"
- "}", format("if(a){f();}"));
+ "}",
+ format("if(a){f();}"));
EXPECT_EQ(4, ReplacementCount);
EXPECT_EQ("if (a) {\n"
" f();\n"
- "}", format("if (a) {\n"
- " f();\n"
- "}"));
+ "}",
+ format("if (a) {\n"
+ " f();\n"
+ "}"));
EXPECT_EQ(0, ReplacementCount);
}
@@ -179,23 +181,29 @@ TEST_F(FormatTest, FormatIfWithoutCompou
AllowsMergedIf.AllowShortIfStatementsOnASingleLine = true;
verifyFormat("if (a)\n"
" // comment\n"
- " f();", AllowsMergedIf);
+ " f();",
+ AllowsMergedIf);
verifyFormat("if (a) // Can't merge this\n"
- " f();\n", AllowsMergedIf);
+ " f();\n",
+ AllowsMergedIf);
verifyFormat("if (a) /* still don't merge */\n"
- " f();", AllowsMergedIf);
+ " f();",
+ AllowsMergedIf);
verifyFormat("if (a) { // Never merge this\n"
" f();\n"
- "}", AllowsMergedIf);
+ "}",
+ AllowsMergedIf);
verifyFormat("if (a) { /* Never merge this */\n"
" f();\n"
- "}", AllowsMergedIf);
+ "}",
+ AllowsMergedIf);
AllowsMergedIf.ColumnLimit = 14;
verifyFormat("if (a) return;", AllowsMergedIf);
verifyFormat("if (aaaaaaaaa)\n"
- " return;", AllowsMergedIf);
+ " return;",
+ AllowsMergedIf);
AllowsMergedIf.ColumnLimit = 13;
verifyFormat("if (a)\n return;", AllowsMergedIf);
@@ -257,10 +265,9 @@ 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"
- " aaaaaaaaaaa != aaaaaaaaaaaaaaaaaaa; ++aaaaaaaaaaa) {\n}");
+ verifyFormat("for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa =\n"
+ " aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa;\n"
+ " aaaaaaaaaaa != aaaaaaaaaaaaaaaaaaa; ++aaaaaaaaaaa) {\n}");
// FIXME: Not sure whether we want extra identation in line 3 here:
verifyFormat(
@@ -357,11 +364,12 @@ TEST_F(FormatTest, FormatsSwitchStatemen
"}");
verifyFormat("switch (test)\n"
" ;");
-
+
// FIXME: Improve formatting of case labels in macros.
verifyFormat("#define SOMECASES \\\n"
"case 1: \\\n"
- " case 2\n", getLLVMStyleWithColumns(20));
+ " case 2\n",
+ getLLVMStyleWithColumns(20));
verifyGoogleFormat("switch (x) {\n"
" case 1:\n"
@@ -470,7 +478,8 @@ TEST_F(FormatTest, UnderstandsSingleLine
" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || aaaaaaaaaaaaaaaaaaaaaaaaaaaaa;");
verifyFormat("int aaaa; // aaaaa\n"
- "int aa; // aaaaaaa", getLLVMStyleWithColumns(20));
+ "int aa; // aaaaaaa",
+ getLLVMStyleWithColumns(20));
EXPECT_EQ("void f() { // This does something ..\n"
"}\n"
@@ -668,9 +677,7 @@ TEST_F(FormatTest, FormatsNamespaces) {
"};");
}
-TEST_F(FormatTest, FormatsExternC) {
- verifyFormat("extern \"C\" {\nint a;");
-}
+TEST_F(FormatTest, FormatsExternC) { verifyFormat("extern \"C\" {\nint a;"); }
TEST_F(FormatTest, FormatTryCatch) {
// FIXME: Handle try-catch explicitly in the UnwrappedLineParser, then we'll
@@ -734,22 +741,19 @@ TEST_F(FormatTest, StaticInitializers) {
TEST_F(FormatTest, NestedStaticInitializers) {
verifyFormat("static A x = { { {} } };\n");
- verifyFormat(
- "static A x = { { { init1, init2, init3, init4 },\n"
- " { init1, init2, init3, init4 } } };");
+ verifyFormat("static A x = { { { init1, init2, init3, init4 },\n"
+ " { init1, init2, init3, init4 } } };");
- verifyFormat(
- "somes Status::global_reps[3] = {\n"
- " { kGlobalRef, OK_CODE, NULL, NULL, NULL },\n"
- " { kGlobalRef, CANCELLED_CODE, NULL, NULL, NULL },\n"
- " { kGlobalRef, UNKNOWN_CODE, NULL, NULL, NULL }\n"
- "};");
- verifyGoogleFormat(
- "somes Status::global_reps[3] = {\n"
- " { kGlobalRef, OK_CODE, NULL, NULL, NULL },\n"
- " { kGlobalRef, CANCELLED_CODE, NULL, NULL, NULL },\n"
- " { kGlobalRef, UNKNOWN_CODE, NULL, NULL, NULL }\n"
- "};");
+ verifyFormat("somes Status::global_reps[3] = {\n"
+ " { kGlobalRef, OK_CODE, NULL, NULL, NULL },\n"
+ " { kGlobalRef, CANCELLED_CODE, NULL, NULL, NULL },\n"
+ " { kGlobalRef, UNKNOWN_CODE, NULL, NULL, NULL }\n"
+ "};");
+ verifyGoogleFormat("somes Status::global_reps[3] = {\n"
+ " { kGlobalRef, OK_CODE, NULL, NULL, NULL },\n"
+ " { kGlobalRef, CANCELLED_CODE, NULL, NULL, NULL },\n"
+ " { kGlobalRef, UNKNOWN_CODE, NULL, NULL, NULL }\n"
+ "};");
verifyFormat(
"CGRect cg_rect = { { rect.fLeft, rect.fTop },\n"
" { rect.fRight - rect.fLeft, rect.fBottom - rect.fTop"
@@ -770,11 +774,12 @@ TEST_F(FormatTest, NestedStaticInitializ
// FIXME: We might at some point want to handle this similar to parameter
// lists, where we have an option to put each on a single line.
- verifyFormat("struct {\n"
- " unsigned bit;\n"
- " const char *const name;\n"
- "} kBitsToOs[] = { { kOsMac, \"Mac\" }, { kOsWin, \"Windows\" },\n"
- " { kOsLinux, \"Linux\" }, { kOsCrOS, \"Chrome OS\" } };");
+ verifyFormat(
+ "struct {\n"
+ " unsigned bit;\n"
+ " const char *const name;\n"
+ "} kBitsToOs[] = { { kOsMac, \"Mac\" }, { kOsWin, \"Windows\" },\n"
+ " { kOsLinux, \"Linux\" }, { kOsCrOS, \"Chrome OS\" } };");
}
TEST_F(FormatTest, FormatsSmallMacroDefinitionsInSingleLine) {
@@ -798,16 +803,14 @@ TEST_F(FormatTest, LayoutUnknownPPDirect
TEST_F(FormatTest, UnescapedEndOfLineEndsPPDirective) {
EXPECT_EQ("#line 42 \"test\"\n",
format("# \\\n line \\\n 42 \\\n \"test\"\n"));
- EXPECT_EQ("#define A B\n",
- format("# \\\n define \\\n A \\\n B\n",
- getLLVMStyleWithColumns(12)));
+ EXPECT_EQ("#define A B\n", format("# \\\n define \\\n A \\\n B\n",
+ getLLVMStyleWithColumns(12)));
}
TEST_F(FormatTest, EndOfFileEndsPPDirective) {
EXPECT_EQ("#line 42 \"test\"",
format("# \\\n line \\\n 42 \\\n \"test\""));
- EXPECT_EQ("#define A B",
- format("# \\\n define \\\n A \\\n B"));
+ EXPECT_EQ("#define A B", format("# \\\n define \\\n A \\\n B"));
}
TEST_F(FormatTest, IndentsPPDirectiveInReducedSpace) {
@@ -825,7 +828,8 @@ TEST_F(FormatTest, IndentsPPDirectiveInR
verifyFormat("#define Something Other", getLLVMStyleWithColumns(24));
verifyFormat("#define Something \\\n"
- " Other", getLLVMStyleWithColumns(23));
+ " Other",
+ getLLVMStyleWithColumns(23));
}
TEST_F(FormatTest, HandlePreprocessorDirectiveContext) {
@@ -840,24 +844,23 @@ TEST_F(FormatTest, HandlePreprocessorDir
"#define A(A,\\\n"
" B)\n"
" #include \"b.h\"\n"
- " // some comment\n", getLLVMStyleWithColumns(13)));
+ " // some comment\n",
+ getLLVMStyleWithColumns(13)));
}
-TEST_F(FormatTest, LayoutSingleHash) {
- EXPECT_EQ("#\na;", format("#\na;"));
-}
+TEST_F(FormatTest, LayoutSingleHash) { EXPECT_EQ("#\na;", format("#\na;")); }
TEST_F(FormatTest, LayoutCodeInMacroDefinitions) {
EXPECT_EQ("#define A \\\n"
" c; \\\n"
" e;\n"
- "f;", format("#define A c; e;\n"
- "f;", getLLVMStyleWithColumns(14)));
+ "f;",
+ format("#define A c; e;\n"
+ "f;",
+ getLLVMStyleWithColumns(14)));
}
-TEST_F(FormatTest, LayoutRemainingTokens) {
- EXPECT_EQ("{}", format("{}"));
-}
+TEST_F(FormatTest, LayoutRemainingTokens) { EXPECT_EQ("{}", format("{}")); }
TEST_F(FormatTest, LayoutSingleUnwrappedLineInMacro) {
EXPECT_EQ("# define A\\\n b;",
@@ -867,7 +870,8 @@ TEST_F(FormatTest, LayoutSingleUnwrapped
TEST_F(FormatTest, MacroDefinitionInsideStatement) {
EXPECT_EQ("int x,\n"
"#define A\n"
- " y;", format("int x,\n#define A\ny;"));
+ " y;",
+ format("int x,\n#define A\ny;"));
}
TEST_F(FormatTest, HashInMacroDefinition) {
@@ -875,13 +879,16 @@ TEST_F(FormatTest, HashInMacroDefinition
verifyFormat("#define A \\\n"
" { \\\n"
" f(#c);\\\n"
- " }", getLLVMStyleWithColumns(11));
+ " }",
+ getLLVMStyleWithColumns(11));
verifyFormat("#define A(X) \\\n"
- " void function##X()", getLLVMStyleWithColumns(22));
+ " void function##X()",
+ getLLVMStyleWithColumns(22));
verifyFormat("#define A(a, b, c) \\\n"
- " void a##b##c()", getLLVMStyleWithColumns(22));
+ " void a##b##c()",
+ getLLVMStyleWithColumns(22));
verifyFormat("#define A void # ## #", getLLVMStyleWithColumns(22));
}
@@ -893,21 +900,26 @@ TEST_F(FormatTest, RespectWhitespaceInMa
TEST_F(FormatTest, EmptyLinesInMacroDefinitions) {
EXPECT_EQ("#define A b;", format("#define A \\\n"
" \\\n"
- " b;", getLLVMStyleWithColumns(25)));
+ " b;",
+ getLLVMStyleWithColumns(25)));
EXPECT_EQ("#define A \\\n"
" \\\n"
" a; \\\n"
- " b;", format("#define A \\\n"
- " \\\n"
- " a; \\\n"
- " b;", getLLVMStyleWithColumns(11)));
+ " b;",
+ format("#define A \\\n"
+ " \\\n"
+ " a; \\\n"
+ " b;",
+ getLLVMStyleWithColumns(11)));
EXPECT_EQ("#define A \\\n"
" a; \\\n"
" \\\n"
- " b;", format("#define A \\\n"
- " a; \\\n"
- " \\\n"
- " b;", getLLVMStyleWithColumns(11)));
+ " b;",
+ format("#define A \\\n"
+ " a; \\\n"
+ " \\\n"
+ " b;",
+ getLLVMStyleWithColumns(11)));
}
TEST_F(FormatTest, IndentPreprocessorDirectivesAtZero) {
@@ -935,7 +947,8 @@ TEST_F(FormatTest, CalculateSpaceOnConse
verifyFormat("#define A \\\n"
" int v( \\\n"
" a); \\\n"
- " int i;", getLLVMStyleWithColumns(11));
+ " int i;",
+ getLLVMStyleWithColumns(11));
}
TEST_F(FormatTest, MixingPreprocessorDirectivesAndNormalCode) {
@@ -959,27 +972,28 @@ TEST_F(FormatTest, LayoutStatementsAroun
"#define A\n"
" a;",
format("int\n#define A\na;"));
- verifyFormat(
- "functionCallTo(\n"
- " someOtherFunction(\n"
- " withSomeParameters, whichInSequence,\n"
- " areLongerThanALine(andAnotherCall,\n"
- "#define A B\n"
- " withMoreParamters,\n"
- " whichStronglyInfluenceTheLayout),\n"
- " andMoreParameters), trailing);",
- getLLVMStyleWithColumns(69));
+ verifyFormat("functionCallTo(\n"
+ " someOtherFunction(\n"
+ " withSomeParameters, whichInSequence,\n"
+ " areLongerThanALine(andAnotherCall,\n"
+ "#define A B\n"
+ " withMoreParamters,\n"
+ " whichStronglyInfluenceTheLayout),\n"
+ " andMoreParameters), trailing);",
+ getLLVMStyleWithColumns(69));
}
TEST_F(FormatTest, LayoutBlockInsideParens) {
EXPECT_EQ("functionCall({\n"
" int i;\n"
- "});", format(" functionCall ( {int i;} );"));
+ "});",
+ format(" functionCall ( {int i;} );"));
}
TEST_F(FormatTest, LayoutBlockInsideStatement) {
EXPECT_EQ("SOME_MACRO { int i; }\n"
- "int i;", format(" SOME_MACRO {int i;} int i;"));
+ "int i;",
+ format(" SOME_MACRO {int i;} int i;"));
}
TEST_F(FormatTest, LayoutNestedBlocks) {
@@ -1087,15 +1101,18 @@ TEST_F(FormatTest, ConstructorInitialize
verifyFormat("SomeClass::Constructor()\n"
" : aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
" aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
- " aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {\n}", OnePerLine);
+ " aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {\n}",
+ OnePerLine);
verifyFormat("SomeClass::Constructor()\n"
" : aaaaaaaaaaaaa(aaaaaaaaaaaaaa), // Some comment\n"
" aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
- " aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {\n}", OnePerLine);
+ " aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {\n}",
+ OnePerLine);
verifyFormat("MyClass::MyClass(int var)\n"
" : some_var_(var), // 4 space indent\n"
" some_other_var_(var + 1) { // lined up\n"
- "}", OnePerLine);
+ "}",
+ OnePerLine);
// This test takes VERY long when memoization is broken.
std::string input = "Constructor()\n"
@@ -1183,7 +1200,7 @@ TEST_F(FormatTest, FormatsOneParameterPe
" .aaaaaaaaaaaaaaaaaa();");
verifyGoogleFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
" aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaa);");
-
+
verifyGoogleFormat(
"aaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaa,\n"
" aaaaaaaaaaaa,\n"
@@ -1211,7 +1228,8 @@ TEST_F(FormatTest, FormatsOneParameterPe
"void f() {\n"
" aaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaa, aaaaaaaaa, aaaaaaaaaaaaaaaaaaaaa)\n"
" .aaaaaaa();\n"
- "}", Style);
+ "}",
+ Style);
}
TEST_F(FormatTest, FormatsBuilderPattern) {
@@ -1282,10 +1300,9 @@ TEST_F(FormatTest, AlignsAfterAssignment
verifyFormat(
"int Result = (aaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaa +\n"
" aaaaaaaaaaaaaaaaaaaaaaaaa);");
- verifyFormat(
- "double LooooooooooooooooooooooooongResult =\n"
- " aaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaa +\n"
- " aaaaaaaaaaaaaaaaaaaaaaaa;");
+ verifyFormat("double LooooooooooooooooooooooooongResult =\n"
+ " aaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaa +\n"
+ " aaaaaaaaaaaaaaaaaaaaaaaa;");
}
TEST_F(FormatTest, AlignsAfterReturn) {
@@ -1337,7 +1354,8 @@ TEST_F(FormatTest, BreaksConditionalExpr
" format(TheLine.First, IndentForLevel[TheLine.Level] >= 0\n"
" ? IndentForLevel[TheLine.Level]\n"
" : TheLine * 2, TheLine.InPPDirective,\n"
- " PreviousEndOfLineColumn);", getLLVMStyleWithColumns(70));
+ " PreviousEndOfLineColumn);",
+ getLLVMStyleWithColumns(70));
}
@@ -1373,6 +1391,9 @@ TEST_F(FormatTest, AlignsStringLiterals)
"looooooooooooooooooooooooongFunction(\n"
" \"short literal\"\n"
" \"looooooooooooooooooooooooooooooooooooooooooooooooong literal\");");
+ verifyFormat("someFunction(\"Always break between multi-line\"\n"
+ " \" string literals\",\n"
+ " and, other, parameters);");
}
TEST_F(FormatTest, AlignsPipes) {
@@ -1424,9 +1445,8 @@ TEST_F(FormatTest, UnderstandsEquals) {
" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n"
"}");
- verifyFormat(
- "if (int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
- " 100000000 + 10000000) {\n}");
+ verifyFormat("if (int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
+ " 100000000 + 10000000) {\n}");
}
TEST_F(FormatTest, WrapsAtFunctionCallsIfNecessary) {
@@ -1483,10 +1503,9 @@ TEST_F(FormatTest, WrapsTemplateDeclarat
verifyFormat(
"template <typename T>\n"
"using comment_to_xml_conversion = comment_to_xml_conversion<T, int>;");
- verifyFormat(
- "template <typename T>\n"
- "void f(int Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaram1,\n"
- " int Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaram2);");
+ verifyFormat("template <typename T>\n"
+ "void f(int Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaram1,\n"
+ " int Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaram2);");
verifyFormat(
"template <typename T>\n"
"void looooooooooooooooooooongFunction(int Paaaaaaaaaaaaaaaaaaaaram1,\n"
@@ -1507,9 +1526,8 @@ TEST_F(FormatTest, WrapsTemplateDeclarat
"aaaaaaaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa>(\n"
" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);");
- verifyFormat(
- "a<aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaa>(\n"
- " a(aaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaa));");
+ verifyFormat("a<aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaa>(\n"
+ " a(aaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaa));");
}
TEST_F(FormatTest, WrapsAtNestedNameSpecifiers) {
@@ -1746,26 +1764,33 @@ TEST_F(FormatTest, UnderstandsUsesOfStar
EXPECT_EQ("int *a;\n"
"int *a;\n"
- "int *a;", format("int *a;\n"
- "int* a;\n"
- "int *a;", getGoogleStyle()));
+ "int *a;",
+ format("int *a;\n"
+ "int* a;\n"
+ "int *a;",
+ getGoogleStyle()));
EXPECT_EQ("int* a;\n"
"int* a;\n"
- "int* a;", format("int* a;\n"
- "int* a;\n"
- "int *a;", getGoogleStyle()));
+ "int* a;",
+ format("int* a;\n"
+ "int* a;\n"
+ "int *a;",
+ getGoogleStyle()));
EXPECT_EQ("int *a;\n"
"int *a;\n"
- "int *a;", format("int *a;\n"
- "int * a;\n"
- "int * a;", getGoogleStyle()));
+ "int *a;",
+ format("int *a;\n"
+ "int * a;\n"
+ "int * a;",
+ getGoogleStyle()));
}
TEST_F(FormatTest, FormatsBinaryOperatorsPrecedingEquals) {
verifyFormat("void f() {\n"
" x[aaaaaaaaa -\n"
" b] = 23;\n"
- "}", getLLVMStyleWithColumns(15));
+ "}",
+ getLLVMStyleWithColumns(15));
}
TEST_F(FormatTest, FormatsCasts) {
@@ -1883,21 +1908,25 @@ TEST_F(FormatTest, IncorrectCodeMissingS
EXPECT_EQ("void f() {\n"
" if (a)\n"
" return\n"
- "}", format("void f ( ) { if ( a ) return }"));
+ "}",
+ format("void f ( ) { if ( a ) return }"));
EXPECT_EQ("namespace N { void f() }", format("namespace N { void f() }"));
EXPECT_EQ("namespace N {\n"
"void f() {}\n"
"void g()\n"
- "}", format("namespace N { void f( ) { } void g( ) }"));
+ "}",
+ format("namespace N { void f( ) { } void g( ) }"));
}
TEST_F(FormatTest, IndentationWithinColumnLimitNotPossible) {
verifyFormat("int aaaaaaaa =\n"
" // Overly long comment\n"
- " b;", getLLVMStyleWithColumns(20));
+ " b;",
+ getLLVMStyleWithColumns(20));
verifyFormat("function(\n"
" ShortArgument,\n"
- " LoooooooooooongArgument);\n", getLLVMStyleWithColumns(20));
+ " LoooooooooooongArgument);\n",
+ getLLVMStyleWithColumns(20));
}
TEST_F(FormatTest, IncorrectAccessSpecifier) {
@@ -1916,9 +1945,7 @@ TEST_F(FormatTest, IncorrectAccessSpecif
"B { int x; }");
}
-TEST_F(FormatTest, IncorrectCodeUnbalancedBraces) {
- verifyFormat("{");
-}
+TEST_F(FormatTest, IncorrectCodeUnbalancedBraces) { verifyFormat("{"); }
TEST_F(FormatTest, IncorrectCodeDoNoWhile) {
verifyFormat("do {\n}");
@@ -1954,18 +1981,20 @@ TEST_F(FormatTest, IncorrectCodeErrorDet
" {\n"
" breakme(\n"
" qwe);\n"
- "}\n", format("{\n"
- " {\n"
- " breakme(qwe);\n"
- "}\n", getLLVMStyleWithColumns(10)));
+ "}\n",
+ format("{\n"
+ " {\n"
+ " breakme(qwe);\n"
+ "}\n",
+ getLLVMStyleWithColumns(10)));
}
TEST_F(FormatTest, LayoutCallsInsideBraceInitializers) {
- verifyFormat(
- "int x = {\n"
- " avariable,\n"
- " b(alongervariable)\n"
- "};", getLLVMStyleWithColumns(25));
+ verifyFormat("int x = {\n"
+ " avariable,\n"
+ " b(alongervariable)\n"
+ "};",
+ getLLVMStyleWithColumns(25));
}
TEST_F(FormatTest, LayoutBraceInitializersInReturnStatement) {
@@ -2065,22 +2094,26 @@ TEST_F(FormatTest, MergeHandlingInTheFac
FormatStyle ShortMergedIf = AllowsMergedIf;
ShortMergedIf.ColumnLimit = 25;
verifyFormat("#define A \\\n"
- " if (true) return 42;", ShortMergedIf);
+ " if (true) return 42;",
+ ShortMergedIf);
verifyFormat("#define A \\\n"
" f(); \\\n"
" if (true)\n"
- "#define B", ShortMergedIf);
+ "#define B",
+ ShortMergedIf);
verifyFormat("#define A \\\n"
" f(); \\\n"
" if (true)\n"
- "g();", ShortMergedIf);
+ "g();",
+ ShortMergedIf);
verifyFormat("{\n"
"#ifdef A\n"
" // Comment\n"
" if (true) continue;\n"
"#endif\n"
" // Comment\n"
- " if (true) continue;", ShortMergedIf);
+ " if (true) continue;",
+ ShortMergedIf);
}
TEST_F(FormatTest, BlockCommentsInControlLoops) {
@@ -2106,8 +2139,7 @@ TEST_F(FormatTest, BlockCommentsInContro
TEST_F(FormatTest, BlockComments) {
EXPECT_EQ("/* */ /* */ /* */\n/* */ /* */ /* */",
format("/* *//* */ /* */\n/* *//* */ /* */"));
- EXPECT_EQ("/* */ a /* */ b;",
- format(" /* */ a/* */ b;"));
+ EXPECT_EQ("/* */ a /* */ b;", format(" /* */ a/* */ b;"));
EXPECT_EQ("#define A /* */\\\n"
" b\n"
"/* */\n"
@@ -2115,13 +2147,15 @@ TEST_F(FormatTest, BlockComments) {
" parameter);",
format("#define A /* */ b\n"
"/* */\n"
- "someCall(parameter);", getLLVMStyleWithColumns(15)));
+ "someCall(parameter);",
+ getLLVMStyleWithColumns(15)));
EXPECT_EQ("#define A\n"
"/* */ someCall(\n"
" parameter);",
format("#define A\n"
- "/* */someCall(parameter);", getLLVMStyleWithColumns(15)));
+ "/* */someCall(parameter);",
+ getLLVMStyleWithColumns(15)));
EXPECT_EQ("someFunction(1, /* comment 1 */\n"
" 2, /* comment 2 */\n"
@@ -2131,7 +2165,8 @@ TEST_F(FormatTest, BlockComments) {
format("someFunction (1, /* comment 1 */\n"
" 2, /* comment 2 */ \n"
" 3, /* comment 3 */\n"
- "aaaa, bbbb );", getGoogleStyle()));
+ "aaaa, bbbb );",
+ getGoogleStyle()));
verifyFormat(
"bool aaaaaaaaaaaaa = /* comment: */ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ||\n"
" aaaaaaaaaaaaaaaaaaaaaaaaaaaa;");
@@ -2159,7 +2194,8 @@ TEST_F(FormatTest, BlockCommentsInMacros
" someCall();",
format("#define A { \\\n"
" /* one line */ \\\n"
- " someCall();", getLLVMStyleWithColumns(20)));
+ " someCall();",
+ getLLVMStyleWithColumns(20)));
EXPECT_EQ("#define A \\\n"
" { \\\n"
" /* previous */ \\\n"
@@ -2168,7 +2204,8 @@ TEST_F(FormatTest, BlockCommentsInMacros
format("#define A { \\\n"
" /* previous */ \\\n"
" /* one line */ \\\n"
- " someCall();", getLLVMStyleWithColumns(20)));
+ " someCall();",
+ getLLVMStyleWithColumns(20)));
}
TEST_F(FormatTest, IndentLineCommentsInStartOfBlockAtEndOfFile) {
@@ -2218,7 +2255,8 @@ TEST_F(FormatTest, FormatForObjectiveCMe
format("- (id)Method6:(id)A:(id)B:(id)C:(id)D;"));
EXPECT_EQ(
"- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag;",
- format("- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag;"));
+ format(
+ "- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag;"));
// Very long objectiveC method declaration.
verifyFormat("- (NSUInteger)indexOfObject:(id)anObject\n"
@@ -2693,7 +2731,7 @@ TEST_F(FormatTest, ObjCLiterals) {
"NSDictionary *masses = @{ @\"H\" : @1.0078, @\"He\" : @4.0026 };");
verifyFormat(
"NSDictionary *settings = @{ AVEncoderKey : @(AVAudioQualityMax) };");
-
+
// FIXME: Nested and multi-line array and dictionary literals need more work.
verifyFormat(
"NSDictionary *d = @{ @\"nam\" : NSUserNam(), @\"dte\" : [NSDate date],\n"
@@ -2706,34 +2744,40 @@ TEST_F(FormatTest, ReformatRegionAdjusts
"a;\n"
"b;\n"
"}\n"
- "}", format("{\n"
- "{\n"
- "a;\n"
- " b;\n"
- "}\n"
- "}", 13, 2, getLLVMStyle()));
+ "}",
+ format("{\n"
+ "{\n"
+ "a;\n"
+ " b;\n"
+ "}\n"
+ "}",
+ 13, 2, getLLVMStyle()));
EXPECT_EQ("{\n"
"{\n"
" a;\n"
"b;\n"
"}\n"
- "}", format("{\n"
- "{\n"
- " a;\n"
- "b;\n"
- "}\n"
- "}", 9, 2, getLLVMStyle()));
+ "}",
+ format("{\n"
+ "{\n"
+ " a;\n"
+ "b;\n"
+ "}\n"
+ "}",
+ 9, 2, getLLVMStyle()));
EXPECT_EQ("{\n"
"{\n"
"public:\n"
" b;\n"
"}\n"
- "}", format("{\n"
- "{\n"
- "public:\n"
- " b;\n"
- "}\n"
- "}", 17, 2, getLLVMStyle()));
+ "}",
+ format("{\n"
+ "{\n"
+ "public:\n"
+ " b;\n"
+ "}\n"
+ "}",
+ 17, 2, getLLVMStyle()));
EXPECT_EQ("{\n"
"{\n"
"a;\n"
@@ -2741,22 +2785,28 @@ TEST_F(FormatTest, ReformatRegionAdjusts
"{\n"
" b;\n"
"}\n"
- "}", format("{\n"
- "{\n"
- "a;\n"
- "}\n"
- "{\n"
- " b;\n"
- "}\n"
- "}", 22, 2, getLLVMStyle()));
+ "}",
+ format("{\n"
+ "{\n"
+ "a;\n"
+ "}\n"
+ "{\n"
+ " b;\n"
+ "}\n"
+ "}",
+ 22, 2, getLLVMStyle()));
EXPECT_EQ(" {\n"
" a;\n"
- " }", format(" {\n"
- "a;\n"
- " }", 4, 2, getLLVMStyle()));
+ " }",
+ format(" {\n"
+ "a;\n"
+ " }",
+ 4, 2, getLLVMStyle()));
EXPECT_EQ("void f() {}\n"
- "void g() {}", format("void f() {}\n"
- "void g() {}", 13, 0, getLLVMStyle()));
+ "void g() {}",
+ format("void f() {}\n"
+ "void g() {}",
+ 13, 0, getLLVMStyle()));
}
} // end namespace tooling
More information about the cfe-commits
mailing list