(self)
| 384 | strict_mode=False) |
| 385 | |
| 386 | def test_base64_alphabet(self): |
| 387 | alphabet = (b'!"#$%&\'()*+,-012345689@' |
| 388 | b'ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr') |
| 389 | data = self.type2test(self.rawdata) |
| 390 | encoded = binascii.b2a_base64(data, alphabet=alphabet) |
| 391 | trans = bytes.maketrans(binascii.BASE64_ALPHABET, alphabet) |
| 392 | expected = binascii.b2a_base64(data).translate(trans) |
| 393 | self.assertEqual(encoded, expected) |
| 394 | self.assertEqual(binascii.a2b_base64(encoded, alphabet=alphabet), self.rawdata) |
| 395 | self.assertEqual(binascii.b2a_base64(data, alphabet=self.type2test(alphabet)), expected) |
| 396 | |
| 397 | data = self.type2test(b'') |
| 398 | self.assertEqual(binascii.b2a_base64(data, alphabet=alphabet), b'\n') |
| 399 | self.assertEqual(binascii.a2b_base64(data, alphabet=alphabet), b'') |
| 400 | |
| 401 | for func in binascii.b2a_base64, binascii.a2b_base64: |
| 402 | with self.assertRaises(TypeError): |
| 403 | func(data, alphabet=None) |
| 404 | with self.assertRaises(TypeError): |
| 405 | func(data, alphabet=alphabet.decode()) |
| 406 | with self.assertRaises(ValueError): |
| 407 | func(data, alphabet=alphabet[:-1]) |
| 408 | with self.assertRaises(ValueError): |
| 409 | func(data, alphabet=alphabet+b'?') |
| 410 | with self.assertRaises(TypeError): |
| 411 | binascii.a2b_base64(data, alphabet=bytearray(alphabet)) |
| 412 | |
| 413 | def test_ascii85_valid(self): |
| 414 | # Test Ascii85 with valid data |
nothing calls this directly
no test coverage detected