Test multiple directives#316
Merged
bsipocz merged 4 commits intoscientific-python:mainfrom Jan 8, 2026
Merged
Conversation
When there are two directives in series, the first one will not have any content. As a result, self.content[0] will raise an error.
DoctestSkipDirective inherits from SphinxDirective, which does not render empty blocks when content is empty.
Contributor
|
Looks pretty clean but I'll give others a chance to review. Thanks! Could use change log in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Following #219, this PR adds tests for two directives in series. For example:
Currently this example will fail building with Sphinx with the same error as shown in #219 (i.e., it was not fixed by #311). The error arises because
.. doctest-requiresin the above example has no content following it, so indexingself.contentin itsrun()fails:In this PR, I've added a test in the if statement to first require
len(self.content) > 0before testing for "win32", but the rendered documentation does not look good. There are empty code blocks added for each "empty" doctestplus directive:Recognizing that Sphinx directives in series do have have this problem, I tried sub-classing from
SphinxDirectiveand the result looks good:I don't know if you want to take that direction, but I figured that this PR could at least show a possible solution.