sphinx/tests/test_util/test_util_importer.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
872 B
Python
Raw Normal View History

2024-08-11 11:24:26 -05:00
"""Test sphinx.util._importer."""
from __future__ import annotations
2024-08-11 11:24:26 -05:00
import pytest
from sphinx.errors import ExtensionError
from sphinx.util._importer import import_object
def test_import_object():
module = import_object('sphinx')
assert module.__name__ == 'sphinx'
module = import_object('sphinx.application')
assert module.__name__ == 'sphinx.application'
obj = import_object('sphinx.application.Sphinx')
assert obj.__name__ == 'Sphinx'
with pytest.raises(ExtensionError) as exc:
import_object('sphinx.unknown_module')
assert exc.value.args[0] == 'Could not import sphinx.unknown_module'
with pytest.raises(ExtensionError) as exc:
import_object('sphinx.unknown_module', 'my extension')
expected = 'Could not import sphinx.unknown_module (needed for my extension)'
assert exc.value.args[0] == expected