Skip to content

Commit 52758b9

Browse files
committed
Fix failing viscm editor test
The old behavior was an implicit conversion to `int`. This warning was being thrown in Python 3.9: ``` DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python. ``` And in Python 3.10, this turned in to an error, as seen in <#71>: ``` TypeError: setValue(self, a0: int): argument 1 has unexpected type 'float' ``` The new version of this code simply makes the old behavior (conversion to int) explicit. I'm unsure whether this was the original intent.
1 parent 3e76783 commit 52758b9

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

.github/workflows/test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,7 @@ jobs:
4242
4343
- name: "Run tests"
4444
run: "make test"
45+
env:
46+
# In Pythons >= 3.10, tests fail with `RuntimeError: Invalid DISPLAY
47+
# variable`, unless this variable is set:
48+
MPLBACKEND: "Agg"

test/test_gui.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from pathlib import Path
22

3-
import pytest
4-
53
from viscm.cli import _make_window
64

75

@@ -21,9 +19,6 @@ def test_gui_view_opens(self, qtbot):
2119

2220
assert window.isVisible()
2321

24-
@pytest.mark.xfail(
25-
reason="Unknown. See https://github.com/matplotlib/viscm/issues/71",
26-
)
2722
def test_gui_edit_pyfile_opens(self, tests_data_dir: Path, qtbot):
2823
"""Reproduce viridis from README instructions.
2924

viscm/gui.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,7 +1154,7 @@ def __init__(self, figurecanvas, viscm_editor, parent=None):
11541154
self.max_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
11551155
self.max_slider.setMinimum(0)
11561156
self.max_slider.setMaximum(100)
1157-
self.max_slider.setValue(viscm_editor.max_Jp)
1157+
self.max_slider.setValue(int(viscm_editor.max_Jp))
11581158
self.max_slider.setTickPosition(QtWidgets.QSlider.TicksBelow)
11591159
self.max_slider.setTickInterval(10)
11601160
self.max_slider.valueChanged.connect(self.updatejp)
@@ -1164,7 +1164,7 @@ def __init__(self, figurecanvas, viscm_editor, parent=None):
11641164
self.min_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
11651165
self.min_slider.setMinimum(0)
11661166
self.min_slider.setMaximum(100)
1167-
self.min_slider.setValue(viscm_editor.min_Jp)
1167+
self.min_slider.setValue(int(viscm_editor.min_Jp))
11681168
self.min_slider.setTickPosition(QtWidgets.QSlider.TicksBelow)
11691169
self.min_slider.setTickInterval(10)
11701170
self.min_slider.valueChanged.connect(self.updatejp)
@@ -1277,8 +1277,8 @@ def update_smoothness_slider(self):
12771277

12781278
def swapjp(self):
12791279
jp1, jp2 = self.min_slider.value(), self.max_slider.value()
1280-
self.min_slider.setValue(jp2)
1281-
self.max_slider.setValue(jp1)
1280+
self.min_slider.setValue(int(jp2))
1281+
self.max_slider.setValue(int(jp1))
12821282
self.updatejp()
12831283

12841284
def updatejp(self):

0 commit comments

Comments
 (0)