diff options
author | Daniel Jasper <djasper@google.com> | 2013-11-28 15:58:55 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-11-28 15:58:55 +0000 |
commit | 9c19956845808a7a0972e58b08864da36c1ddaf0 (patch) | |
tree | b7038a46d760f3e9cc31eadc2ed4556b953165ae /clang/unittests/Format/FormatTest.cpp | |
parent | b2abd160b32144b86271a60487f10e71223cd97e (diff) | |
download | bcm5719-llvm-9c19956845808a7a0972e58b08864da36c1ddaf0.tar.gz bcm5719-llvm-9c19956845808a7a0972e58b08864da36c1ddaf0.zip |
clang-format: Improve selective formatting of nested statements.
Previously, clang-format could create quite corrupt formattings if
individual lines of nested blocks (e.g. in "DEBUG({})" or lambdas) were
used. With this patch, it tries to extend the formatted regions to leave
around some reasonable format without always formatting the entire
surrounding statement.
llvm-svn: 195925
Diffstat (limited to 'clang/unittests/Format/FormatTest.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 58 |
1 files changed, 48 insertions, 10 deletions
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 350f8f2783a..d809421a41f 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -2511,6 +2511,36 @@ TEST_F(FormatTest, LayoutNestedBlocks) { " return;\n" " },\n" " a);", Style); +} + +TEST_F(FormatTest, IndividualStatementsOfNestedBlocks) { + EXPECT_EQ("DEBUG({\n" + " int i;\n" + " int j;\n" + "});", + format("DEBUG( {\n" + " int i;\n" + " int j;\n" + "} ) ;", + 20, 1, getLLVMStyle())); + EXPECT_EQ("DEBUG( {\n" + " int i;\n" + " int j;\n" + "} ) ;", + format("DEBUG( {\n" + " int i;\n" + " int j;\n" + "} ) ;", + 41, 1, getLLVMStyle())); + EXPECT_EQ("DEBUG({\n" + " int i;\n" + " int j;\n" + "});", + format("DEBUG( {\n" + " int i;\n" + " int j;\n" + "} ) ;", + 20, 1, getLLVMStyle())); EXPECT_EQ("Debug({\n" " if (aaaaaaaaaaaaaaaaaaaaaaaa)\n" @@ -2523,18 +2553,26 @@ TEST_F(FormatTest, LayoutNestedBlocks) { " },\n" " a);", 50, 1, getLLVMStyle())); -} - -TEST_F(FormatTest, IndividualStatementsOfNestedBlocks) { EXPECT_EQ("DEBUG({\n" - " int i;\n" - " int j;\n" + " DEBUG({\n" + " int a;\n" + " int b;\n" + " }) ;\n" "});", - format("DEBUG( {\n" - " int i;\n" - " int j;\n" - "} ) ;", - 40, 1, getLLVMStyle())); + format("DEBUG({\n" + " DEBUG({\n" + " int a;\n" + " int b;\n" // Format this line only. + " }) ;\n" // Don't touch this line. + "});", + 35, 0, getLLVMStyle())); + EXPECT_EQ("DEBUG({\n" + " int a; //\n" + "});", + format("DEBUG({\n" + " int a; //\n" + "});", + 0, 0, getLLVMStyle())); } TEST_F(FormatTest, PutEmptyBlocksIntoOneLine) { |