]> granicus.if.org Git - clang/commitdiff
clang-format: Support //!-comments, increase test coverage.
authorDaniel Jasper <djasper@google.com>
Tue, 9 Jun 2015 13:16:54 +0000 (13:16 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 9 Jun 2015 13:16:54 +0000 (13:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239404 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/BreakableToken.cpp
unittests/Format/FormatTest.cpp

index 66e935abdf558d6e7feda8a750ccf4fdd3be7bc4..e3e162d070f809703e1d838385cb7d1caca1e7a6 100644 (file)
@@ -183,7 +183,7 @@ void BreakableStringLiteral::insertBreak(unsigned LineIndex,
 }
 
 static StringRef getLineCommentIndentPrefix(StringRef Comment) {
-  static const char *const KnownPrefixes[] = { "///", "//" };
+  static const char *const KnownPrefixes[] = { "///", "//", "//!" };
   StringRef LongestPrefix;
   for (StringRef KnownPrefix : KnownPrefixes) {
     if (Comment.startswith(KnownPrefix)) {
@@ -210,6 +210,8 @@ BreakableLineComment::BreakableLineComment(
       Prefix = "// ";
     else if (Prefix == "///")
       Prefix = "/// ";
+    else if (Prefix == "//!")
+      Prefix = "//! ";
   }
 }
 
index 0760530672b596be13e2ec752f6904db662ac29e..c4aa712ba1d580b36da6f5cc744b745fd872f832 100644 (file)
@@ -1337,6 +1337,16 @@ TEST_F(FormatTest, SplitsLongCxxComments) {
             "// one line",
             format("// A comment that doesn't fit on one line",
                    getLLVMStyleWithColumns(20)));
+  EXPECT_EQ("/// A comment that\n"
+            "/// doesn't fit on\n"
+            "/// one line",
+            format("/// A comment that doesn't fit on one line",
+                   getLLVMStyleWithColumns(20)));
+  EXPECT_EQ("//! A comment that\n"
+            "//! doesn't fit on\n"
+            "//! one line",
+            format("//! A comment that doesn't fit on one line",
+                   getLLVMStyleWithColumns(20)));
   EXPECT_EQ("// a b c d\n"
             "// e f  g\n"
             "// h i j k",
@@ -1357,6 +1367,12 @@ TEST_F(FormatTest, SplitsLongCxxComments) {
   EXPECT_EQ("// Add leading\n"
             "// whitespace",
             format("//Add leading whitespace", getLLVMStyleWithColumns(20)));
+  EXPECT_EQ("/// Add leading\n"
+            "/// whitespace",
+            format("///Add leading whitespace", getLLVMStyleWithColumns(20)));
+  EXPECT_EQ("//! Add leading\n"
+            "//! whitespace",
+            format("//!Add leading whitespace", getLLVMStyleWithColumns(20)));
   EXPECT_EQ("// whitespace", format("//whitespace", getLLVMStyle()));
   EXPECT_EQ("// Even if it makes the line exceed the column\n"
             "// limit",