diff options
Diffstat (limited to 'tests/roots/test-ext-imgmockconverter')
5 files changed, 57 insertions, 0 deletions
diff --git a/tests/roots/test-ext-imgmockconverter/1/svgimg.svg b/tests/roots/test-ext-imgmockconverter/1/svgimg.svg new file mode 100644 index 0000000..981e301 --- /dev/null +++ b/tests/roots/test-ext-imgmockconverter/1/svgimg.svg @@ -0,0 +1,3 @@ +<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <circle cx="50" cy="50" r="50" /> +</svg> diff --git a/tests/roots/test-ext-imgmockconverter/2/svgimg.svg b/tests/roots/test-ext-imgmockconverter/2/svgimg.svg new file mode 100644 index 0000000..2bae0b9 --- /dev/null +++ b/tests/roots/test-ext-imgmockconverter/2/svgimg.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="60" width="60"> + <circle cx="40" cy="40" r="24" style="stroke:#000000; fill:#ffffff"/> +</svg> diff --git a/tests/roots/test-ext-imgmockconverter/conf.py b/tests/roots/test-ext-imgmockconverter/conf.py new file mode 100644 index 0000000..679bb5a --- /dev/null +++ b/tests/roots/test-ext-imgmockconverter/conf.py @@ -0,0 +1,5 @@ +import os +import sys + +sys.path.insert(0, os.path.abspath('.')) +extensions = ['mocksvgconverter'] diff --git a/tests/roots/test-ext-imgmockconverter/index.rst b/tests/roots/test-ext-imgmockconverter/index.rst new file mode 100644 index 0000000..bc665f6 --- /dev/null +++ b/tests/roots/test-ext-imgmockconverter/index.rst @@ -0,0 +1,6 @@ +test-ext-imgconverter +===================== + +.. image:: ./1/svgimg.svg +.. image:: ./2/svgimg.svg + diff --git a/tests/roots/test-ext-imgmockconverter/mocksvgconverter.py b/tests/roots/test-ext-imgmockconverter/mocksvgconverter.py new file mode 100644 index 0000000..43368de --- /dev/null +++ b/tests/roots/test-ext-imgmockconverter/mocksvgconverter.py @@ -0,0 +1,39 @@ +""" + Does foo.svg --> foo.pdf with no change to the file. +""" + +import shutil + +from sphinx.transforms.post_transforms.images import ImageConverter + +if False: + # For type annotation + from typing import Any, Dict # NOQA + + from sphinx.application import Sphinx # NOQA + +class MyConverter(ImageConverter): + conversion_rules = [ + ('image/svg+xml', 'application/pdf'), + ] + + def is_available(self): + # type: () -> bool + return True + + def convert(self, _from, _to): + # type: (unicode, unicode) -> bool + """Mock converts the image from SVG to PDF.""" + shutil.copyfile(_from, _to) + return True + + +def setup(app): + # type: (Sphinx) -> Dict[unicode, Any] + app.add_post_transform(MyConverter) + + return { + 'version': 'builtin', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } |