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]
|
(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…
Reference in New Issue