summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorjason kirtland <jek@discorporate.us>2010-07-21 11:07:13 +0100
committerjason kirtland <jek@discorporate.us>2010-07-21 11:07:13 +0100
commitfa3be696ab410308191ed4af804a31d2ba60144d (patch)
tree3cfd919986622a0d5857967480d4c95d7e69cc2c /tests
parent50ac3faf7d154b6bd57ed3341dae3a31cab82013 (diff)
downloadblinker-fa3be696ab410308191ed4af804a31d2ba60144d.tar.gz
Added Signal.connect_via() decorator.
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):