mirror of
https://github.com/django/django.git
synced 2025-07-19 09:09:13 +00:00
[1.0.X] Fixed #10753 -- Fixed regression in dispatcher after [10398]. Thanks for the patch and tests, minmax. Backport of r10497 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10503 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
2ab40287bc
commit
06f379bd5c
@ -124,6 +124,7 @@ class Signal(object):
|
|||||||
(r_key, _) = self.receivers[index]
|
(r_key, _) = self.receivers[index]
|
||||||
if r_key == lookup_key:
|
if r_key == lookup_key:
|
||||||
del self.receivers[index]
|
del self.receivers[index]
|
||||||
|
break
|
||||||
|
|
||||||
def send(self, sender, **named):
|
def send(self, sender, **named):
|
||||||
"""Send signal from sender to all connected receivers.
|
"""Send signal from sender to all connected receivers.
|
||||||
|
@ -103,6 +103,19 @@ class DispatcherTests(unittest.TestCase):
|
|||||||
a_signal.disconnect(fails)
|
a_signal.disconnect(fails)
|
||||||
self._testIsClean(a_signal)
|
self._testIsClean(a_signal)
|
||||||
|
|
||||||
|
def testDisconnection(self):
|
||||||
|
receiver_1 = Callable()
|
||||||
|
receiver_2 = Callable()
|
||||||
|
receiver_3 = Callable()
|
||||||
|
a_signal.connect(receiver_1)
|
||||||
|
a_signal.connect(receiver_2)
|
||||||
|
a_signal.connect(receiver_3)
|
||||||
|
a_signal.disconnect(receiver_1)
|
||||||
|
del receiver_2
|
||||||
|
garbage_collect()
|
||||||
|
a_signal.disconnect(receiver_3)
|
||||||
|
self._testIsClean(a_signal)
|
||||||
|
|
||||||
def getSuite():
|
def getSuite():
|
||||||
return unittest.makeSuite(DispatcherTests,'test')
|
return unittest.makeSuite(DispatcherTests,'test')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user