@@ -47,14 +47,43 @@ def test_exceptions(self):
4747 self .assertIsSubclass (binascii .Incomplete , Exception )
4848
4949 def test_constants (self ):
50- for name in ('BASE64_ALPHABET' , 'URLSAFE_BASE64_ALPHABET' ,
51- 'CRYPT_ALPHABET' , 'BCRYPT_ALPHABET' ,
52- 'UU_ALPHABET' , 'XX_ALPHABET' ,
53- 'BINHEX_ALPHABET' ):
54- value = getattr (binascii , name )
55- self .assertIsInstance (value , bytes )
56- self .assertEqual (len (value ), 64 )
57- self .assertEqual (len (set (value )), 64 )
50+ self .assertEqual (binascii .BASE64_ALPHABET ,
51+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
52+ b'abcdefghijklmnopqrstuvwxyz'
53+ b'0123456789+/' )
54+ self .assertEqual (binascii .URLSAFE_BASE64_ALPHABET ,
55+ binascii .BASE64_ALPHABET [:- 2 ] + b'-_' )
56+ self .assertEqual (binascii .CRYPT_ALPHABET ,
57+ b'./0123456789'
58+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
59+ b'abcdefghijklmnopqrstuvwxyz' )
60+ self .assertEqual (binascii .BCRYPT_ALPHABET ,
61+ b'./'
62+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
63+ b'abcdefghijklmnopqrstuvwxyz'
64+ b'0123456789' )
65+ self .assertEqual (binascii .UU_ALPHABET , bytes (range (32 , 32 + 64 )))
66+ self .assertEqual (binascii .XX_ALPHABET ,
67+ b'+-0123456789'
68+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
69+ b'abcdefghijklmnopqrstuvwxyz' )
70+ self .assertEqual (binascii .BINHEX_ALPHABET ,
71+ b'!"#$%&\' ()*+,-012345689'
72+ b'@ABCDEFGHIJKLMNPQRSTUVXYZ['
73+ b'`abcdefhijklmpqr' )
74+
75+ self .assertEqual (binascii .BASE85_ALPHABET ,
76+ b'0123456789'
77+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
78+ b'abcdefghijklmnopqrstuvwxyz'
79+ b'!#$%&()*+-;<=>?@^_`{|}~' )
80+ self .assertEqual (binascii .ASCII85_ALPHABET , bytes (range (33 , 33 + 85 )))
81+ self .assertEqual (binascii .Z85_ALPHABET ,
82+ b'0123456789'
83+ b'abcdefghijklmnopqrstuvwxyz'
84+ b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
85+ b'.-:+=^!/*?&<>()[]{}@%$#' )
86+
5887 for name in ('BASE85_ALPHABET' , 'ASCII85_ALPHABET' ,
5988 'Z85_ALPHABET' ):
6089 value = getattr (binascii , name )
@@ -323,10 +352,7 @@ def test_base64_alphabet(self):
323352 b'ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr' )
324353 data = self .type2test (self .rawdata )
325354 encoded = binascii .b2a_base64 (data , alphabet = alphabet )
326- std_alphabet = (b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
327- b'abcdefghijklmnopqrstuvwxyz'
328- b'0123456789+/' )
329- trans = bytes .maketrans (std_alphabet , alphabet )
355+ trans = bytes .maketrans (binascii .BASE64_ALPHABET , alphabet )
330356 expected = binascii .b2a_base64 (data ).translate (trans )
331357 self .assertEqual (encoded , expected )
332358 self .assertEqual (binascii .a2b_base64 (encoded , alphabet = alphabet ), self .rawdata )
@@ -336,24 +362,17 @@ def test_base64_alphabet(self):
336362 self .assertEqual (binascii .b2a_base64 (data , alphabet = alphabet ), b'\n ' )
337363 self .assertEqual (binascii .a2b_base64 (data , alphabet = alphabet ), b'' )
338364
339- with self .assertRaises (TypeError ):
340- binascii .b2a_base64 (data , alphabet = None )
341- with self .assertRaises (TypeError ):
342- binascii .a2b_base64 (data , alphabet = None )
343- with self .assertRaises (TypeError ):
344- binascii .b2a_base64 (data , alphabet = alphabet .decode ())
345- with self .assertRaises (TypeError ):
346- binascii .a2b_base64 (data , alphabet = alphabet .decode ())
365+ for func in binascii .b2a_base64 , binascii .a2b_base64 :
366+ with self .assertRaises (TypeError ):
367+ func (data , alphabet = None )
368+ with self .assertRaises (TypeError ):
369+ func (data , alphabet = alphabet .decode ())
370+ with self .assertRaises (ValueError ):
371+ func (data , alphabet = alphabet [:- 1 ])
372+ with self .assertRaises (ValueError ):
373+ func (data , alphabet = alphabet + b'?' )
347374 with self .assertRaises (TypeError ):
348375 binascii .a2b_base64 (data , alphabet = bytearray (alphabet ))
349- with self .assertRaises (ValueError ):
350- binascii .b2a_base64 (data , alphabet = alphabet [:- 1 ])
351- with self .assertRaises (ValueError ):
352- binascii .a2b_base64 (data , alphabet = alphabet [:- 1 ])
353- with self .assertRaises (ValueError ):
354- binascii .b2a_base64 (data , alphabet = alphabet + b'?' )
355- with self .assertRaises (ValueError ):
356- binascii .a2b_base64 (data , alphabet = alphabet + b'?' )
357376
358377 def test_ascii85_valid (self ):
359378 # Test Ascii85 with valid data
@@ -645,9 +664,7 @@ def test_base85_alphabet(self):
645664 b'ABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#' )
646665 data = self .type2test (self .rawdata )
647666 encoded = binascii .b2a_base85 (data , alphabet = alphabet )
648- std_alphabet = (b'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
649- b'abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~' )
650- trans = bytes .maketrans (std_alphabet , alphabet )
667+ trans = bytes .maketrans (binascii .BASE85_ALPHABET , alphabet )
651668 expected = binascii .b2a_base85 (data ).translate (trans )
652669 self .assertEqual (encoded , expected )
653670 self .assertEqual (binascii .a2b_base85 (encoded , alphabet = alphabet ), self .rawdata )
@@ -657,24 +674,17 @@ def test_base85_alphabet(self):
657674 self .assertEqual (binascii .b2a_base85 (data , alphabet = alphabet ), b'' )
658675 self .assertEqual (binascii .a2b_base85 (data , alphabet = alphabet ), b'' )
659676
677+ for func in binascii .b2a_base85 , binascii .a2b_base85 :
678+ with self .assertRaises (TypeError ):
679+ func (data , alphabet = None )
680+ with self .assertRaises (TypeError ):
681+ func (data , alphabet = alphabet .decode ())
682+ with self .assertRaises (ValueError ):
683+ func (data , alphabet = alphabet [:- 1 ])
684+ with self .assertRaises (ValueError ):
685+ func (data , alphabet = alphabet + b'?' )
660686 with self .assertRaises (TypeError ):
661- binascii .b2a_base85 (data , alphabet = None )
662- with self .assertRaises (TypeError ):
663- binascii .a2b_base85 (data , alphabet = None )
664- with self .assertRaises (TypeError ):
665- binascii .b2a_base85 (data , alphabet = alphabet .decode ())
666- with self .assertRaises (TypeError ):
667- binascii .a2b_base85 (data , alphabet = alphabet .decode ())
668- with self .assertRaises (TypeError ):
669- binascii .a2b_base85 (data , alphabet = bytearray (alphabet ))
670- with self .assertRaises (ValueError ):
671- binascii .b2a_base85 (data , alphabet = alphabet [:- 1 ])
672- with self .assertRaises (ValueError ):
673- binascii .a2b_base85 (data , alphabet = alphabet [:- 1 ])
674- with self .assertRaises (ValueError ):
675- binascii .b2a_base85 (data , alphabet = alphabet + b'?' )
676- with self .assertRaises (ValueError ):
677- binascii .a2b_base85 (data , alphabet = alphabet + b'?' )
687+ binascii .a2b_base64 (data , alphabet = bytearray (alphabet ))
678688
679689 def test_uu (self ):
680690 MAX_UU = 45
0 commit comments