assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
out.parsed = out.parsed[3:-4]
- # Sane behavior otherwise
+ # Sane behavior otherwise. Well, no. I give up.
else:
- assert not has_block_elements and paragraph_count <= 1
-
- if paragraph_count == 1:
- assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
- out.parsed = out.parsed[3:-4]
+ # In 1.8.15 if @brief is followed by an @ingroup, then the
+ # immediately following paragraph gets merged with it for some
+ # freaking reason.
+ if paragraph_count > 1:
+ logging.warning("{}: brief description containing multiple paragraphs, possibly due to @ingroup following a @brief. That's not supported, ignoring the whole contents of {}".format(state.current, out.parsed))
+ out.parsed = ''
+ else:
+ assert not has_block_elements and paragraph_count <= 1
+ if paragraph_count == 1:
+ assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
+ out.parsed = out.parsed[3:-4]
# Strip superfluous <p> for simple elments (list items, parameter and
# return value description, table cells), but only if there is just a
--- /dev/null
+INPUT = File.h
+QUIET = YES
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+XML_PROGRAMLISTING = NO
+
+##! M_PAGE_FINE_PRINT =
+##! M_THEME_COLOR =
+##! M_FAVICON =
+##! M_LINKS_NAVBAR1 =
+##! M_LINKS_NAVBAR2 =
+##! M_SEARCH_DISABLED = YES
+
--- /dev/null
+/** @defgroup thatgroup This is a group */
+
+/**
+@brief Function that's in a group
+@ingroup thatgroup
+
+Lines of detailed description that get merged to the brief for no freaking
+reason.
+*/
+void foo();
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>This is a group module | My Project</title>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
+ <link rel="stylesheet" href="m-dark+doxygen.compiled.css" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+</head>
+<body>
+<header><nav id="navigation">
+ <div class="m-container">
+ <div class="m-row">
+ <a href="index.html" id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m">My Project</a>
+ </div>
+ </div>
+</nav></header>
+<main><article>
+ <div class="m-container m-container-inflatable">
+ <div class="m-row">
+ <div class="m-col-l-10 m-push-l-1">
+ <h1>
+ This is a group <span class="m-thin">module</span></h1>
+ </div>
+ </div>
+ </div>
+</article></main>
+</body>
+</html>
def test_warnings(self):
self.run_dox2html5(wildcard='warnings.xml')
self.assertEqual(*self.actual_expected_contents('warnings.html'))
+
+class BriefMultilineIngroup(IntegrationTestCase):
+ def __init__(self, *args, **kwargs):
+ super().__init__(__file__, 'brief_multiline_ingroup', *args, **kwargs)
+
+ def test(self):
+ self.run_dox2html5(wildcard='group__thatgroup.xml')
+ self.assertEqual(*self.actual_expected_contents('group__thatgroup.html'))