bpo-37212: Preserve keyword argument order in unittest.mock.call and error messages (GH-14310)
(cherry picked from commit 9d607061c9
)
Co-authored-by: Xtreak <tir.karthi@gmail.com>
This commit is contained in:
parent
252267925d
commit
bee8bfe5f4
|
@ -2320,7 +2320,7 @@ def _format_call_signature(name, args, kwargs):
|
|||
formatted_args = ''
|
||||
args_string = ', '.join([repr(arg) for arg in args])
|
||||
kwargs_string = ', '.join([
|
||||
'%s=%r' % (key, value) for key, value in sorted(kwargs.items())
|
||||
'%s=%r' % (key, value) for key, value in kwargs.items()
|
||||
])
|
||||
if args_string:
|
||||
formatted_args = args_string
|
||||
|
|
|
@ -1563,11 +1563,11 @@ class MockTest(unittest.TestCase):
|
|||
m.assert_called_once()
|
||||
self.assertNotIn("Calls:", str(e.exception))
|
||||
|
||||
#Issue21256 printout of keyword args should be in deterministic order
|
||||
def test_sorted_call_signature(self):
|
||||
#Issue37212 printout of keyword args now preserves the original order
|
||||
def test_ordered_call_signature(self):
|
||||
m = Mock()
|
||||
m.hello(name='hello', daddy='hero')
|
||||
text = "call(daddy='hero', name='hello')"
|
||||
text = "call(name='hello', daddy='hero')"
|
||||
self.assertEqual(repr(m.hello.call_args), text)
|
||||
|
||||
#Issue21270 overrides tuple methods for mock.call objects
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
:func:`unittest.mock.call` now preserves the order of keyword arguments in
|
||||
repr output. Patch by Karthikeyan Singaravelan.
|
Loading…
Reference in New Issue