Comment parsing: don't parse whitespace before \endverbatim as a separate line of whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160464 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/AST/CommentParser.cpp b/unittests/AST/CommentParser.cpp
index cc9ed9c..5f91947 100644
--- a/unittests/AST/CommentParser.cpp
+++ b/unittests/AST/CommentParser.cpp
@@ -1077,7 +1077,7 @@
     }
     {
       VerbatimBlockComment *VBC;
-      ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim", " Aaa", " "));
+      ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim", " Aaa"));
     }
   }
 }
@@ -1086,6 +1086,37 @@
   const char *Sources[] = {
     "// \\verbatim\n"
     "// Aaa\n"
+    "// Bbb\n"
+    "// \\endverbatim\n",
+
+    "/* \\verbatim\n"
+    " * Aaa\n"
+    " * Bbb\n"
+    " * \\endverbatim*/"
+  };
+
+  for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) {
+    FullComment *FC = parseString(Sources[i]);
+    ASSERT_TRUE(HasChildCount(FC, 2));
+
+    {
+      ParagraphComment *PC;
+      ASSERT_TRUE(GetChildAt(FC, 0, PC));
+
+      ASSERT_TRUE(HasChildCount(PC, 1));
+        ASSERT_TRUE(HasTextAt(PC, 0, " "));
+    }
+    {
+      VerbatimBlockComment *VBC;
+      ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim", " Aaa", " Bbb"));
+    }
+  }
+}
+
+TEST_F(CommentParserTest, VerbatimBlock7) {
+  const char *Sources[] = {
+    "// \\verbatim\n"
+    "// Aaa\n"
     "//\n"
     "// Bbb\n"
     "// \\endverbatim\n",
@@ -1097,25 +1128,24 @@
     " * \\endverbatim*/"
   };
   for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) {
-  FullComment *FC = parseString(Sources[i]);
-  ASSERT_TRUE(HasChildCount(FC, 2));
+    FullComment *FC = parseString(Sources[i]);
+    ASSERT_TRUE(HasChildCount(FC, 2));
 
-  {
-    ParagraphComment *PC;
-    ASSERT_TRUE(GetChildAt(FC, 0, PC));
+    {
+      ParagraphComment *PC;
+      ASSERT_TRUE(GetChildAt(FC, 0, PC));
 
-    ASSERT_TRUE(HasChildCount(PC, 1));
-      ASSERT_TRUE(HasTextAt(PC, 0, " "));
-  }
-  {
-    VerbatimBlockComment *VBC;
-    ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim"));
-    ASSERT_EQ(4U, VBC->getNumLines());
-    ASSERT_EQ(" Aaa", VBC->getText(0));
-    ASSERT_EQ("",     VBC->getText(1));
-    ASSERT_EQ(" Bbb", VBC->getText(2));
-    ASSERT_EQ(" ",    VBC->getText(3));
-  }
+      ASSERT_TRUE(HasChildCount(PC, 1));
+        ASSERT_TRUE(HasTextAt(PC, 0, " "));
+    }
+    {
+      VerbatimBlockComment *VBC;
+      ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim"));
+      ASSERT_EQ(3U, VBC->getNumLines());
+      ASSERT_EQ(" Aaa", VBC->getText(0));
+      ASSERT_EQ("",     VBC->getText(1));
+      ASSERT_EQ(" Bbb", VBC->getText(2));
+    }
   }
 }