diff options
Diffstat (limited to 'tests/test_util.py')
-rw-r--r-- | tests/test_util.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/test_util.py b/tests/test_util.py index 1ec283187..ad025a7b3 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -15,9 +15,14 @@ import tempfile import pytest from mock import patch +from six import PY2 + +import sphinx +from sphinx.errors import PycodeError from sphinx.testing.util import strip_escseq from sphinx.util import ( - display_chunk, encode_uri, ensuredir, parselinenos, status_iterator, xmlname_checker + display_chunk, encode_uri, ensuredir, get_module_source, parselinenos, status_iterator, + xmlname_checker ) from sphinx.util import logging @@ -59,6 +64,19 @@ def test_display_chunk(): assert display_chunk(('hello', 'sphinx', 'world')) == 'hello .. world' +def test_get_module_source(): + if PY2: + assert get_module_source('sphinx') == ('file', sphinx.__file__.replace('.pyc', '.py')) + else: + assert get_module_source('sphinx') == ('file', sphinx.__file__) + + # failed to obtain source information from builtin modules + with pytest.raises(PycodeError): + get_module_source('builtins') + with pytest.raises(PycodeError): + get_module_source('itertools') + + @pytest.mark.sphinx('dummy') @patch('sphinx.util.console._tw', 40) # terminal width = 40 def test_status_iterator(app, status, warning): |