Added Mitchell Surface's regression tests for base64. Closes patch #550002.

This commit is contained in:
Raymond Hettinger 2002-05-18 00:25:10 +00:00
parent 18ca791028
commit 2ae87539aa
1 changed files with 59 additions and 0 deletions

59
Lib/test/test_base64.py Normal file
View File

@ -0,0 +1,59 @@
import unittest
import test_support
import base64
from binascii import Error as binascii_error
class Base64TestCase(unittest.TestCase):
def test_encode_string(self):
"""Testing encode string"""
test_support.verify(base64.encodestring("www.python.org") ==
"d3d3LnB5dGhvbi5vcmc=\n",
reason="www.python.org encodestring failed")
test_support.verify(base64.encodestring("a") ==
"YQ==\n",
reason="a encodestring failed")
test_support.verify(base64.encodestring("ab") ==
"YWI=\n",
reason="ab encodestring failed")
test_support.verify(base64.encodestring("abc") ==
"YWJj\n",
reason="abc encodestring failed")
test_support.verify(base64.encodestring("") ==
"",
reason="null encodestring failed")
test_support.verify(base64.encodestring(
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}") ==
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n",
reason = "long encodestring failed")
def test_decode_string(self):
"""Testing decode string"""
test_support.verify(base64.decodestring("d3d3LnB5dGhvbi5vcmc=\n") ==
"www.python.org",
reason="www.python.org decodestring failed")
test_support.verify(base64.decodestring("YQ==\n") ==
"a",
reason="a decodestring failed")
test_support.verify(base64.decodestring("YWI=\n") ==
"ab",
reason="ab decodestring failed")
test_support.verify(base64.decodestring("YWJj\n") ==
"abc",
reason="abc decodestring failed")
test_support.verify(base64.decodestring(
"YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n") ==
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}",
reason = "long decodestring failed")
try:
base64.decodestring("")
except binascii_error:
pass
else:
self.fail("expected a binascii.Error on null decode request")
def test_main():
test_support.run_unittest(Base64TestCase)
if __name__ == "__main__":
test_main()