From 2ae87539aad20670184ff9d30f625dddd6ac2e78 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 18 May 2002 00:25:10 +0000 Subject: [PATCH] Added Mitchell Surface's regression tests for base64. Closes patch #550002. --- Lib/test/test_base64.py | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Lib/test/test_base64.py diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py new file mode 100644 index 00000000000..8ee4d2e8781 --- /dev/null +++ b/Lib/test/test_base64.py @@ -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() +