2021-11-29 15:48:44 -06:00
|
|
|
"""Test sphinx.extension module."""
|
2021-10-06 10:07:17 -05:00
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from sphinx.errors import VersionRequirementError
|
|
|
|
from sphinx.extension import Extension, verify_needs_extensions
|
|
|
|
|
|
|
|
|
2024-08-12 16:34:03 -05:00
|
|
|
@pytest.mark.sphinx('html', testroot='root')
|
2021-10-06 10:07:17 -05:00
|
|
|
def test_needs_extensions(app):
|
|
|
|
# empty needs_extensions
|
|
|
|
assert app.config.needs_extensions == {}
|
|
|
|
verify_needs_extensions(app, app.config)
|
|
|
|
|
|
|
|
# needs_extensions fulfilled
|
|
|
|
app.config.needs_extensions = {'test.extension': '3.9'}
|
2024-08-11 08:58:56 -05:00
|
|
|
app.extensions['test.extension'] = Extension(
|
|
|
|
'test.extension', 'test.extension', version='3.10'
|
|
|
|
)
|
2021-10-06 10:07:17 -05:00
|
|
|
verify_needs_extensions(app, app.config)
|
|
|
|
|
|
|
|
# needs_extensions not fulfilled
|
|
|
|
app.config.needs_extensions = {'test.extension': '3.11'}
|
2024-08-11 08:58:56 -05:00
|
|
|
app.extensions['test.extension'] = Extension(
|
|
|
|
'test.extension', 'test.extension', version='3.10'
|
|
|
|
)
|
2021-10-06 10:07:17 -05:00
|
|
|
with pytest.raises(VersionRequirementError):
|
|
|
|
verify_needs_extensions(app, app.config)
|