diff options
author | Raymond Hettinger <python@rcn.com> | 2002-05-18 00:25:10 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2002-05-18 00:25:10 +0000 |
commit | 9b7c9aef9125a84997fe8d6521eee34ad76290df (patch) | |
tree | c5aa240ee7121df1f7566b1fbbd224c661b8e089 | |
parent | d0110795e335f9c4be527d03ae0d8c1b047fe333 (diff) | |
download | cpython-9b7c9aef9125a84997fe8d6521eee34ad76290df.tar.gz |
Added Mitchell Surface's regression tests for base64. Closes patch #550002.
-rw-r--r-- | Lib/test/test_base64.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py new file mode 100644 index 0000000000..8ee4d2e878 --- /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() + |