blob: dfd67a35239c1e0329271bf5b0aaaece24cf730b [file] [log] [blame]
Guido van Rossumcb682582002-08-22 19:18:56 +00001from unittest import TestCase
2from test.test_support import vereq, run_unittest
3from base64 import encodestring, decodestring
Raymond Hettinger2ae87532002-05-18 00:25:10 +00004
Guido van Rossumcb682582002-08-22 19:18:56 +00005class Base64TestCase(TestCase):
Raymond Hettinger2ae87532002-05-18 00:25:10 +00006
Guido van Rossumcb682582002-08-22 19:18:56 +00007 def test_encodestring(self):
8 vereq(encodestring("www.python.org"), "d3d3LnB5dGhvbi5vcmc=\n")
9 vereq(encodestring("a"), "YQ==\n")
10 vereq(encodestring("ab"), "YWI=\n")
11 vereq(encodestring("abc"), "YWJj\n")
12 vereq(encodestring(""), "")
13 vereq(encodestring("abcdefghijklmnopqrstuvwxyz"
14 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
15 "0123456789!@#0^&*();:<>,. []{}"),
16 "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
17 "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
18 "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n")
19
20 def test_decodestring(self):
21 vereq(decodestring("d3d3LnB5dGhvbi5vcmc=\n"), "www.python.org")
22 vereq(decodestring("YQ==\n"), "a")
23 vereq(decodestring("YWI=\n"), "ab")
24 vereq(decodestring("YWJj\n"), "abc")
25 vereq(decodestring("YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNE"
26 "RUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNT"
27 "Y3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n"),
28 "abcdefghijklmnopqrstuvwxyz"
29 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
30 "0123456789!@#0^&*();:<>,. []{}")
31 vereq(decodestring(''), '')
Tim Peters8ac14952002-05-23 15:15:30 +000032
Raymond Hettinger2ae87532002-05-18 00:25:10 +000033def test_main():
Guido van Rossumcb682582002-08-22 19:18:56 +000034 run_unittest(Base64TestCase)
Raymond Hettinger2ae87532002-05-18 00:25:10 +000035
36if __name__ == "__main__":
37 test_main()