diff options
Diffstat (limited to 'clang/unittests')
| -rw-r--r-- | clang/unittests/AST/CommentLexer.cpp | 28 | ||||
| -rw-r--r-- | clang/unittests/AST/CommentParser.cpp | 66 |
2 files changed, 59 insertions, 35 deletions
diff --git a/clang/unittests/AST/CommentLexer.cpp b/clang/unittests/AST/CommentLexer.cpp index 6be5909f8ac..dd92df421f2 100644 --- a/clang/unittests/AST/CommentLexer.cpp +++ b/clang/unittests/AST/CommentLexer.cpp @@ -514,7 +514,7 @@ TEST_F(CommentLexerTest, VerbatimBlock6) { lexString(Source, Toks); - ASSERT_EQ(11U, Toks.size()); + ASSERT_EQ(10U, Toks.size()); ASSERT_EQ(tok::text, Toks[0].getKind()); ASSERT_EQ(StringRef(" "), Toks[0].getText()); @@ -536,13 +536,10 @@ TEST_F(CommentLexerTest, VerbatimBlock6) { ASSERT_EQ(tok::newline, Toks[7].getKind()); - ASSERT_EQ(tok::verbatim_block_line, Toks[8].getKind()); - ASSERT_EQ(StringRef(" "), Toks[8].getVerbatimBlockText()); + ASSERT_EQ(tok::verbatim_block_end, Toks[8].getKind()); + ASSERT_EQ(StringRef("endverbatim"), Toks[8].getVerbatimBlockName()); - ASSERT_EQ(tok::verbatim_block_end, Toks[9].getKind()); - ASSERT_EQ(StringRef("endverbatim"), Toks[9].getVerbatimBlockName()); - - ASSERT_EQ(tok::newline, Toks[10].getKind()); + ASSERT_EQ(tok::newline, Toks[9].getKind()); } TEST_F(CommentLexerTest, VerbatimBlock7) { @@ -558,7 +555,7 @@ TEST_F(CommentLexerTest, VerbatimBlock7) { lexString(Source, Toks); - ASSERT_EQ(11U, Toks.size()); + ASSERT_EQ(10U, Toks.size()); ASSERT_EQ(tok::text, Toks[0].getKind()); ASSERT_EQ(StringRef(" "), Toks[0].getText()); @@ -575,19 +572,16 @@ TEST_F(CommentLexerTest, VerbatimBlock7) { ASSERT_EQ(tok::verbatim_block_line, Toks[4].getKind()); ASSERT_EQ(StringRef(" Bbb"), Toks[4].getVerbatimBlockText()); - ASSERT_EQ(tok::verbatim_block_line, Toks[5].getKind()); - ASSERT_EQ(StringRef(" "), Toks[5].getVerbatimBlockText()); - - ASSERT_EQ(tok::verbatim_block_end, Toks[6].getKind()); - ASSERT_EQ(StringRef("endverbatim"), Toks[6].getVerbatimBlockName()); + ASSERT_EQ(tok::verbatim_block_end, Toks[5].getKind()); + ASSERT_EQ(StringRef("endverbatim"), Toks[5].getVerbatimBlockName()); - ASSERT_EQ(tok::newline, Toks[7].getKind()); + ASSERT_EQ(tok::newline, Toks[6].getKind()); - ASSERT_EQ(tok::text, Toks[8].getKind()); - ASSERT_EQ(StringRef(" "), Toks[8].getText()); + ASSERT_EQ(tok::text, Toks[7].getKind()); + ASSERT_EQ(StringRef(" "), Toks[7].getText()); + ASSERT_EQ(tok::newline, Toks[8].getKind()); ASSERT_EQ(tok::newline, Toks[9].getKind()); - ASSERT_EQ(tok::newline, Toks[10].getKind()); } // Complex test for verbatim blocks. diff --git a/clang/unittests/AST/CommentParser.cpp b/clang/unittests/AST/CommentParser.cpp index cc9ed9c4cc4..5f91947f0bf 100644 --- a/clang/unittests/AST/CommentParser.cpp +++ b/clang/unittests/AST/CommentParser.cpp @@ -1077,7 +1077,7 @@ TEST_F(CommentParserTest, VerbatimBlock5) { } { VerbatimBlockComment *VBC; - ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim", " Aaa", " ")); + ASSERT_TRUE(HasVerbatimBlockAt(FC, 1, VBC, "verbatim", " Aaa")); } } } @@ -1086,6 +1086,37 @@ TEST_F(CommentParserTest, VerbatimBlock6) { 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 @@ TEST_F(CommentParserTest, VerbatimBlock6) { " * \\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)); + } } } |

