mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
Fix error message for comparing single line strings in unittest.TestCase.assertEqual.
Issue 9174
This commit is contained in:
parent
8e93f4e791
commit
94f071c715
2 changed files with 23 additions and 3 deletions
|
@ -895,9 +895,14 @@ class TestCase(object):
|
|||
'Second argument is not a string'))
|
||||
|
||||
if first != second:
|
||||
standardMsg = '%s != %s' % (safe_repr(first, True), safe_repr(second, True))
|
||||
diff = '\n' + ''.join(difflib.ndiff(first.splitlines(True),
|
||||
second.splitlines(True)))
|
||||
firstlines = first.splitlines(True)
|
||||
secondlines = second.splitlines(True)
|
||||
if len(firstlines) == 1 and first.strip('\r\n') == first:
|
||||
firstlines = [first + '\n']
|
||||
secondlines = [second + '\n']
|
||||
standardMsg = '%s != %s' % (safe_repr(first, True),
|
||||
safe_repr(second, True))
|
||||
diff = '\n' + ''.join(difflib.ndiff(firstlines, secondlines))
|
||||
standardMsg = self._truncateMessage(standardMsg, diff)
|
||||
self.fail(self._formatMessage(msg, standardMsg))
|
||||
|
||||
|
|
|
@ -874,6 +874,21 @@ test case
|
|||
# unicode strings - so we can't use it for this check
|
||||
self.assertTrue(sample_text_error == error)
|
||||
|
||||
def testAsertEqualSingleLine(self):
|
||||
sample_text = u"laden swallows fly slowly"
|
||||
revised_sample_text = u"unladen swallows fly quickly"
|
||||
sample_text_error = """\
|
||||
- laden swallows fly slowly
|
||||
? ^^^^
|
||||
+ unladen swallows fly quickly
|
||||
? ++ ^^^^^
|
||||
"""
|
||||
try:
|
||||
self.assertEqual(sample_text, revised_sample_text)
|
||||
except self.failureException as e:
|
||||
error = str(e).split('\n', 1)[1]
|
||||
self.assertTrue(sample_text_error == error)
|
||||
|
||||
def testAssertIsNone(self):
|
||||
self.assertIsNone(None)
|
||||
self.assertRaises(self.failureException, self.assertIsNone, False)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue