mirror of
https://github.com/python/cpython.git
synced 2025-10-06 15:11:58 +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'))
|
'Second argument is not a string'))
|
||||||
|
|
||||||
if first != second:
|
if first != second:
|
||||||
standardMsg = '%s != %s' % (safe_repr(first, True), safe_repr(second, True))
|
firstlines = first.splitlines(True)
|
||||||
diff = '\n' + ''.join(difflib.ndiff(first.splitlines(True),
|
secondlines = second.splitlines(True)
|
||||||
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)
|
standardMsg = self._truncateMessage(standardMsg, diff)
|
||||||
self.fail(self._formatMessage(msg, standardMsg))
|
self.fail(self._formatMessage(msg, standardMsg))
|
||||||
|
|
||||||
|
|
|
@ -874,6 +874,21 @@ test case
|
||||||
# unicode strings - so we can't use it for this check
|
# unicode strings - so we can't use it for this check
|
||||||
self.assertTrue(sample_text_error == error)
|
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):
|
def testAssertIsNone(self):
|
||||||
self.assertIsNone(None)
|
self.assertIsNone(None)
|
||||||
self.assertRaises(self.failureException, self.assertIsNone, False)
|
self.assertRaises(self.failureException, self.assertIsNone, False)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue