diff --git a/setup.cfg b/setup.cfg index fbdb0f40..ddf3862b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -56,6 +56,7 @@ testing = napari[pyqt5] pytest pytest-cov + pytest-mpl pytest-qt tox pytest-xvfb;sys_platform == 'linux' diff --git a/src/napari_matplotlib/base.py b/src/napari_matplotlib/base.py index a980a834..fcd60c53 100644 --- a/src/napari_matplotlib/base.py +++ b/src/napari_matplotlib/base.py @@ -48,6 +48,7 @@ def __init__(self, napari_viewer: napari.viewer.Viewer): self.viewer = napari_viewer self.canvas = FigureCanvas() + self.canvas.widget = self self.canvas.figure.patch.set_facecolor("none") self.canvas.figure.set_layout_engine("constrained") diff --git a/src/napari_matplotlib/tests/baseline/test_example_q_widget.png b/src/napari_matplotlib/tests/baseline/test_example_q_widget.png new file mode 100644 index 00000000..5b3dcd94 Binary files /dev/null and b/src/napari_matplotlib/tests/baseline/test_example_q_widget.png differ diff --git a/src/napari_matplotlib/tests/conftest.py b/src/napari_matplotlib/tests/conftest.py index 274f1226..f40e5120 100644 --- a/src/napari_matplotlib/tests/conftest.py +++ b/src/napari_matplotlib/tests/conftest.py @@ -1,5 +1,6 @@ import numpy as np import pytest +from skimage import data @pytest.fixture( @@ -11,3 +12,8 @@ ) def image_data(request): return np.ones(request.param[0]), request.param[1] + + +@pytest.fixture +def astronaut_data(): + return data.astronaut(), {"rgb": True} diff --git a/src/napari_matplotlib/tests/test_histogram.py b/src/napari_matplotlib/tests/test_histogram.py index f497a1a9..6468a8a7 100644 --- a/src/napari_matplotlib/tests/test_histogram.py +++ b/src/napari_matplotlib/tests/test_histogram.py @@ -1,8 +1,12 @@ +import pytest + from napari_matplotlib import HistogramWidget -def test_example_q_widget(make_napari_viewer, image_data): +@pytest.mark.mpl_image_compare +def test_example_q_widget(make_napari_viewer, astronaut_data): # Smoke test adding a histogram widget viewer = make_napari_viewer() - viewer.add_image(image_data[0], **image_data[1]) - HistogramWidget(viewer) + viewer.add_image(astronaut_data[0], **astronaut_data[1]) + fig = HistogramWidget(viewer).figure + return fig diff --git a/tox.ini b/tox.ini index 0e084df6..d8d4798a 100644 --- a/tox.ini +++ b/tox.ini @@ -11,4 +11,4 @@ python = [testenv] extras = testing -commands = python -m pytest -v --color=yes --cov=napari_matplotlib --cov-report=xml +commands = python -m pytest --mpl -v --color=yes --cov=napari_matplotlib --cov-report=xml