mirror of
https://github.com/python/cpython.git
synced 2025-11-04 11:49:12 +00:00
Move assertBytesEqual to base test class, improve it, and hook into assertEqual
This commit is contained in:
parent
eb50e51a0f
commit
a46ed1186f
2 changed files with 12 additions and 6 deletions
|
|
@ -25,6 +25,10 @@ def openfile(filename, *args, **kws):
|
||||||
# Base test class
|
# Base test class
|
||||||
class TestEmailBase(unittest.TestCase):
|
class TestEmailBase(unittest.TestCase):
|
||||||
|
|
||||||
|
def __init__(self, *args, **kw):
|
||||||
|
super().__init__(*args, **kw)
|
||||||
|
self.addTypeEqualityFunc(bytes, self.assertBytesEqual)
|
||||||
|
|
||||||
def ndiffAssertEqual(self, first, second):
|
def ndiffAssertEqual(self, first, second):
|
||||||
"""Like assertEqual except use ndiff for readable output."""
|
"""Like assertEqual except use ndiff for readable output."""
|
||||||
if first != second:
|
if first != second:
|
||||||
|
|
@ -38,3 +42,10 @@ class TestEmailBase(unittest.TestCase):
|
||||||
def _msgobj(self, filename):
|
def _msgobj(self, filename):
|
||||||
with openfile(filename) as fp:
|
with openfile(filename) as fp:
|
||||||
return email.message_from_file(fp)
|
return email.message_from_file(fp)
|
||||||
|
|
||||||
|
def _bytes_repr(self, b):
|
||||||
|
return [repr(x) for x in b.splitlines(True)]
|
||||||
|
|
||||||
|
def assertBytesEqual(self, first, second, msg):
|
||||||
|
"""Our byte strings are really encoded strings; improve diff output"""
|
||||||
|
self.assertEqual(self._bytes_repr(first), self._bytes_repr(second))
|
||||||
|
|
|
||||||
|
|
@ -3161,12 +3161,7 @@ class BaseTestBytesGeneratorIdempotent:
|
||||||
b = BytesIO()
|
b = BytesIO()
|
||||||
g = email.generator.BytesGenerator(b, maxheaderlen=0)
|
g = email.generator.BytesGenerator(b, maxheaderlen=0)
|
||||||
g.flatten(msg, unixfrom=unixfrom, linesep=self.linesep)
|
g.flatten(msg, unixfrom=unixfrom, linesep=self.linesep)
|
||||||
self.assertByteStringsEqual(data, b.getvalue())
|
self.assertEqual(data, b.getvalue())
|
||||||
|
|
||||||
def assertByteStringsEqual(self, str1, str2):
|
|
||||||
# Not using self.blinesep here is intentional. This way the output
|
|
||||||
# is more useful when the failure results in mixed line endings.
|
|
||||||
self.assertListEqual(str1.split(b'\n'), str2.split(b'\n'))
|
|
||||||
|
|
||||||
|
|
||||||
class TestBytesGeneratorIdempotentNL(BaseTestBytesGeneratorIdempotent,
|
class TestBytesGeneratorIdempotentNL(BaseTestBytesGeneratorIdempotent,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue