File remove_sphinx_testing.patch of Package python-sphinxcontrib-actdiag

---
 tests/conftest.py    |   10 +
 tests/test_basic.py  |   22 +--
 tests/test_errors.py |   24 +--
 tests/test_html.py   |   64 ++++-----
 tests/test_latex.py  |  329 +++++++++++++++++++++++++--------------------------
 5 files changed, 228 insertions(+), 221 deletions(-)

--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,10 @@
+import pytest
+
+from sphinx.testing.path import path
+
+pytest_plugins = 'sphinx.testing.fixtures'
+
+
+@pytest.fixture(scope='session')
+def rootdir():
+    return path(__file__).parent.abspath() / 'docs'
\ No newline at end of file
--- a/tests/test_basic.py
+++ b/tests/test_basic.py
@@ -1,28 +1,28 @@
 # -*- coding: utf-8 -*-
 
-from sphinx_testing import with_app
+import pytest
 
 
-@with_app(buildername='html', srcdir='tests/docs/basic/')
+@pytest.mark.sphinx(buildername='html', testroot='basic/')
 def test_build_html(app, status, warning):
-    app.builder.build_all()
+    app.build()
 
 
-@with_app(buildername='singlehtml', srcdir='tests/docs/basic/')
+@pytest.mark.sphinx(buildername='singlehtml', testroot='basic/')
 def test_build_singlehtml(app, status, warning):
-    app.builder.build_all()
+    app.build()
 
 
-@with_app(buildername='latex', srcdir='tests/docs/basic/')
+@pytest.mark.sphinx(buildername='latex', testroot='basic/')
 def test_build_latex(app, status, warning):
-    app.builder.build_all()
+    app.build()
 
 
-@with_app(buildername='epub', srcdir='tests/docs/basic/')
+@pytest.mark.sphinx(buildername='epub', testroot='basic/')
 def test_build_epub(app, status, warning):
-    app.builder.build_all()
+    app.build()
 
 
-@with_app(buildername='json', srcdir='tests/docs/basic/')
+@pytest.mark.sphinx(buildername='json', testroot='basic/')
 def test_build_json(app, status, warning):
-    app.builder.build_all()
+    app.build()
--- a/tests/test_errors.py
+++ b/tests/test_errors.py
@@ -1,29 +1,29 @@
 # -*- coding: utf-8 -*-
 
-from mock import patch
-from sphinx_testing import with_app
+from unittest.mock import patch
 
 import sys
 import unittest
+import pytest
 
 
 class TestSphinxcontribActdiagErrors(unittest.TestCase):
-    @with_app(srcdir='tests/docs/basic', write_docstring=True)
+    @pytest.mark.sphinx(testroot='basic', write_docstring=True)
     def test_parse_error(self, app, status, warning):
         """
         .. actdiag::
 
            { A -> B;
         """
-        app.builder.build_all()
+        app.build()
         self.assertIn('got unexpected token:', warning.getvalue())
 
-    @with_app(srcdir='tests/docs/basic', confoverrides=dict(actdiag_html_image_format='JPG'))
+    @pytest.mark.sphinx(testroot='basic', confoverrides=dict(actdiag_html_image_format='JPG'))
     def test_unknown_format_error(self, app, status, warning):
-        app.builder.build_all()
+        app.build()
         self.assertIn('unknown format: JPG', warning.getvalue())
 
-    @with_app(srcdir='tests/docs/basic', confoverrides=dict(actdiag_html_image_format='PDF'))
+    @pytest.mark.sphinx(testroot='basic', confoverrides=dict(actdiag_html_image_format='PDF'))
     def test_reportlab_not_found_error(self, app, status, warning):
         try:
             # unload reportlab and make loading it impossible
