File: t30_base64.py

package info (click to toggle)
recode 3.7.15-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,400 kB
  • sloc: ansic: 73,177; sh: 8,107; python: 3,861; makefile: 198; lisp: 181; lex: 171; sed: 16
file content (72 lines) | stat: -rw-r--r-- 1,953 bytes parent folder | download
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
60
61
62
63
64
65
66
67
68
69
70
71
72
# -*- coding: utf-8 -*-
import common
from common import setup_module, teardown_module

class Test:

    inputs = [
        '\n',
        'a\n',
        'ab\n',
        'abc\n',
        'abcd\n',
        'abcdefghi\n',
        'abcdefghijklmnopqrs\n',
        'abcdefghijklmnopqrstuvwzyzABC\n',
        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLM\n',
        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVW\n',
        'abcdefghijklmnopqrstuvwzyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456\n',
    ]

    def test_1(self):
        # Single lines to Base64.
        common.request('../64')
        output = ['''\
Cg==
''', '''\
YQo=
''', '''\
YWIK
''', '''\
YWJjCg==
''', '''\
YWJjZAo=
''', '''\
YWJjZGVmZ2hpCg==
''', '''\
YWJjZGVmZ2hpamtsbW5vcHFycwo=
''', '''\
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkMK
''', '''\
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNCg==
''', '''\
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWVwo=
''', '''\
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTYK
'''
                  ]
        for input, output in zip(self.inputs, output):
            common.validate(input, output)

    def test_2(self):
        # Block of lines to Base64.
        common.request('/../64')
        output = '''\
CmEKYWIKYWJjCmFiY2QKYWJjZGVmZ2hpCmFiY2RlZmdoaWprbG1ub3BxcnMKYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd6eXpBQkMKYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xN
CmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3enl6QUJDREVGR0hJSktMTU5PUFFSU1RVVlcKYWJjZGVm
Z2hpamtsbW5vcHFyc3R1dnd6eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTYK
'''
        common.validate(''.join(self.inputs), output)

    def test_3(self):
        # Single lines to Base64 and back.
        common.request('/../64')
        for input in self.inputs:
            common.validate_back(input)

    def test_4(self):
        # Block of lines to Base64 and back.
        common.request('/../64')
        common.validate_back(''.join(self.inputs))