From 40bf05b3844cfdc9e219bdd3e4e4b2e5b38c466a Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Thu, 15 Dec 2022 00:50:54 -0500 Subject: [PATCH] Add additional doxygen related testcases to make sure things don't accidentally break --- tests/test_doxygen.py | 69 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 4 deletions(-) diff --git a/tests/test_doxygen.py b/tests/test_doxygen.py index 88824b9..dcc559d 100644 --- a/tests/test_doxygen.py +++ b/tests/test_doxygen.py @@ -209,16 +209,13 @@ def test_doxygen_fn_3slash() -> None: ) -def test_doxygen_fn_cstyle() -> None: +def test_doxygen_fn_cstyle1() -> None: content = """ - // clang-format off - /** * fn comment */ void fn(); - """ 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: content = """ // 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: content = """ /**