summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_binascii.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_binascii.py')
-rw-r--r--Lib/test/test_binascii.py36
1 files changed, 24 insertions, 12 deletions
diff --git a/Lib/test/test_binascii.py b/Lib/test/test_binascii.py
index 6b3e437..8fa57cd 100644
--- a/Lib/test/test_binascii.py
+++ b/Lib/test/test_binascii.py
@@ -112,29 +112,41 @@ class BinASCIITest(unittest.TestCase):
def test_uu(self):
MAX_UU = 45
- lines = []
- for i in range(0, len(self.data), MAX_UU):
- b = self.type2test(self.rawdata[i:i+MAX_UU])
- a = binascii.b2a_uu(b)
- lines.append(a)
- res = bytes()
- for line in lines:
- a = self.type2test(line)
- b = binascii.a2b_uu(a)
- res += b
- self.assertEqual(res, self.rawdata)
+ for backtick in (True, False):
+ lines = []
+ for i in range(0, len(self.data), MAX_UU):
+ b = self.type2test(self.rawdata[i:i+MAX_UU])
+ a = binascii.b2a_uu(b, backtick=backtick)
+ lines.append(a)
+ res = bytes()
+ for line in lines:
+ a = self.type2test(line)
+ b = binascii.a2b_uu(a)
+ res += b
+ self.assertEqual(res, self.rawdata)
self.assertEqual(binascii.a2b_uu(b"\x7f"), b"\x00"*31)
self.assertEqual(binascii.a2b_uu(b"\x80"), b"\x00"*32)
self.assertEqual(binascii.a2b_uu(b"\xff"), b"\x00"*31)
self.assertRaises(binascii.Error, binascii.a2b_uu, b"\xff\x00")
self.assertRaises(binascii.Error, binascii.a2b_uu, b"!!!!")
-
self.assertRaises(binascii.Error, binascii.b2a_uu, 46*b"!")
# Issue #7701 (crash on a pydebug build)
self.assertEqual(binascii.b2a_uu(b'x'), b'!> \n')
+ self.assertEqual(binascii.b2a_uu(b''), b' \n')
+ self.assertEqual(binascii.b2a_uu(b'', backtick=True), b'`\n')
+ self.assertEqual(binascii.a2b_uu(b' \n'), b'')
+ self.assertEqual(binascii.a2b_uu(b'`\n'), b'')
+ self.assertEqual(binascii.b2a_uu(b'\x00Cat'), b'$ $-A= \n')
+ self.assertEqual(binascii.b2a_uu(b'\x00Cat', backtick=True),
+ b'$`$-A=```\n')
+ self.assertEqual(binascii.a2b_uu(b'$`$-A=```\n'),
+ binascii.a2b_uu(b'$ $-A= \n'))
+ with self.assertRaises(TypeError):
+ binascii.b2a_uu(b"", True)
+
def test_crc_hqx(self):
crc = binascii.crc_hqx(self.type2test(b"Test the CRC-32 of"), 0)
crc = binascii.crc_hqx(self.type2test(b" this string."), crc)