summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Format/FormatTest.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-07-17 15:38:19 +0000
committerDaniel Jasper <djasper@google.com>2013-07-17 15:38:19 +0000
commitc834c70986b01f5086d72bc5c5e564d7d0ebbc74 (patch)
treebe37cc901d894de56cdbaade23f87fee5e26c352 /clang/unittests/Format/FormatTest.cpp
parent21b3da0f939c699e671dd8df460fce7079361123 (diff)
downloadbcm5719-llvm-c834c70986b01f5086d72bc5c5e564d7d0ebbc74.tar.gz
bcm5719-llvm-c834c70986b01f5086d72bc5c5e564d7d0ebbc74.zip
Improve line breaking before multi-line strings.
The AlwaysBreakBeforeMultilineStrings rule does not really make sense if it does not a column gain. Before (in Google style): f( "aaaa" "bbbb"); After: f("aaaa" "bbbb"); llvm-svn: 186515
Diffstat (limited to 'clang/unittests/Format/FormatTest.cpp')
-rw-r--r--clang/unittests/Format/FormatTest.cpp49
1 files changed, 28 insertions, 21 deletions
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 3b8f91130ff..353fcc7d0bd 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -2981,27 +2981,34 @@ TEST_F(FormatTest, AlwaysBreakBeforeMultilineStrings) {
NoBreak.AlwaysBreakBeforeMultilineStrings = false;
FormatStyle Break = getLLVMStyle();
Break.AlwaysBreakBeforeMultilineStrings = true;
- EXPECT_EQ("aaaa = \"bbbb\"\n"
- " \"cccc\";",
- format("aaaa=\"bbbb\" \"cccc\";", NoBreak));
- EXPECT_EQ("aaaa =\n"
- " \"bbbb\"\n"
- " \"cccc\";",
- format("aaaa=\"bbbb\" \"cccc\";", Break));
- EXPECT_EQ("aaaa(\"bbbb\"\n"
- " \"cccc\");",
- format("aaaa(\"bbbb\" \"cccc\");", NoBreak));
- EXPECT_EQ("aaaa(\n"
- " \"bbbb\"\n"
- " \"cccc\");",
- format("aaaa(\"bbbb\" \"cccc\");", Break));
- EXPECT_EQ("aaaa(qqq, \"bbbb\"\n"
- " \"cccc\");",
- format("aaaa(qqq, \"bbbb\" \"cccc\");", NoBreak));
- EXPECT_EQ("aaaa(qqq,\n"
- " \"bbbb\"\n"
- " \"cccc\");",
- format("aaaa(qqq, \"bbbb\" \"cccc\");", Break));
+ verifyFormat("aaaa = \"bbbb\"\n"
+ " \"cccc\";",
+ NoBreak);
+ verifyFormat("aaaa =\n"
+ " \"bbbb\"\n"
+ " \"cccc\";",
+ Break);
+ verifyFormat("aaaa(\"bbbb\"\n"
+ " \"cccc\");",
+ NoBreak);
+ verifyFormat("aaaa(\n"
+ " \"bbbb\"\n"
+ " \"cccc\");",
+ Break);
+ verifyFormat("aaaa(qqq, \"bbbb\"\n"
+ " \"cccc\");",
+ NoBreak);
+ verifyFormat("aaaa(qqq,\n"
+ " \"bbbb\"\n"
+ " \"cccc\");",
+ Break);
+
+ // Don't break if there is no column gain.
+ verifyFormat("f(\"aaaa\"\n"
+ " \"bbbb\");",
+ Break);
+
+ // Treat literals with escaped newlines like multi-line string literals.
EXPECT_EQ("x = \"a\\\n"
"b\\\n"
"c\";",
OpenPOWER on IntegriCloud