summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_signals.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_signals.py b/tests/test_signals.py
index 34a8fa3..9a5a5ce 100644
--- a/tests/test_signals.py
+++ b/tests/test_signals.py
@@ -198,6 +198,32 @@ def test_filtered_receiver_weakref():
values_are_empty_sets_(sig._by_sender)
+def test_decorated_receiver():
+ sentinel = []
+
+ class Object(object):
+ pass
+ obj = Object()
+
+ sig = blinker.Signal()
+
+ @sig.connect_via(obj)
+ def receiver(sender, **kw):
+ sentinel.append(kw)
+
+ assert not sentinel
+ sig.send()
+ assert not sentinel
+ sig.send(1)
+ assert not sentinel
+ sig.send(obj)
+ assert sig.receivers
+
+ del receiver
+ collect()
+ assert sig.receivers
+
+
def test_no_double_send():
sentinel = []
def received(sender):