summaryrefslogtreecommitdiff
path: root/tests/test_util_pycompat.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util_pycompat.py')
-rw-r--r--tests/test_util_pycompat.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/test_util_pycompat.py b/tests/test_util_pycompat.py
new file mode 100644
index 000000000..8dc8a9e34
--- /dev/null
+++ b/tests/test_util_pycompat.py
@@ -0,0 +1,42 @@
+"""
+ test_util_pycompat
+ ~~~~~~~~~~~~~~~~~~
+
+ Tests sphinx.util.pycompat functions.
+
+ :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+import tempfile
+
+from sphinx.testing.util import strip_escseq
+from sphinx.util import logging
+from sphinx.util.pycompat import execfile_
+
+
+def test_execfile_python2(capsys, app, status, warning):
+ logging.setup(app, status, warning)
+
+ ns = {}
+ with tempfile.NamedTemporaryFile() as tmp:
+ tmp.write(b'print "hello"\n')
+ tmp.flush()
+ execfile_(tmp.name, ns)
+ msg = (
+ 'Support for evaluating Python 2 syntax is deprecated '
+ 'and will be removed in Sphinx 4.0. '
+ 'Convert %s to Python 3 syntax.\n' % tmp.name)
+ assert msg in strip_escseq(warning.getvalue())
+ captured = capsys.readouterr()
+ assert captured.out == 'hello\n'
+
+
+def test_execfile(capsys):
+ ns = {}
+ with tempfile.NamedTemporaryFile() as tmp:
+ tmp.write(b'print("hello")\n')
+ tmp.flush()
+ execfile_(tmp.name, ns)
+ captured = capsys.readouterr()
+ assert captured.out == 'hello\n'