summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_base64.py
blob: 8ee4d2e878110ed1d213b13585afe114f0f8df03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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()