Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 1 | import unittest |
Barry Warsaw | 04f357c | 2002-07-23 19:04:11 +0000 | [diff] [blame] | 2 | from test import test_support |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 3 | import base64 |
| 4 | from binascii import Error as binascii_error |
| 5 | |
| 6 | class Base64TestCase(unittest.TestCase): |
| 7 | def test_encode_string(self): |
| 8 | """Testing encode string""" |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 9 | test_support.verify(base64.encodestring("www.python.org") == |
| 10 | "d3d3LnB5dGhvbi5vcmc=\n", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 11 | reason="www.python.org encodestring failed") |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 12 | test_support.verify(base64.encodestring("a") == |
| 13 | "YQ==\n", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 14 | reason="a encodestring failed") |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 15 | test_support.verify(base64.encodestring("ab") == |
| 16 | "YWI=\n", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 17 | reason="ab encodestring failed") |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 18 | test_support.verify(base64.encodestring("abc") == |
| 19 | "YWJj\n", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 20 | reason="abc encodestring failed") |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 21 | test_support.verify(base64.encodestring("") == |
| 22 | "", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 23 | reason="null encodestring failed") |
| 24 | test_support.verify(base64.encodestring( |
| 25 | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}") == |
| 26 | "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n", |
| 27 | reason = "long encodestring failed") |
| 28 | |
| 29 | def test_decode_string(self): |
| 30 | """Testing decode string""" |
| 31 | test_support.verify(base64.decodestring("d3d3LnB5dGhvbi5vcmc=\n") == |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 32 | "www.python.org", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 33 | reason="www.python.org decodestring failed") |
| 34 | test_support.verify(base64.decodestring("YQ==\n") == |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 35 | "a", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 36 | reason="a decodestring failed") |
| 37 | test_support.verify(base64.decodestring("YWI=\n") == |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 38 | "ab", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 39 | reason="ab decodestring failed") |
| 40 | test_support.verify(base64.decodestring("YWJj\n") == |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 41 | "abc", |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 42 | reason="abc decodestring failed") |
| 43 | test_support.verify(base64.decodestring( |
| 44 | "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0\nNTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==\n") == |
| 45 | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}", |
| 46 | reason = "long decodestring failed") |
Barry Warsaw | 0a51b58 | 2002-08-15 22:14:24 +0000 | [diff] [blame] | 47 | test_support.verify(base64.decodestring('') == '') |
Tim Peters | 8ac1495 | 2002-05-23 15:15:30 +0000 | [diff] [blame] | 48 | |
Raymond Hettinger | 2ae8753 | 2002-05-18 00:25:10 +0000 | [diff] [blame] | 49 | def test_main(): |
| 50 | test_support.run_unittest(Base64TestCase) |
| 51 | |
| 52 | if __name__ == "__main__": |
| 53 | test_main() |