aboutsummaryrefslogtreecommitdiff
path: root/unittests/AST/CommentParser.cpp
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2012-07-23 23:37:11 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2012-07-23 23:37:11 +0000
commite68c229386a741f3116fe14198651059999d971d (patch)
treecd4a43d11c29ad964429da37668b243a76c1028f /unittests/AST/CommentParser.cpp
parentb33a3c448ec669a7ef530ef8094cdfc9346468cf (diff)
Comment parser unit tests: split a huge test case
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160649 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/AST/CommentParser.cpp')
-rw-r--r--unittests/AST/CommentParser.cpp85
1 files changed, 51 insertions, 34 deletions
diff --git a/unittests/AST/CommentParser.cpp b/unittests/AST/CommentParser.cpp
index 97515c3c73..87e10cebc0 100644
--- a/unittests/AST/CommentParser.cpp
+++ b/unittests/AST/CommentParser.cpp
@@ -673,14 +673,10 @@ TEST_F(CommentParserTest, Paragraph4) {
TEST_F(CommentParserTest, ParamCommand1) {
const char *Source =
- "// \\param aaa\n"
- "// \\param [in] aaa\n"
- "// \\param [out] aaa\n"
- "// \\param [in,out] aaa\n"
- "// \\param [in, out] aaa\n";
+ "// \\param aaa Bbb\n";
FullComment *FC = parseString(Source);
- ASSERT_TRUE(HasChildCount(FC, 6));
+ ASSERT_TRUE(HasChildCount(FC, 2));
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " "));
{
@@ -691,54 +687,75 @@ TEST_F(CommentParserTest, ParamCommand1) {
/* IsDirectionExplicit = */ false,
"aaa", PC));
ASSERT_TRUE(HasChildCount(PCC, 1));
- ASSERT_TRUE(HasChildCount(PC, 1));
- ASSERT_TRUE(HasTextAt(PC, 0, " "));
+ ASSERT_TRUE(HasParagraphCommentAt(PCC, 0, " Bbb"));
}
+}
+
+TEST_F(CommentParserTest, ParamCommand2) {
+ const char *Source =
+ "// \\param [in] aaa Bbb\n";
+
+ FullComment *FC = parseString(Source);
+ ASSERT_TRUE(HasChildCount(FC, 2));
+
+ ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " "));
{
ParamCommandComment *PCC;
ParagraphComment *PC;
- ASSERT_TRUE(HasParamCommandAt(FC, 2, PCC, "param",
+ ASSERT_TRUE(HasParamCommandAt(FC, 1, PCC, "param",
ParamCommandComment::In,
/* IsDirectionExplicit = */ true,
"aaa", PC));
ASSERT_TRUE(HasChildCount(PCC, 1));
- ASSERT_TRUE(HasChildCount(PC, 1));
- ASSERT_TRUE(HasTextAt(PC, 0, " "));
+ ASSERT_TRUE(HasParagraphCommentAt(PCC, 0, " Bbb"));
}
+}
+
+TEST_F(CommentParserTest, ParamCommand3) {
+ const char *Source =
+ "// \\param [out] aaa Bbb\n";
+
+ FullComment *FC = parseString(Source);
+ ASSERT_TRUE(HasChildCount(FC, 2));
+
+ ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " "));
{
ParamCommandComment *PCC;
ParagraphComment *PC;
- ASSERT_TRUE(HasParamCommandAt(FC, 3, PCC, "param",
+ ASSERT_TRUE(HasParamCommandAt(FC, 1, PCC, "param",
ParamCommandComment::Out,
/* IsDirectionExplicit = */ true,
"aaa", PC));
ASSERT_TRUE(HasChildCount(PCC, 1));
- ASSERT_TRUE(HasChildCount(PC, 1));
- ASSERT_TRUE(HasTextAt(PC, 0, " "));
- }
- {
- ParamCommandComment *PCC;
- ParagraphComment *PC;
- ASSERT_TRUE(HasParamCommandAt(FC, 4, PCC, "param",
- ParamCommandComment::InOut,
- /* IsDirectionExplicit = */ true,
- "aaa", PC));
- ASSERT_TRUE(HasChildCount(PCC, 1));
- ASSERT_TRUE(HasChildCount(PC, 1));
- ASSERT_TRUE(HasTextAt(PC, 0, " "));
+ ASSERT_TRUE(HasParagraphCommentAt(PCC, 0, " Bbb"));
}
- {
- ParamCommandComment *PCC;
- ParagraphComment *PC;
- ASSERT_TRUE(HasParamCommandAt(FC, 5, PCC, "param",
- ParamCommandComment::InOut,
- /* IsDirectionExplicit = */ true,
- "aaa", PC));
- ASSERT_TRUE(HasChildCount(PCC, 1));
- ASSERT_TRUE(HasChildCount(PC, 0));
+}
+
+TEST_F(CommentParserTest, ParamCommand4) {
+ const char *Sources[] = {
+ "// \\param [in,out] aaa Bbb\n",
+ "// \\param [in, out] aaa Bbb\n"
+ };
+
+ for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) {
+ FullComment *FC = parseString(Sources[i]);
+ ASSERT_TRUE(HasChildCount(FC, 2));
+
+ ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " "));
+ {
+ ParamCommandComment *PCC;
+ ParagraphComment *PC;
+ ASSERT_TRUE(HasParamCommandAt(FC, 1, PCC, "param",
+ ParamCommandComment::InOut,
+ /* IsDirectionExplicit = */ true,
+ "aaa", PC));
+ ASSERT_TRUE(HasChildCount(PCC, 1));
+ ASSERT_TRUE(HasParagraphCommentAt(PCC, 0, " Bbb"));
+ }
}
}
+
TEST_F(CommentParserTest, InlineCommand1) {
const char *Source = "// \\c";