Fix several formatting problems.
More specifically:
- Improve formatting of static initializers.
- Fix formatting of lines comments in enums.
- Fix formmating of trailing line comments.
llvm-svn: 170316
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index d70442c..5ce1022 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -245,6 +245,19 @@
EXPECT_EQ("int i // This is a fancy variable\n = 5;",
format("int i // This is a fancy variable\n= 5;"));
+ EXPECT_EQ("enum E {\n"
+ " // comment\n"
+ " VAL_A, // comment\n"
+ " VAL_B\n"
+ "};",
+ format("enum E{\n// comment\nVAL_A,// comment\nVAL_B};"));
+
+ verifyFormat(
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n"
+ " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb; // Trailing comment");
+}
+
+TEST_F(FormatTest, UnderstandsMultiLineComments) {
verifyFormat("f(/*test=*/ true);");
}
@@ -319,6 +332,15 @@
"}");
}
+TEST_F(FormatTest, StaticInitializers) {
+ verifyFormat("static SomeClass SC = { 1, 'a' };");
+
+ // FIXME: Format like enums if the static initializer does not fit on a line.
+ verifyFormat(
+ "static SomeClass WithALoooooooooooooooooooongName = { 100000000,\n"
+ " \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" };");
+}
+
//===----------------------------------------------------------------------===//
// Line break tests.
//===----------------------------------------------------------------------===//