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