summaryrefslogtreecommitdiffstats
path: root/tests/test_ext_imgconverter.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_ext_imgconverter.py')
-rw-r--r--tests/test_ext_imgconverter.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_ext_imgconverter.py b/tests/test_ext_imgconverter.py
new file mode 100644
index 0000000..8b938a0
--- /dev/null
+++ b/tests/test_ext_imgconverter.py
@@ -0,0 +1,35 @@
+"""Test sphinx.ext.imgconverter extension."""
+
+import subprocess
+from subprocess import PIPE
+
+import pytest
+
+
+@pytest.fixture
+def if_converter_found(app):
+ image_converter = getattr(app.config, 'image_converter', '')
+ try:
+ if image_converter:
+ subprocess.run([image_converter, '-version'], stdout=PIPE, stderr=PIPE) # show version
+ return
+ except OSError: # No such file or directory
+ pass
+
+ pytest.skip('image_converter "%s" is not available' % image_converter)
+
+
+@pytest.mark.usefixtures('if_converter_found')
+@pytest.mark.sphinx('latex', testroot='ext-imgconverter')
+def test_ext_imgconverter(app, status, warning):
+ app.builder.build_all()
+
+ content = (app.outdir / 'python.tex').read_text(encoding='utf8')
+
+ # supported image (not converted)
+ assert '\\sphinxincludegraphics{{img}.pdf}' in content
+
+ # non supported image (converted)
+ assert '\\sphinxincludegraphics{{svgimg}.png}' in content
+ assert not (app.outdir / 'svgimg.svg').exists()
+ assert (app.outdir / 'svgimg.png').exists()