@@ -31,23 +31,23 @@ class TestSphinxcontribActdiagErrors(uni
             path = sys.path
             sys.path = []
 
-            app.builder.build_all()
+            app.build()
             self.assertIn('Could not output PDF format. Install reportlab.',
                           warning.getvalue())
         finally:
             sys.path = path
 
-    @with_app(srcdir='tests/docs/basic')
+    @pytest.mark.sphinx(testroot='basic')
     @patch("actdiag.utils.rst.nodes.actdiag.processor.drawer.DiagramDraw")
     def test_rendering_error(self, app, status, warning, DiagramDraw):
         DiagramDraw.side_effect = RuntimeError("UNKNOWN ERROR!")
-        app.builder.build_all()
+        app.build()
         self.assertIn('UNKNOWN ERROR!', warning.getvalue())
 
-    @with_app(srcdir='tests/docs/basic')
+    @pytest.mark.sphinx(testroot='basic')
     @patch("sphinxcontrib.actdiag.actdiag.drawer.DiagramDraw.draw")
     def test_font_settings_error(self, app, status, warning, draw):
         draw.side_effect = UnicodeEncodeError("", "", 0, 0, "")
-        app.builder.build_all()
+        app.build()
         self.assertIn('UnicodeEncodeError caught (check your font settings)',
                       warning.getvalue())
--- a/tests/test_html.py
+++ b/tests/test_html.py
@@ -1,13 +1,11 @@
 # -*- coding: utf-8 -*-
-
-from sphinx_testing import with_app
-
 import unittest
+import pytest
 
-with_png_app = with_app(srcdir='tests/docs/basic',
+with_png_app = pytest.mark.sphinx(testroot='basic',
                         buildername='html',
                         write_docstring=True)
-with_svg_app = with_app(srcdir='tests/docs/basic',
+with_svg_app = pytest.mark.sphinx(testroot='basic',
                         buildername='html',
                         write_docstring=True,
                         confoverrides={
@@ -23,19 +21,19 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<img .*? src="_images/.*?.png" .*?/></div>'))
 
-    @with_app(srcdir='tests/docs/subdir', buildername='html', write_docstring=True)
+    @pytest.mark.sphinx(testroot='subdir', buildername='html', write_docstring=True)
     def test_build_png_image_in_subdir(self, app, status, warning):
         """
         .. actdiag::
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'subdir' / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<img .*? src="\.\./_images/.*?.png" .*?/></div>'))
@@ -48,7 +46,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -62,7 +60,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -77,7 +75,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -91,7 +89,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -106,7 +104,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -120,7 +118,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-center"><img .*? /></div>')
 
@@ -133,7 +131,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-center">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -147,7 +145,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-default"><img .*? id="target" src=".*?" .*? /></div>')
 
@@ -160,7 +158,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -175,7 +173,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = 'http://blockdiag.com/'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<a class="reference internal image-reference" href="(.*?.png)">'
@@ -197,7 +195,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`target`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default"><map name="(map_\d+)">'
                                           r'<area shape="rect" coords="64.0,120.0,192.0,160.0" href="#target"></map>'
@@ -216,7 +214,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`hello world`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default"><map name="(map_\d+)">'
                                           r'<area shape="rect" coords="64.0,120.0,192.0,160.0" href="#hello-world">'
@@ -230,7 +228,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`unknown_target`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-default"><img .*? src=".*?.png" .*?/></div>')
         self.assertIn('undefined label: unknown_target', warning.getvalue())
@@ -242,7 +240,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-default"><svg .*?>')
 
@@ -254,7 +252,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<svg height="140.0" viewBox="0 0 256 280" width="128.0" .*?>'))
@@ -267,7 +265,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<svg height="140.0" viewBox="0 0 256 280" width="128.0" .*?>'))
@@ -281,7 +279,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<svg height="200.0" viewBox="0 0 256 280" width="100.0" .*?>'))
@@ -294,7 +292,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<svg height="70.0" viewBox="0 0 256 280" width="64.0" .*?>'))
@@ -308,7 +306,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, (r'<div class="align-default">'
                                           r'<svg height="7.65625" viewBox="0 0 256 280" width="7.0" .*?>'))
@@ -321,7 +319,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-center"><svg .*?>')
 
@@ -333,7 +331,7 @@ class TestSphinxcontribActdiagHTML(unitt
 
            A -> B;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<div class="align-default"><span id="target"></span><svg .*?>')
 
@@ -350,7 +348,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`target`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<a xlink:href="#target">\n\s*<rect .*?>\n\s*</a>')
 
@@ -367,7 +365,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`hello world`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<a xlink:href="#hello-world">\n\s*<rect .*?>\n\s*</a>')
 
@@ -379,7 +377,7 @@ class TestSphinxcontribActdiagHTML(unitt
            A -> B;
            A [href = ':ref:`unknown_target`'];
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertNotRegex(source, r'<a xlink:href="#hello-world">\n\s*<rect .*?>\n\s*</a>')
         self.assertIn('undefined label: unknown_target', warning.getvalue())
@@ -400,6 +398,6 @@ class TestSphinxcontribActdiagHTML(unitt
            class foo [color = red];
            A_foo;
         """
-        app.builder.build_all()
+        app.build()
         source = (app.outdir / 'index.html').read_text(encoding='utf-8')
         self.assertRegexpMatches(source, r'<text[^>]+>A_foo</text>')  # 2nd diagram has a node labeled 'A_foo'.
--- a/tests/test_latex.py
+++ b/tests/test_latex.py
@@ -2,20 +2,20 @@
 
 import os
 import re
-from sphinx_testing import with_app
 
 import unittest
+import pytest
 
 CR = '\r?\n'
 
 actdiag_fontpath = '/usr/share/fonts/truetype/ipafont/ipagp.ttf'
-with_png_app = with_app(srcdir='tests/docs/basic',
+with_png_app = pytest.mark.sphinx(testroot='basic',
                         buildername='latex',
                         write_docstring=True,
                         confoverrides={
                             'latex_documents': [('index', 'test.tex', '', 'test', 'manual')],
                         })
-with_pdf_app = with_app(srcdir='tests/docs/basic',
+with_pdf_app = pytest.mark.sphinx(testroot='basic',
                         buildername='latex',
                         write_docstring=True,
                         confoverrides={
@@ -23,7 +23,7 @@ with_pdf_app = with_app(srcdir='tests/do
                             'actdiag_latex_image_format': 'PDF',
                             'actdiag_fontpath': actdiag_fontpath,
                         })
-with_oldpdf_app = with_app(srcdir='tests/docs/basic',
+with_oldpdf_app = pytest.mark.sphinx(testroot='basic',
                            buildername='latex',
                            write_docstring=True,
                            confoverrides={
@@ -33,164 +33,163 @@ with_oldpdf_app = with_app(srcdir='tests
                            })
 
 
-class TestSphinxcontribActdiagLatex(unittest.TestCase):
-    @with_png_app
-    def test_build_png_image(self, app, status, warning):
-        """
-        .. actdiag::
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics{{actdiag-.*?}.png}')
-
-    @unittest.skipUnless(os.path.exists(actdiag_fontpath), "TrueType font not found")
-    @with_pdf_app
-    def test_build_pdf_image1(self, app, status, warning):
-        """
-        .. actdiag::
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics{{actdiag-.*?}.pdf}')
-
-    @unittest.skipUnless(os.path.exists(actdiag_fontpath), "TrueType font not found")
-    @with_oldpdf_app
-    def test_build_pdf_image2(self, app, status, warning):
-        """
-        .. actdiag::
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics{{actdiag-.*?}.pdf}')
-
-    @with_png_app
-    def test_width_option(self, app, status, warning):
-        """
-        .. actdiag::
-           :width: 3cm
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics\[width=3cm\]{{actdiag-.*?}.png}')
-
-    @with_png_app
-    def test_height_option(self, app, status, warning):
-        """
-        .. actdiag::
-           :height: 4cm
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics\[height=4cm\]{{actdiag-.*?}.png}')
-
-    @with_png_app
-    def test_scale_option(self, app, status, warning):
-        """
-        .. actdiag::
-           :scale: 50%
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics\[scale=0.5\]{{actdiag-.*?}.png}')
-
-    @with_png_app
-    def test_align_option_left(self, app, status, warning):
-        """
-        .. actdiag::
-           :align: left
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, (r'{\\sphinxincludegraphics{{actdiag-.*?}.png}'
-                                          r'\\hspace\*{\\fill}}'))
-
-    @with_png_app
-    def test_align_option_center(self, app, status, warning):
-        """
-        .. actdiag::
-           :align: center
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, (r'{\\hspace\*{\\fill}'
-                                          r'\\sphinxincludegraphics{{actdiag-.*?}.png}'
-                                          r'\\hspace\*{\\fill}}'))
-
-    @with_png_app
-    def test_align_option_right(self, app, status, warning):
-        """
-        .. actdiag::
-           :align: right
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, (r'{\\hspace\*{\\fill}'
-                                          r'\\sphinxincludegraphics{{actdiag-.*?}.png}'))
-
-    @with_png_app
-    def test_caption_option(self, app, status, warning):
-        """
-        .. actdiag::
-           :caption: hello world
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-
-        figure = re.compile((r'\\begin{figure}\[htbp\]' + CR +
-                             r'\\centering' + CR +
-                             r'\\capstart' + CR + CR +
-                             r'\\noindent\\sphinxincludegraphics{{actdiag-.*?}.png}' + CR +
-                             r'\\caption{hello world}\\label{\\detokenize{index:id1}}\\end{figure}'),
-                            re.DOTALL)
-        self.assertRegexpMatches(source, figure)
-
-    @with_png_app
-    def test_caption_option_and_align_option(self, app, status, warning):
-        """
-        .. actdiag::
-           :align: left
-           :caption: hello world
-
-           A -> B;
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-
-        figure = re.compile((r'\\begin{wrapfigure}{l}{0pt}' + CR +
-                             r'\\centering' + CR +
-                             r'\\noindent\\sphinxincludegraphics{{actdiag-.*?}.png}' + CR +
-                             r'\\caption{hello world}\\label{\\detokenize{index:id1}}\\end{wrapfigure}'),
-                            re.DOTALL)
-        self.assertRegexpMatches(source, figure)
-
-    @with_png_app
-    def test_href(self, app, status, warning):
-        """
-        .. actdiag::
-
-           A -> B;
-           A [href=":ref:`target`"];
-        """
-        app.builder.build_all()
-        source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
-        self.assertRegexpMatches(source, r'\\sphinxincludegraphics{{actdiag-.*?}.png}')
+@with_png_app
+def test_build_png_image(app, status, warning):
+    """
+    .. actdiag::
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics{{actdiag-.*?}.png}', source)
+
+@unittest.skipUnless(os.path.exists(actdiag_fontpath), "TrueType font not found")
+@with_pdf_app
+def test_build_pdf_image1(app, status, warning):
+    """
+    .. actdiag::
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics{{actdiag-.*?}.pdf}', source)
+
+@unittest.skipUnless(os.path.exists(actdiag_fontpath), "TrueType font not found")
+@with_oldpdf_app
+def test_build_pdf_image2(app, status, warning):
+    """
+    .. actdiag::
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics{{actdiag-.*?}.pdf}', source)
+
+@with_png_app
+def test_width_option(app, status, warning):
+    """
+    .. actdiag::
+       :width: 3cm
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics\[width=3cm\]{{actdiag-.*?}.png}', source)
+
+@with_png_app
+def test_height_option(app, status, warning):
+    """
+    .. actdiag::
+       :height: 4cm
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics\[height=4cm\]{{actdiag-.*?}.png}', source)
+
+@with_png_app
+def test_scale_option(app, status, warning):
+    """
+    .. actdiag::
+       :scale: 50%
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics\[scale=0.5\]{{actdiag-.*?}.png}', source)
+
+@with_png_app
+def test_align_option_left(app, status, warning):
+    """
+    .. actdiag::
+       :align: left
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search((r'{\\sphinxincludegraphics{{actdiag-.*?}.png}'
+                                      r'\\hspace\*{\\fill}}'), source)
+
+@with_png_app
+def test_align_option_center(app, status, warning):
+    """
+    .. actdiag::
+       :align: center
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search((r'{\\hspace\*{\\fill}'
+                                      r'\\sphinxincludegraphics{{actdiag-.*?}.png}'
+                                      r'\\hspace\*{\\fill}}'), source)
+
+@with_png_app
+def test_align_option_right(app, status, warning):
+    """
+    .. actdiag::
+       :align: right
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search((r'{\\hspace\*{\\fill}'
+                                      r'\\sphinxincludegraphics{{actdiag-.*?}.png}'), source)
+
+@with_png_app
+def test_caption_option(app, status, warning):
+    """
+    .. actdiag::
+       :caption: hello world
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+
+    figure = re.compile((r'\\begin{figure}\[htbp\]' + CR +
+                         r'\\centering' + CR +
+                         r'\\capstart' + CR + CR +
+                         r'\\noindent\\sphinxincludegraphics{{actdiag-.*?}.png}' + CR +
+                         r'\\caption{hello world}\\label{\\detokenize{index:id1}}\\end{figure}'),
+                        re.DOTALL)
+    assert re.search(figure, source)
+
+@with_png_app
+def test_caption_option_and_align_option(app, status, warning):
+    """
+    .. actdiag::
+       :align: left
+       :caption: hello world
+
+       A -> B;
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+
+    figure = re.compile((r'\\begin{wrapfigure}{l}{0pt}' + CR +
+                         r'\\centering' + CR +
+                         r'\\noindent\\sphinxincludegraphics{{actdiag-.*?}.png}' + CR +
+                         r'\\caption{hello world}\\label{\\detokenize{index:id1}}\\end{wrapfigure}'),
+                        re.DOTALL)
+    assert re.search(figure, source)
+
+@with_png_app
+def test_href(app, status, warning):
+    """
+    .. actdiag::
+
+       A -> B;
+       A [href=":ref:`target`"];
+    """
+    app.build()
+    source = (app.outdir / 'test.tex').read_text(encoding='utf-8')
+    assert re.search(r'\\sphinxincludegraphics{{actdiag-.*?}.png}', source)
openSUSE Build Service is sponsored by