[Python-checkins] python/dist/src/Lib/test test_base64.py, 1.7, 1.7.4.1

akuchling@users.sourceforge.net akuchling at users.sourceforge.net
Thu Jun 9 00:53:03 CEST 2005


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29883/Lib/test

Modified Files:
      Tag: release24-maint
	test_base64.py 
Log Message:
[Patch #1171487, bug #1170331] Fix error in base64.b32decode when encoding a single null byte; test a null byte in all encodings to be sure it works

Index: test_base64.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_base64.py,v
retrieving revision 1.7
retrieving revision 1.7.4.1
diff -u -d -r1.7 -r1.7.4.1
--- test_base64.py	4 Jan 2004 01:13:02 -0000	1.7
+++ test_base64.py	8 Jun 2005 22:53:01 -0000	1.7.4.1
@@ -60,6 +60,7 @@
         eq = self.assertEqual
         # Test default alphabet
         eq(base64.b64encode("www.python.org"), "d3d3LnB5dGhvbi5vcmc=")
+        eq(base64.b64encode('\x00'), 'AA==')
         eq(base64.b64encode("a"), "YQ==")
         eq(base64.b64encode("ab"), "YWI=")
         eq(base64.b64encode("abc"), "YWJj")
@@ -90,6 +91,7 @@
     def test_b64decode(self):
         eq = self.assertEqual
         eq(base64.b64decode("d3d3LnB5dGhvbi5vcmc="), "www.python.org")
+        eq(base64.b64decode('AA=='), '\x00')
         eq(base64.b64decode("YQ=="), "a")
         eq(base64.b64decode("YWI="), "ab")
         eq(base64.b64decode("YWJj"), "abc")
@@ -123,6 +125,7 @@
     def test_b32encode(self):
         eq = self.assertEqual
         eq(base64.b32encode(''), '')
+        eq(base64.b32encode('\x00'), 'AA======')
         eq(base64.b32encode('a'), 'ME======')
         eq(base64.b32encode('ab'), 'MFRA====')
         eq(base64.b32encode('abc'), 'MFRGG===')
@@ -132,6 +135,7 @@
     def test_b32decode(self):
         eq = self.assertEqual
         eq(base64.b32decode(''), '')
+        eq(base64.b32decode('AA======'), '\x00')
         eq(base64.b32decode('ME======'), 'a')
         eq(base64.b32decode('MFRA===='), 'ab')
         eq(base64.b32decode('MFRGG==='), 'abc')
@@ -166,10 +170,12 @@
     def test_b16encode(self):
         eq = self.assertEqual
         eq(base64.b16encode('\x01\x02\xab\xcd\xef'), '0102ABCDEF')
+        eq(base64.b16encode('\x00'), '00')
 
     def test_b16decode(self):
         eq = self.assertEqual
         eq(base64.b16decode('0102ABCDEF'), '\x01\x02\xab\xcd\xef')
+        eq(base64.b16decode('00'), '\x00')
         # Lower case is not allowed without a flag
         self.assertRaises(TypeError, base64.b16decode, '0102abcdef')
         # Case fold



More information about the Python-checkins mailing list