Commit 9d607061 authored by Xtreak's avatar Xtreak Committed by Zachary Ware

bpo-37212: Preserve keyword argument order in unittest.mock.call and error messages (GH-14310)

parent 63c98ed2
......@@ -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
......
......@@ -1571,11 +1571,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
......
:func:`unittest.mock.call` now preserves the order of keyword arguments in
repr output. Patch by Karthikeyan Singaravelan.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment