summaryrefslogtreecommitdiff
path: root/tests/test_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util.py')
-rw-r--r--tests/test_util.py20
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):