Issue #26837: assertSequenceEqual() now correctly outputs non-stringified

differing items (like bytes in the -b mode).  This affects assertListEqual()
and assertTupleEqual().
This commit is contained in:
Serhiy Storchaka 2016-04-25 08:58:25 +03:00
parent 5b6f0aa71c
commit 685fbed7f9
3 changed files with 83 additions and 3 deletions

View file

@ -964,7 +964,7 @@ class TestCase(object):
if item1 != item2:
differing += ('\nFirst differing element %d:\n%s\n%s\n' %
(i, item1, item2))
((i,) + _common_shorten_repr(item1, item2)))
break
else:
if (len1 == len2 and seq_type is None and
@ -977,7 +977,7 @@ class TestCase(object):
'elements.\n' % (seq_type_name, len1 - len2))
try:
differing += ('First extra element %d:\n%s\n' %
(len2, seq1[len2]))
(len2, safe_repr(seq1[len2])))
except (TypeError, IndexError, NotImplementedError):
differing += ('Unable to index element %d '
'of first %s\n' % (len2, seq_type_name))
@ -986,7 +986,7 @@ class TestCase(object):
'elements.\n' % (seq_type_name, len2 - len1))
try:
differing += ('First extra element %d:\n%s\n' %
(len1, seq2[len1]))
(len1, safe_repr(seq2[len1])))
except (TypeError, IndexError, NotImplementedError):
differing += ('Unable to index element %d '
'of second %s\n' % (len1, seq_type_name))