@@ -60,6 +60,7 @@ def test_b64encode(self):
6060 eq = self .assertEqual
6161 # Test default alphabet
6262 eq (base64 .b64encode ("www.python.org" ), "d3d3LnB5dGhvbi5vcmc=" )
63+ eq (base64 .b64encode ('\x00 ' ), 'AA==' )
6364 eq (base64 .b64encode ("a" ), "YQ==" )
6465 eq (base64 .b64encode ("ab" ), "YWI=" )
6566 eq (base64 .b64encode ("abc" ), "YWJj" )
@@ -90,6 +91,7 @@ def test_b64encode(self):
9091 def test_b64decode (self ):
9192 eq = self .assertEqual
9293 eq (base64 .b64decode ("d3d3LnB5dGhvbi5vcmc=" ), "www.python.org" )
94+ eq (base64 .b64decode ('AA==' ), '\x00 ' )
9395 eq (base64 .b64decode ("YQ==" ), "a" )
9496 eq (base64 .b64decode ("YWI=" ), "ab" )
9597 eq (base64 .b64decode ("YWJj" ), "abc" )
@@ -123,6 +125,7 @@ def test_b64decode_error(self):
123125 def test_b32encode (self ):
124126 eq = self .assertEqual
125127 eq (base64 .b32encode ('' ), '' )
128+ eq (base64 .b32encode ('\x00 ' ), 'AA======' )
126129 eq (base64 .b32encode ('a' ), 'ME======' )
127130 eq (base64 .b32encode ('ab' ), 'MFRA====' )
128131 eq (base64 .b32encode ('abc' ), 'MFRGG===' )
@@ -132,6 +135,7 @@ def test_b32encode(self):
132135 def test_b32decode (self ):
133136 eq = self .assertEqual
134137 eq (base64 .b32decode ('' ), '' )
138+ eq (base64 .b32decode ('AA======' ), '\x00 ' )
135139 eq (base64 .b32decode ('ME======' ), 'a' )
136140 eq (base64 .b32decode ('MFRA====' ), 'ab' )
137141 eq (base64 .b32decode ('MFRGG===' ), 'abc' )
@@ -166,10 +170,12 @@ def test_b32decode_error(self):
166170 def test_b16encode (self ):
167171 eq = self .assertEqual
168172 eq (base64 .b16encode ('\x01 \x02 \xab \xcd \xef ' ), '0102ABCDEF' )
173+ eq (base64 .b16encode ('\x00 ' ), '00' )
169174
170175 def test_b16decode (self ):
171176 eq = self .assertEqual
172177 eq (base64 .b16decode ('0102ABCDEF' ), '\x01 \x02 \xab \xcd \xef ' )
178+ eq (base64 .b16decode ('00' ), '\x00 ' )
173179 # Lower case is not allowed without a flag
174180 self .assertRaises (TypeError , base64 .b16decode , '0102abcdef' )
175181 # Case fold
0 commit comments