diff --git a/glue_plotly/html_exporters/qt/tests/test_base.py b/glue_plotly/html_exporters/qt/tests/test_base.py index 3beb927..734ce4c 100644 --- a/glue_plotly/html_exporters/qt/tests/test_base.py +++ b/glue_plotly/html_exporters/qt/tests/test_base.py @@ -5,6 +5,8 @@ from glue_plotly.sort_components import SortComponentsDialog from qtpy.QtWidgets import QMessageBox +from glue_plotly.volume_options import VolumeOptionsDialog + class TestQtExporter: @@ -47,6 +49,7 @@ def export_figure(self, tmpdir, output_filename): fd.return_value = output_path, 'html' with patch.object(SaveHoverDialog, 'exec_', self.auto_accept_selectdialog()), \ patch.object(SortComponentsDialog, 'exec_', self.auto_accept_selectdialog()), \ + patch.object(VolumeOptionsDialog, 'exec_', self.auto_accept_messagebox()), \ patch.object(QMessageBox, 'exec_', self.auto_accept_messagebox()): self.tool.activate() return output_path diff --git a/glue_plotly/html_exporters/qt/tests/test_volume.py b/glue_plotly/html_exporters/qt/tests/test_volume.py new file mode 100644 index 0000000..bb2372b --- /dev/null +++ b/glue_plotly/html_exporters/qt/tests/test_volume.py @@ -0,0 +1,30 @@ +import os + +from glue.core import Data + +from pytest import importorskip + +importorskip('glue_qt') +importorskip('glue_vispy_viewers') + +from glue_vispy_viewers.volume.volume_viewer import VispyVolumeViewer # noqa: E402 + +from numpy import arange, ones # noqa: E402 + +from .test_base import TestQtExporter # noqa: E402 + + +class TestVolume(TestQtExporter): + + viewer_type = VispyVolumeViewer + tool_id = 'save:plotlyvolume' + + def make_data(self): + return Data(label='d1', + x=arange(24).reshape((2, 3, 4)), + y=ones((2, 3, 4)), + z=arange(100, 124).reshape((2, 3, 4))) + + def test_default(self, tmpdir): + output_path = self.export_figure(tmpdir, 'test.html') + assert os.path.exists(output_path) diff --git a/glue_plotly/volume_options.py b/glue_plotly/volume_options.py index 8e9a4fe..9bf4543 100644 --- a/glue_plotly/volume_options.py +++ b/glue_plotly/volume_options.py @@ -14,6 +14,9 @@ from glue_plotly.html_exporters.qt.utils import layer_label +__all__ = ["VolumeOptionsDialog"] + + class VolumeDialogState(State): layer = SelectionCallbackProperty()