Skip to main content

Helpful pytest fixtures for sphinx extensions.

Project description

sphinx-pytest

PyPI

Helpful pytest fixtures for sphinx extensions.

Sphinx is annoying, because the modularity is not great, meaning that there is no real way just to convert single documents in isolation, etc.

This extension mainly provides some pytest fixtures to "simulate" converting some source text to docutils AST at different stages; before transforms, after transforms, etc.

Installation

pip install sphinx-pytest

Examples

from sphinx_pytest.plugin import CreateDoctree

def test_no_transforms(sphinx_doctree_no_tr: CreateDoctree):
    """Return the doctree, before any transforms have been applied."""
    sphinx_doctree_no_tr.set_conf({"language": "en"})
    result = sphinx_doctree_no_transforms(".. _target:\n\nheader\n------\n")
    assert (
        result.pformat()
        == """\
<document source="<src>/index.rst">
    <target ids="target" names="target">
    <section ids="header" names="header">
        <title>
            header
""".rstrip()
    )
def test_with_transforms(sphinx_doctree: CreateDoctree):
    """Return the doctree, after transforms (but not post-transforms)."""
    result = sphinx_doctree(".. _target:\n\nheader\n------\n")
    assert (
        result.pformat()
        == """\
<document source="<src>/index.rst">
    <target refid="target">
    <section ids="header target" names="header target">
        <title>
            header
""".rstrip()
    )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx_pytest-0.2.0.tar.gz (7.1 kB view hashes)

Uploaded Source

Built Distribution

sphinx_pytest-0.2.0-py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page