Fixed #10753 -- Fixed regression in dispatcher after [10398]. Thanks for the patch and tests, minmax
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10497 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9e9a2b88e8
commit
b366bcc962
|
@ -124,6 +124,7 @@ class Signal(object):
|
|||
(r_key, _) = self.receivers[index]
|
||||
if r_key == lookup_key:
|
||||
del self.receivers[index]
|
||||
break
|
||||
|
||||
def send(self, sender, **named):
|
||||
"""Send signal from sender to all connected receivers.
|
||||
|
|
|
@ -103,6 +103,19 @@ class DispatcherTests(unittest.TestCase):
|
|||
a_signal.disconnect(fails)
|
||||
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():
|
||||
return unittest.makeSuite(DispatcherTests,'test')
|
||||
|
||||
|
|
Loading…
Reference in New Issue