diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_signals.py | 26 |
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): |