Changeset View
Changeset View
Standalone View
Standalone View
clang/unittests/AST/CommentParser.cpp
Show First 20 Lines • Show All 658 Lines • ▼ Show 20 Lines | const char *Sources[] = { | ||||
("/**\n" | ("/**\n" | ||||
" Aaa\n" | " Aaa\n" | ||||
"\t \n" | "\t \n" | ||||
" Bbb\n" | " Bbb\n" | ||||
"*/"), | "*/"), | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " Aaa")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " Aaa")); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 1, " Bbb")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 1, " Bbb")); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | const char *Sources[] = { | ||||
("// \\param\n" | ("// \\param\n" | ||||
"// aaa Bbb\n"), | "// aaa Bbb\n"), | ||||
("// \\param \n" | ("// \\param \n" | ||||
"// aaa Bbb\n"), | "// aaa Bbb\n"), | ||||
("// \\param aaa\n" | ("// \\param aaa\n" | ||||
"// Bbb\n") | "// Bbb\n") | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
ParamCommandComment *PCC; | ParamCommandComment *PCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ||||
Show All 13 Lines | const char *Sources[] = { | ||||
("// \\param\n" | ("// \\param\n" | ||||
"// [in] aaa Bbb\n"), | "// [in] aaa Bbb\n"), | ||||
("// \\param [in]\n" | ("// \\param [in]\n" | ||||
"// aaa Bbb\n"), | "// aaa Bbb\n"), | ||||
("// \\param [in] aaa\n" | ("// \\param [in] aaa\n" | ||||
"// Bbb\n"), | "// Bbb\n"), | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
ParamCommandComment *PCC; | ParamCommandComment *PCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ||||
Show All 13 Lines | const char *Sources[] = { | ||||
("// \\param\n" | ("// \\param\n" | ||||
"// [out] aaa Bbb\n"), | "// [out] aaa Bbb\n"), | ||||
("// \\param [out]\n" | ("// \\param [out]\n" | ||||
"// aaa Bbb\n"), | "// aaa Bbb\n"), | ||||
("// \\param [out] aaa\n" | ("// \\param [out] aaa\n" | ||||
"// Bbb\n"), | "// Bbb\n"), | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
ParamCommandComment *PCC; | ParamCommandComment *PCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ||||
Show All 14 Lines | const char *Sources[] = { | ||||
"// \\param [in,\n" | "// \\param [in,\n" | ||||
"// out] aaa Bbb\n", | "// out] aaa Bbb\n", | ||||
"// \\param [in,out]\n" | "// \\param [in,out]\n" | ||||
"// aaa Bbb\n", | "// aaa Bbb\n", | ||||
"// \\param [in,out] aaa\n" | "// \\param [in,out] aaa\n" | ||||
"// Bbb\n" | "// Bbb\n" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
ParamCommandComment *PCC; | ParamCommandComment *PCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ASSERT_TRUE(HasParamCommandAt(FC, Traits, 1, PCC, "param", | ||||
Show All 38 Lines | const char *Sources[] = { | ||||
"// \\tparam\n" | "// \\tparam\n" | ||||
"// aaa Bbb\n", | "// aaa Bbb\n", | ||||
"// \\tparam \n" | "// \\tparam \n" | ||||
"// aaa Bbb\n", | "// aaa Bbb\n", | ||||
"// \\tparam aaa\n" | "// \\tparam aaa\n" | ||||
"// Bbb\n" | "// Bbb\n" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
TParamCommandComment *TPCC; | TParamCommandComment *TPCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasTParamCommandAt(FC, Traits, 1, TPCC, "tparam", | ASSERT_TRUE(HasTParamCommandAt(FC, Traits, 1, TPCC, "tparam", | ||||
▲ Show 20 Lines • Show All 117 Lines • ▼ Show 20 Lines | |||||
TEST_F(CommentParserTest, HTML1) { | TEST_F(CommentParserTest, HTML1) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// <a", | "// <a", | ||||
"// <a>", | "// <a>", | ||||
"// <a >" | "// <a >" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
HTMLStartTagComment *HST; | HTMLStartTagComment *HST; | ||||
ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ||||
ASSERT_TRUE(HasChildCount(PC, 2)); | ASSERT_TRUE(HasChildCount(PC, 2)); | ||||
ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ||||
ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", NoAttrs())); | ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", NoAttrs())); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, HTML2) { | TEST_F(CommentParserTest, HTML2) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// <br/>", | "// <br/>", | ||||
"// <br />" | "// <br />" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
HTMLStartTagComment *HST; | HTMLStartTagComment *HST; | ||||
ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ||||
ASSERT_TRUE(HasChildCount(PC, 2)); | ASSERT_TRUE(HasChildCount(PC, 2)); | ||||
ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ||||
ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "br", SelfClosing())); | ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "br", SelfClosing())); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, HTML3) { | TEST_F(CommentParserTest, HTML3) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// <a href", | "// <a href", | ||||
"// <a href ", | "// <a href ", | ||||
"// <a href>", | "// <a href>", | ||||
"// <a href >", | "// <a href >", | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
HTMLStartTagComment *HST; | HTMLStartTagComment *HST; | ||||
ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ||||
ASSERT_TRUE(HasChildCount(PC, 2)); | ASSERT_TRUE(HasChildCount(PC, 2)); | ||||
ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ||||
ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", "href", "")); | ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", "href", "")); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, HTML4) { | TEST_F(CommentParserTest, HTML4) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// <a href=\"bbb\"", | "// <a href=\"bbb\"", | ||||
"// <a href=\"bbb\">", | "// <a href=\"bbb\">", | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
HTMLStartTagComment *HST; | HTMLStartTagComment *HST; | ||||
ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ||||
ASSERT_TRUE(HasChildCount(PC, 2)); | ASSERT_TRUE(HasChildCount(PC, 2)); | ||||
ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ASSERT_TRUE(HasTextAt(PC, 0, " ")); | ||||
ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", "href", "bbb")); | ASSERT_TRUE(HasHTMLStartTagAt(PC, 1, HST, "a", "href", "bbb")); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, HTML5) { | TEST_F(CommentParserTest, HTML5) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// </a", | "// </a", | ||||
"// </a>", | "// </a>", | ||||
"// </a >" | "// </a >" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
HTMLEndTagComment *HET; | HTMLEndTagComment *HET; | ||||
ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ASSERT_TRUE(GetChildAt(FC, 0, PC)); | ||||
▲ Show 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | const char *Sources[] = { | ||||
"// Aaa\n" | "// Aaa\n" | ||||
"//\\endverbatim\n", | "//\\endverbatim\n", | ||||
"/*\\verbatim\n" | "/*\\verbatim\n" | ||||
" * Aaa\n" | " * Aaa\n" | ||||
" *\\endverbatim*/" | " *\\endverbatim*/" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 1)); | ASSERT_TRUE(HasChildCount(FC, 1)); | ||||
{ | { | ||||
VerbatimBlockComment *VBC; | VerbatimBlockComment *VBC; | ||||
ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 0, VBC, | ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 0, VBC, | ||||
"verbatim", "endverbatim", | "verbatim", "endverbatim", | ||||
Lines(), " Aaa")); | Lines(), " Aaa")); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, VerbatimBlock6) { | TEST_F(CommentParserTest, VerbatimBlock6) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// \\verbatim\n" | "// \\verbatim\n" | ||||
"// Aaa\n" | "// Aaa\n" | ||||
"// \\endverbatim\n", | "// \\endverbatim\n", | ||||
"/* \\verbatim\n" | "/* \\verbatim\n" | ||||
" * Aaa\n" | " * Aaa\n" | ||||
" * \\endverbatim*/" | " * \\endverbatim*/" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
VerbatimBlockComment *VBC; | VerbatimBlockComment *VBC; | ||||
ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ||||
"verbatim", "endverbatim", | "verbatim", "endverbatim", | ||||
Show All 10 Lines | const char *Sources[] = { | ||||
"// \\endverbatim\n", | "// \\endverbatim\n", | ||||
"/* \\verbatim\n" | "/* \\verbatim\n" | ||||
" * Aaa\n" | " * Aaa\n" | ||||
" * Bbb\n" | " * Bbb\n" | ||||
" * \\endverbatim*/" | " * \\endverbatim*/" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
VerbatimBlockComment *VBC; | VerbatimBlockComment *VBC; | ||||
ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ||||
"verbatim", "endverbatim", | "verbatim", "endverbatim", | ||||
Show All 11 Lines | const char *Sources[] = { | ||||
"// \\endverbatim\n", | "// \\endverbatim\n", | ||||
"/* \\verbatim\n" | "/* \\verbatim\n" | ||||
" * Aaa\n" | " * Aaa\n" | ||||
" *\n" | " *\n" | ||||
" * Bbb\n" | " * Bbb\n" | ||||
" * \\endverbatim*/" | " * \\endverbatim*/" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
VerbatimBlockComment *VBC; | VerbatimBlockComment *VBC; | ||||
ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ASSERT_TRUE(HasVerbatimBlockAt(FC, Traits, 1, VBC, | ||||
"verbatim", "endverbatim")); | "verbatim", "endverbatim")); | ||||
ASSERT_EQ(3U, VBC->getNumLines()); | ASSERT_EQ(3U, VBC->getNumLines()); | ||||
ASSERT_EQ(" Aaa", VBC->getText(0)); | ASSERT_EQ(" Aaa", VBC->getText(0)); | ||||
ASSERT_EQ("", VBC->getText(1)); | ASSERT_EQ("", VBC->getText(1)); | ||||
ASSERT_EQ(" Bbb", VBC->getText(2)); | ASSERT_EQ(" Bbb", VBC->getText(2)); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, VerbatimLine1) { | TEST_F(CommentParserTest, VerbatimLine1) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"// \\fn", | "// \\fn", | ||||
"// \\fn\n" | "// \\fn\n" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
VerbatimLineComment *VLC; | VerbatimLineComment *VLC; | ||||
ASSERT_TRUE(HasVerbatimLineAt(FC, Traits, 1, VLC, "fn", "")); | ASSERT_TRUE(HasVerbatimLineAt(FC, Traits, 1, VLC, "fn", "")); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, VerbatimLine2) { | TEST_F(CommentParserTest, VerbatimLine2) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"/// \\fn void *foo(const char *zzz = \"\\$\");\n//", | "/// \\fn void *foo(const char *zzz = \"\\$\");\n//", | ||||
"/** \\fn void *foo(const char *zzz = \"\\$\");*/" | "/** \\fn void *foo(const char *zzz = \"\\$\");*/" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
VerbatimLineComment *VLC; | VerbatimLineComment *VLC; | ||||
ASSERT_TRUE(HasVerbatimLineAt(FC, Traits, 1, VLC, "fn", | ASSERT_TRUE(HasVerbatimLineAt(FC, Traits, 1, VLC, "fn", | ||||
" void *foo(const char *zzz = \"\\$\");")); | " void *foo(const char *zzz = \"\\$\");")); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
TEST_F(CommentParserTest, Deprecated) { | TEST_F(CommentParserTest, Deprecated) { | ||||
const char *Sources[] = { | const char *Sources[] = { | ||||
"/** @deprecated*/", | "/** @deprecated*/", | ||||
"/// @deprecated\n" | "/// @deprecated\n" | ||||
}; | }; | ||||
for (size_t i = 0, e = array_lengthof(Sources); i != e; i++) { | for (size_t i = 0, e = std::size(Sources); i != e; i++) { | ||||
FullComment *FC = parseString(Sources[i]); | FullComment *FC = parseString(Sources[i]); | ||||
ASSERT_TRUE(HasChildCount(FC, 2)); | ASSERT_TRUE(HasChildCount(FC, 2)); | ||||
ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ASSERT_TRUE(HasParagraphCommentAt(FC, 0, " ")); | ||||
{ | { | ||||
BlockCommandComment *BCC; | BlockCommandComment *BCC; | ||||
ParagraphComment *PC; | ParagraphComment *PC; | ||||
ASSERT_TRUE(HasBlockCommandAt(FC, Traits, 1, BCC, "deprecated", PC)); | ASSERT_TRUE(HasBlockCommandAt(FC, Traits, 1, BCC, "deprecated", PC)); | ||||
Show All 10 Lines |