Ensure empty line before code and math blocks in doxygen pydoc
Sphinx requires an empty line before code and math blocks, whereas doxygen does not. This update ensures that a blank line is included before generated code and math blocks in the pydoc output. This is done by post-processing the docstring line by line to check whether any newlines need to be added. This way, if the original doxygen source already includes an empty line before a block, an additional unnecessary empty line is not added. Updating the expected test output for doxygen_basic_translate, which now adds the necessary empty line before the code block. Adding further test cases to doxygen_translate_all_tags to explicitly verify that a newline is added in the pydoc output before both code and math blocks that appear within a paragraph. Additionally, empty lines previously appearing at the beginning of the generated docstrings are now removed. This does not alter the behavior of the tests.
This commit is contained in:
parent
3476565665
commit
daad5d664d
6 changed files with 75 additions and 6 deletions
|
|
@ -38,6 +38,10 @@
|
|||
* \cite citationword
|
||||
* \class someClass headerFile.h headerName
|
||||
* \code some test code \endcode
|
||||
*
|
||||
* Code immediately following text. Pydoc translation must add an
|
||||
* empty line before:
|
||||
* \code more test code \endcode
|
||||
*/
|
||||
void func01(int a)
|
||||
{
|
||||
|
|
@ -121,6 +125,12 @@ void func03(int a)
|
|||
* \sqrt{(x_2-x_1)^2+(y_2-y_1)^2}
|
||||
* \f}
|
||||
*
|
||||
* Math immediately following text. Pydoc translation must add an
|
||||
* empty line before:
|
||||
* \f[
|
||||
* \sqrt{(x_2-x_1)^2+(y_2-y_1)^2}
|
||||
* \f]
|
||||
*
|
||||
* \file file.h
|
||||
*
|
||||
* \fn someFn
|
||||
|
|
|
|||
|
|
@ -40,7 +40,10 @@ public class doxygen_translate_all_tags_runme {
|
|||
" Not everything works right now...\n" +
|
||||
" <code>codeword</code>\n\n\n\n\n\n" +
|
||||
" <i>citationword</i>\n" +
|
||||
" {@code some test code }\n");
|
||||
" {@code some test code }\n\n" +
|
||||
" Code immediately following text. Pydoc translation must add an\n" +
|
||||
" empty line before:\n" +
|
||||
" {@code more test code }");
|
||||
|
||||
wantedComments.put("doxygen_translate_all_tags.doxygen_translate_all_tags.func02(int)",
|
||||
" Conditional comment: SOMECONDITION \n" +
|
||||
|
|
@ -63,8 +66,11 @@ public class doxygen_translate_all_tags_runme {
|
|||
" @exception SuperError \n" +
|
||||
" \\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \n" +
|
||||
" \\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \n" +
|
||||
" \\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \n" +
|
||||
" This will only appear in hmtl \n");
|
||||
" \\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \n\n" +
|
||||
"Math immediately following text. Pydoc translation must add an\n" +
|
||||
"empty line before:\n\n" +
|
||||
" \\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\n" +
|
||||
" This will only appear in hmtl \n");
|
||||
|
||||
wantedComments.put("doxygen_translate_all_tags.doxygen_translate_all_tags.func05(int)",
|
||||
" If: ANOTHERCONDITION {\n" +
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ Title: Minuses:
|
|||
* it\'s null
|
||||
|
||||
Warning: This may not work as expected
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int main() { while(true); }
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ Title: Minuses:
|
|||
* it\'s null
|
||||
|
||||
Warning: This may not work as expected
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int main() { while(true); }
|
||||
|
|
|
|||
|
|
@ -36,7 +36,14 @@ Not everything works right now...
|
|||
|
||||
.. code-block:: c++
|
||||
|
||||
some test code""")
|
||||
some test code
|
||||
|
||||
Code immediately following text. Pydoc translation must add an
|
||||
empty line before:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
more test code""")
|
||||
|
||||
comment_verifier.check(inspect.getdoc(doxygen_translate_all_tags.func02),
|
||||
r"""Conditional comment: SOMECONDITION
|
||||
|
|
@ -97,6 +104,13 @@ r""":raises: SuperError
|
|||
|
||||
\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}
|
||||
|
||||
Math immediately following text. Pydoc translation must add an
|
||||
empty line before:
|
||||
|
||||
.. math::
|
||||
|
||||
\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue