diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2012-07-23 23:37:11 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2012-07-23 23:37:11 +0000 |
commit | e68c229386a741f3116fe14198651059999d971d (patch) | |
tree | cd4a43d11c29ad964429da37668b243a76c1028f /unittests/AST/CommentParser.cpp | |
parent | b33a3c448ec669a7ef530ef8094cdfc9346468cf (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.cpp | 85 |
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"; |