mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
Refs #33476 -- Reformatted code with Black.
This commit is contained in:
parent
f68fa8b45d
commit
9c19aff7c7
1992 changed files with 139577 additions and 96284 deletions
|
@ -7,12 +7,15 @@ from django.dispatch import Signal, receiver
|
|||
from django.test import SimpleTestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
if hasattr(sys, 'pypy_version_info'):
|
||||
if hasattr(sys, "pypy_version_info"):
|
||||
|
||||
def garbage_collect():
|
||||
# Collecting weakreferences can take two collections on PyPy.
|
||||
gc.collect()
|
||||
gc.collect()
|
||||
|
||||
else:
|
||||
|
||||
def garbage_collect():
|
||||
gc.collect()
|
||||
|
||||
|
@ -36,7 +39,6 @@ d_signal = Signal(use_caching=True)
|
|||
|
||||
|
||||
class DispatcherTests(SimpleTestCase):
|
||||
|
||||
def assertTestIsClean(self, signal):
|
||||
"""Assert that everything has been cleaned up automatically"""
|
||||
# Note that dead weakref cleanup happens as side effect of using
|
||||
|
@ -50,39 +52,39 @@ class DispatcherTests(SimpleTestCase):
|
|||
def receiver_no_kwargs(sender):
|
||||
pass
|
||||
|
||||
msg = 'Signal receivers must accept keyword arguments (**kwargs).'
|
||||
msg = "Signal receivers must accept keyword arguments (**kwargs)."
|
||||
with self.assertRaisesMessage(ValueError, msg):
|
||||
a_signal.connect(receiver_no_kwargs)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
@override_settings(DEBUG=True)
|
||||
def test_cannot_connect_non_callable(self):
|
||||
msg = 'Signal receivers must be callable.'
|
||||
msg = "Signal receivers must be callable."
|
||||
with self.assertRaisesMessage(TypeError, msg):
|
||||
a_signal.connect(object())
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
def test_send(self):
|
||||
a_signal.connect(receiver_1_arg, sender=self)
|
||||
result = a_signal.send(sender=self, val='test')
|
||||
self.assertEqual(result, [(receiver_1_arg, 'test')])
|
||||
result = a_signal.send(sender=self, val="test")
|
||||
self.assertEqual(result, [(receiver_1_arg, "test")])
|
||||
a_signal.disconnect(receiver_1_arg, sender=self)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
def test_send_no_receivers(self):
|
||||
result = a_signal.send(sender=self, val='test')
|
||||
result = a_signal.send(sender=self, val="test")
|
||||
self.assertEqual(result, [])
|
||||
|
||||
def test_send_connected_no_sender(self):
|
||||
a_signal.connect(receiver_1_arg)
|
||||
result = a_signal.send(sender=self, val='test')
|
||||
self.assertEqual(result, [(receiver_1_arg, 'test')])
|
||||
result = a_signal.send(sender=self, val="test")
|
||||
self.assertEqual(result, [(receiver_1_arg, "test")])
|
||||
a_signal.disconnect(receiver_1_arg)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
def test_send_different_no_sender(self):
|
||||
a_signal.connect(receiver_1_arg, sender=object)
|
||||
result = a_signal.send(sender=self, val='test')
|
||||
result = a_signal.send(sender=self, val="test")
|
||||
self.assertEqual(result, [])
|
||||
a_signal.disconnect(receiver_1_arg, sender=object)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
@ -101,11 +103,13 @@ class DispatcherTests(SimpleTestCase):
|
|||
Make sure signal caching sender receivers don't prevent garbage
|
||||
collection of senders.
|
||||
"""
|
||||
|
||||
class sender:
|
||||
pass
|
||||
|
||||
wref = weakref.ref(sender)
|
||||
d_signal.connect(receiver_1_arg)
|
||||
d_signal.send(sender, val='garbage')
|
||||
d_signal.send(sender, val="garbage")
|
||||
del sender
|
||||
garbage_collect()
|
||||
try:
|
||||
|
@ -145,46 +149,47 @@ class DispatcherTests(SimpleTestCase):
|
|||
|
||||
def test_send_robust_success(self):
|
||||
a_signal.connect(receiver_1_arg)
|
||||
result = a_signal.send_robust(sender=self, val='test')
|
||||
self.assertEqual(result, [(receiver_1_arg, 'test')])
|
||||
result = a_signal.send_robust(sender=self, val="test")
|
||||
self.assertEqual(result, [(receiver_1_arg, "test")])
|
||||
a_signal.disconnect(receiver_1_arg)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
def test_send_robust_no_receivers(self):
|
||||
result = a_signal.send_robust(sender=self, val='test')
|
||||
result = a_signal.send_robust(sender=self, val="test")
|
||||
self.assertEqual(result, [])
|
||||
|
||||
def test_send_robust_ignored_sender(self):
|
||||
a_signal.connect(receiver_1_arg)
|
||||
result = a_signal.send_robust(sender=self, val='test')
|
||||
self.assertEqual(result, [(receiver_1_arg, 'test')])
|
||||
result = a_signal.send_robust(sender=self, val="test")
|
||||
self.assertEqual(result, [(receiver_1_arg, "test")])
|
||||
a_signal.disconnect(receiver_1_arg)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
||||
def test_send_robust_fail(self):
|
||||
def fails(val, **kwargs):
|
||||
raise ValueError('this')
|
||||
raise ValueError("this")
|
||||
|
||||
a_signal.connect(fails)
|
||||
try:
|
||||
with self.assertLogs('django.dispatch', 'ERROR') as cm:
|
||||
result = a_signal.send_robust(sender=self, val='test')
|
||||
with self.assertLogs("django.dispatch", "ERROR") as cm:
|
||||
result = a_signal.send_robust(sender=self, val="test")
|
||||
err = result[0][1]
|
||||
self.assertIsInstance(err, ValueError)
|
||||
self.assertEqual(err.args, ('this',))
|
||||
self.assertIs(hasattr(err, '__traceback__'), True)
|
||||
self.assertEqual(err.args, ("this",))
|
||||
self.assertIs(hasattr(err, "__traceback__"), True)
|
||||
self.assertIsInstance(err.__traceback__, TracebackType)
|
||||
|
||||
log_record = cm.records[0]
|
||||
self.assertEqual(
|
||||
log_record.getMessage(),
|
||||
'Error calling '
|
||||
'DispatcherTests.test_send_robust_fail.<locals>.fails in '
|
||||
'Signal.send_robust() (this)',
|
||||
"Error calling "
|
||||
"DispatcherTests.test_send_robust_fail.<locals>.fails in "
|
||||
"Signal.send_robust() (this)",
|
||||
)
|
||||
self.assertIsNotNone(log_record.exc_info)
|
||||
_, exc_value, _ = log_record.exc_info
|
||||
self.assertIsInstance(exc_value, ValueError)
|
||||
self.assertEqual(str(exc_value), 'this')
|
||||
self.assertEqual(str(exc_value), "this")
|
||||
finally:
|
||||
a_signal.disconnect(fails)
|
||||
self.assertTestIsClean(a_signal)
|
||||
|
@ -225,11 +230,11 @@ class DispatcherTests(SimpleTestCase):
|
|||
|
||||
|
||||
class ReceiverTestCase(SimpleTestCase):
|
||||
|
||||
def test_receiver_single_signal(self):
|
||||
@receiver(a_signal)
|
||||
def f(val, **kwargs):
|
||||
self.state = val
|
||||
|
||||
self.state = False
|
||||
a_signal.send(sender=self, val=True)
|
||||
self.assertTrue(self.state)
|
||||
|
@ -238,10 +243,11 @@ class ReceiverTestCase(SimpleTestCase):
|
|||
@receiver([a_signal, b_signal, c_signal])
|
||||
def f(val, **kwargs):
|
||||
self.state.append(val)
|
||||
|
||||
self.state = []
|
||||
a_signal.send(sender=self, val='a')
|
||||
c_signal.send(sender=self, val='c')
|
||||
b_signal.send(sender=self, val='b')
|
||||
self.assertIn('a', self.state)
|
||||
self.assertIn('b', self.state)
|
||||
self.assertIn('c', self.state)
|
||||
a_signal.send(sender=self, val="a")
|
||||
c_signal.send(sender=self, val="c")
|
||||
b_signal.send(sender=self, val="b")
|
||||
self.assertIn("a", self.state)
|
||||
self.assertIn("b", self.state)
|
||||
self.assertIn("c", self.state)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue