add signals_blocked util (#69)

This commit is contained in:
Talley Lambert
2022-02-20 11:25:10 -05:00
committed by GitHub
parent d8a8328793
commit 96de1a261a
3 changed files with 51 additions and 4 deletions

29
tests/test_utils.py Normal file
View File

@@ -0,0 +1,29 @@
from unittest.mock import Mock
from qtpy.QtCore import QObject, Signal
from superqt.utils import signals_blocked
def test_signal_blocker(qtbot):
"""make sure context manager signal blocker works"""
class Emitter(QObject):
sig = Signal()
obj = Emitter()
receiver = Mock()
obj.sig.connect(receiver)
# make sure signal works
with qtbot.waitSignal(obj.sig):
obj.sig.emit()
receiver.assert_called_once()
receiver.reset_mock()
with signals_blocked(obj):
obj.sig.emit()
qtbot.wait(10)
receiver.assert_not_called()