summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_signals.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_signals.py b/tests/test_signals.py
index 4f1114d..1fca3e5 100644
--- a/tests/test_signals.py
+++ b/tests/test_signals.py
@@ -332,6 +332,33 @@ def test_strong_receiver():
assert [id(fn) for fn in sig.receivers.values()] == [fn_id]
+async def test_async_receiver():
+ sentinel = []
+
+ async def received_async(sender):
+ sentinel.append(sender)
+
+ def received(sender):
+ sentinel.append(sender)
+
+ def wrapper(func):
+
+ async def inner(*args, **kwargs):
+ func(*args, **kwargs)
+
+ return inner
+
+ sig = blinker.Signal()
+ sig.connect(received)
+ sig.connect(received_async)
+
+ await sig.send_async(_sync_wrapper=wrapper)
+ assert len(sentinel) == 2
+
+ with pytest.raises(RuntimeError):
+ sig.send()
+
+
def test_instancemethod_receiver():
sentinel = []