summaryrefslogtreecommitdiff
path: root/Lib/test/test_base64.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2002-05-18 00:25:10 +0000
committerRaymond Hettinger <python@rcn.com>2002-05-18 00:25:10 +0000
commit9b7c9aef9125a84997fe8d6521eee34ad76290df (patch)
treec5aa240ee7121df1f7566b1fbbd224c661b8e089 /Lib/test/test_base64.py
parentd0110795e335f9c4be527d03ae0d8c1b047fe333 (diff)
downloadcpython-9b7c9aef9125a84997fe8d6521eee34ad76290df.tar.gz
Added Mitchell Surface's regression tests for base64. Closes patch #550002.
Diffstat (limited to 'Lib/test/test_base64.py')
-rw-r--r--Lib/test/test_base64.py59
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()
+