Commit 0451fb94 authored by Serhiy Storchaka's avatar Serhiy Storchaka

Make error report in test_codecs more informative.

parent 1b6333a0
...@@ -573,9 +573,13 @@ class UTF16LETest(ReadTest): ...@@ -573,9 +573,13 @@ class UTF16LETest(ReadTest):
(b'\x00\xdcA\x00', u'\ufffdA'), (b'\x00\xdcA\x00', u'\ufffdA'),
] ]
for raw, expected in tests: for raw, expected in tests:
self.assertRaises(UnicodeDecodeError, codecs.utf_16_le_decode, try:
raw, 'strict', True) with self.assertRaises(UnicodeDecodeError):
self.assertEqual(raw.decode('utf-16le', 'replace'), expected) codecs.utf_16_le_decode(raw, 'strict', True)
self.assertEqual(raw.decode('utf-16le', 'replace'), expected)
except:
print 'raw=%r' % raw
raise
class UTF16BETest(ReadTest): class UTF16BETest(ReadTest):
encoding = "utf-16-be" encoding = "utf-16-be"
...@@ -610,9 +614,13 @@ class UTF16BETest(ReadTest): ...@@ -610,9 +614,13 @@ class UTF16BETest(ReadTest):
(b'\xdc\x00\x00A', u'\ufffdA'), (b'\xdc\x00\x00A', u'\ufffdA'),
] ]
for raw, expected in tests: for raw, expected in tests:
self.assertRaises(UnicodeDecodeError, codecs.utf_16_be_decode, try:
raw, 'strict', True) with self.assertRaises(UnicodeDecodeError):
self.assertEqual(raw.decode('utf-16be', 'replace'), expected) codecs.utf_16_be_decode(raw, 'strict', True)
self.assertEqual(raw.decode('utf-16be', 'replace'), expected)
except:
print 'raw=%r' % raw
raise
class UTF8Test(ReadTest): class UTF8Test(ReadTest):
encoding = "utf-8" encoding = "utf-8"
...@@ -704,9 +712,13 @@ class UTF7Test(ReadTest): ...@@ -704,9 +712,13 @@ class UTF7Test(ReadTest):
('a+IKw\xffb', u'a\u20ac\ufffdb'), ('a+IKw\xffb', u'a\u20ac\ufffdb'),
] ]
for raw, expected in tests: for raw, expected in tests:
self.assertRaises(UnicodeDecodeError, codecs.utf_7_decode, try:
raw, 'strict', True) with self.assertRaises(UnicodeDecodeError):
self.assertEqual(raw.decode('utf-7', 'replace'), expected) codecs.utf_7_decode(raw, 'strict', True)
self.assertEqual(raw.decode('utf-7', 'replace'), expected)
except:
print 'raw=%r' % raw
raise
def test_nonbmp(self): def test_nonbmp(self):
self.assertEqual(u'\U000104A0'.encode(self.encoding), '+2AHcoA-') self.assertEqual(u'\U000104A0'.encode(self.encoding), '+2AHcoA-')
...@@ -740,7 +752,11 @@ class UTF7Test(ReadTest): ...@@ -740,7 +752,11 @@ class UTF7Test(ReadTest):
('a+IKwgrNgBA-b', u'a\u20ac\u20ac\ufffdb'), ('a+IKwgrNgBA-b', u'a\u20ac\u20ac\ufffdb'),
] ]
for raw, expected in tests: for raw, expected in tests:
self.assertEqual(raw.decode('utf-7', 'replace'), expected) try:
self.assertEqual(raw.decode('utf-7', 'replace'), expected)
except:
print 'raw=%r' % raw
raise
class UTF16ExTest(unittest.TestCase): class UTF16ExTest(unittest.TestCase):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment