mirror of https://github.com/python/cpython
Fix error message for comparing single line strings in unittest.TestCase.assertEqual.
Issue 9174.
This commit is contained in:
parent
0425a8ea72
commit
c653ce313f
|
@ -940,9 +940,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))
|
||||||
|
|
||||||
|
|
|
@ -841,6 +841,21 @@ test case
|
||||||
# so can't use assertEqual either. Just use assertTrue.
|
# so can't use assertEqual either. Just use assertTrue.
|
||||||
self.assertTrue(sample_text_error == error)
|
self.assertTrue(sample_text_error == error)
|
||||||
|
|
||||||
|
def testAsertEqualSingleLine(self):
|
||||||
|
sample_text = "laden swallows fly slowly"
|
||||||
|
revised_sample_text = "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…
Reference in New Issue