Do not ignore viewer if order is zero when registering

This commit is contained in:
Andrew Murray 2020-06-18 21:40:38 +10:00
parent d6be1331ce
commit 6ad98ba3c0
2 changed files with 8 additions and 6 deletions

View File

@ -17,19 +17,21 @@ def test_register():
ImageShow._viewers.pop()
def test_viewer_show():
@pytest.mark.parametrize(
"order", [-1, 0],
)
def test_viewer_show(order):
class TestViewer(ImageShow.Viewer):
methodCalled = False
def show_image(self, image, **options):
self.methodCalled = True
return True
viewer = TestViewer()
ImageShow.register(viewer, -1)
ImageShow.register(viewer, order)
for mode in ("1", "I;16", "LA", "RGB", "RGBA"):
with hopper() as im:
viewer.methodCalled = False
with hopper(mode) as im:
assert ImageShow.show(im)
assert viewer.methodCalled

View File

@ -31,7 +31,7 @@ def register(viewer, order=1):
pass # raised if viewer wasn't a class
if order > 0:
_viewers.append(viewer)
elif order < 0:
else:
_viewers.insert(0, viewer)