Error recovery part 2
Summary: Adds recovery for structural errors in clang-format.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, silvas
Differential Revision: http://llvm-reviews.chandlerc.com/D164
llvm-svn: 169286
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 5c1b603..745ecec 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -381,5 +381,23 @@
"};");
}
+TEST_F(FormatTest, IncorrectCodeErrorDetection) {
+ EXPECT_EQ("{\n{\n}\n", format("{\n{\n}\n"));
+ EXPECT_EQ("{\n {\n}\n", format("{\n {\n}\n"));
+ EXPECT_EQ("{\n {\n }\n", format("{\n {\n }\n"));
+
+ FormatStyle Style = getLLVMStyle();
+ Style.ColumnLimit = 10;
+ EXPECT_EQ("{\n"
+ " {\n"
+ " breakme(\n"
+ " qwe);\n"
+ "}\n", format("{\n"
+ " {\n"
+ " breakme(qwe);\n"
+ "}\n", Style));
+
+}
+
} // end namespace tooling
} // end namespace clang