summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rtemsspec/content.py5
-rw-r--r--rtemsspec/tests/test_content_c.py22
2 files changed, 26 insertions, 1 deletions
diff --git a/rtemsspec/content.py b/rtemsspec/content.py
index 131f8fec..5e8da8b6 100644
--- a/rtemsspec/content.py
+++ b/rtemsspec/content.py
@@ -651,7 +651,10 @@ class CContent(Content):
def open_defgroup_block(self, identifier: str, name: str) -> None:
""" Opens a Doxygen @defgroup comment block. """
- self._open_comment_block(["/**", f" * @defgroup {identifier} {name}"])
+ defgroup = [f" * @defgroup {identifier} {name}"]
+ if len(self._indent) + len(defgroup[0]) > 79:
+ defgroup = [f" * @defgroup {identifier} \\", f" * {name}"]
+ self._open_comment_block(["/**"] + defgroup)
self.gap = True
def open_function_block(self, function: str) -> None:
diff --git a/rtemsspec/tests/test_content_c.py b/rtemsspec/tests/test_content_c.py
index 5cf3702e..8a24cafa 100644
--- a/rtemsspec/tests/test_content_c.py
+++ b/rtemsspec/tests/test_content_c.py
@@ -455,6 +455,28 @@ b
"""
+def test_defgroup():
+ content = CContent()
+ with content.defgroup_block("a", "b"):
+ content.add("c")
+ assert str(content) == """/**
+ * @defgroup a b
+ *
+ * c
+ */
+"""
+ content = CContent()
+ with content.defgroup_block(
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"):
+ pass
+ assert str(content) == """/**
+ * @defgroup aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\
+ * bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ */
+"""
+
+
def test_prepend_copyrights_and_licenses():
content = CContent()
content.add("x")