Add additional doxygen related testcases to make sure things don't accidentally break

This commit is contained in:
Dustin Spicuzza 2022-12-15 00:50:54 -05:00
parent 2ba5c3c829
commit 40bf05b384

View File

@ -209,16 +209,13 @@ def test_doxygen_fn_3slash() -> None:
) )
def test_doxygen_fn_cstyle() -> None: def test_doxygen_fn_cstyle1() -> None:
content = """ content = """
// clang-format off
/** /**
* fn comment * fn comment
*/ */
void void
fn(); fn();
""" """
data = parse_string(content, cleandoc=True) data = parse_string(content, cleandoc=True)
@ -238,6 +235,32 @@ def test_doxygen_fn_cstyle() -> None:
) )
def test_doxygen_fn_cstyle2() -> None:
content = """
/*!
* fn comment
*/
void
fn();
"""
data = parse_string(content, cleandoc=True)
assert data == ParsedData(
namespace=NamespaceScope(
functions=[
Function(
return_type=Type(
typename=PQName(segments=[FundamentalSpecifier(name="void")])
),
name=PQName(segments=[NameSpecifier(name="fn")]),
parameters=[],
doxygen="/*!\n* fn comment\n*/",
)
]
)
)
def test_doxygen_var_above() -> None: def test_doxygen_var_above() -> None:
content = """ content = """
// clang-format off // clang-format off
@ -292,6 +315,44 @@ def test_doxygen_var_after() -> None:
) )
def test_doxygen_multiple_variables() -> None:
content = """
int x; /// this is x
int y; /// this is y
/// this is also y
int z; /// this is z
"""
data = parse_string(content, cleandoc=True)
assert data == ParsedData(
namespace=NamespaceScope(
variables=[
Variable(
name=PQName(segments=[NameSpecifier(name="x")]),
type=Type(
typename=PQName(segments=[FundamentalSpecifier(name="int")])
),
doxygen="/// this is x",
),
Variable(
name=PQName(segments=[NameSpecifier(name="y")]),
type=Type(
typename=PQName(segments=[FundamentalSpecifier(name="int")])
),
doxygen="/// this is y\n/// this is also y",
),
Variable(
name=PQName(segments=[NameSpecifier(name="z")]),
type=Type(
typename=PQName(segments=[FundamentalSpecifier(name="int")])
),
doxygen="/// this is z",
),
]
)
)
def test_doxygen_namespace() -> None: def test_doxygen_namespace() -> None:
content = """ content = """
/** /**