|
1 | | -local base64 = require("base64") |
2 | | -local strings = require("strings") |
| 1 | +local base64 = require 'base64' |
| 2 | +local strings = require 'strings' |
| 3 | +local assert = require 'assert' |
3 | 4 |
|
4 | 5 | function TestEncodeToString(t) |
5 | 6 | local tests = { |
6 | 7 | { |
7 | | - name="input with \1 chars and RawStdEncoding", |
8 | | - input="foo\01bar", |
9 | | - encoder=base64.RawStdEncoding, |
10 | | - expected="Zm9vAWJhcg", |
| 8 | + name = "input with \1 chars and RawStdEncoding", |
| 9 | + input = "foo\01bar", |
| 10 | + encoder = base64.RawStdEncoding, |
| 11 | + expected = "Zm9vAWJhcg", |
11 | 12 | }, |
12 | 13 | { |
13 | | - name="input with \1 chars and StdEncoding", |
14 | | - input="foo\01bar", |
15 | | - encoder=base64.StdEncoding, |
16 | | - expected="Zm9vAWJhcg==", |
| 14 | + name = "input with \1 chars and StdEncoding", |
| 15 | + input = "foo\01bar", |
| 16 | + encoder = base64.StdEncoding, |
| 17 | + expected = "Zm9vAWJhcg==", |
17 | 18 | }, |
18 | 19 | { |
19 | | - name="input with <> chars and RawURLEncoding", |
20 | | - input="this is a <tag> and should be encoded", |
21 | | - encoder=base64.RawURLEncoding, |
22 | | - expected="dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA", |
| 20 | + name = "input with <> chars and RawURLEncoding", |
| 21 | + input = "this is a <tag> and should be encoded", |
| 22 | + encoder = base64.RawURLEncoding, |
| 23 | + expected = "dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA", |
23 | 24 | }, |
24 | 25 | { |
25 | | - name="input with <> chars and URLEncoding", |
26 | | - input="this is a <tag> and should be encoded", |
27 | | - encoder=base64.URLEncoding, |
28 | | - expected="dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA==", |
| 26 | + name = "input with <> chars and URLEncoding", |
| 27 | + input = "this is a <tag> and should be encoded", |
| 28 | + encoder = base64.URLEncoding, |
| 29 | + expected = "dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA==", |
29 | 30 | }, |
30 | 31 | } |
31 | 32 | for _, tt in ipairs(tests) do |
32 | 33 | t:Run(tt.name, function(t) |
33 | 34 | local got = tt.encoder:encode_to_string(tt.input) |
34 | | - assert(tt.expected == got, string.format("'%s' ~= '%s'", tt.expected, got)) |
| 35 | + assert:Equal(t, tt.expected , got) |
35 | 36 | end) |
36 | 37 | end |
37 | 38 | end |
38 | 39 |
|
39 | 40 | function TestDecodeString(t) |
40 | 41 | local tests = { |
41 | 42 | { |
42 | | - name="input with \1 chars and RawStdEncoding", |
43 | | - input="Zm9vAWJhcg", |
44 | | - encoder=base64.RawStdEncoding, |
45 | | - expected="foo\01bar", |
| 43 | + name = "input with \1 chars and RawStdEncoding", |
| 44 | + input = "Zm9vAWJhcg", |
| 45 | + encoder = base64.RawStdEncoding, |
| 46 | + expected = "foo\01bar", |
46 | 47 | }, |
47 | 48 | { |
48 | | - name="input with \1 chars and StdEncoding", |
49 | | - input="Zm9vAWJhcg==", |
50 | | - encoder=base64.StdEncoding, |
51 | | - expected="foo\01bar", |
| 49 | + name = "input with \1 chars and StdEncoding", |
| 50 | + input = "Zm9vAWJhcg==", |
| 51 | + encoder = base64.StdEncoding, |
| 52 | + expected = "foo\01bar", |
52 | 53 | }, |
53 | 54 | { |
54 | | - name="input with <> chars and RawURLEncoding", |
55 | | - input="dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA", |
56 | | - encoder=base64.RawURLEncoding, |
57 | | - expected="this is a <tag> and should be encoded", |
| 55 | + name = "input with <> chars and RawURLEncoding", |
| 56 | + input = "dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA", |
| 57 | + encoder = base64.RawURLEncoding, |
| 58 | + expected = "this is a <tag> and should be encoded", |
58 | 59 | }, |
59 | 60 | { |
60 | | - name="input with <> chars and URLEncoding", |
61 | | - input="dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA==", |
62 | | - encoder=base64.URLEncoding, |
63 | | - expected="this is a <tag> and should be encoded", |
| 61 | + name = "input with <> chars and URLEncoding", |
| 62 | + input = "dGhpcyBpcyBhIDx0YWc-IGFuZCBzaG91bGQgYmUgZW5jb2RlZA==", |
| 63 | + encoder = base64.URLEncoding, |
| 64 | + expected = "this is a <tag> and should be encoded", |
64 | 65 | }, |
65 | 66 | } |
66 | 67 | for _, tt in ipairs(tests) do |
|
79 | 80 | function TestEncodeDecode(t) |
80 | 81 | local tests = { |
81 | 82 | { |
82 | | - name="input with \1 chars and RawStdEncoding", |
83 | | - input="foo\01bar", |
84 | | - encoder=base64.RawStdEncoding, |
| 83 | + name = "input with \1 chars and RawStdEncoding", |
| 84 | + input = "foo\01bar", |
| 85 | + encoder = base64.RawStdEncoding, |
85 | 86 | }, |
86 | 87 | { |
87 | | - name="input with \1 chars and StdEncoding", |
88 | | - input="foo\01bar", |
89 | | - encoder=base64.StdEncoding, |
| 88 | + name = "input with \1 chars and StdEncoding", |
| 89 | + input = "foo\01bar", |
| 90 | + encoder = base64.StdEncoding, |
90 | 91 | }, |
91 | 92 | { |
92 | | - name="input with <> chars and RawURLEncoding", |
93 | | - input="this is a <tag> and should be encoded", |
94 | | - encoder=base64.RawURLEncoding, |
| 93 | + name = "input with <> chars and RawURLEncoding", |
| 94 | + input = "this is a <tag> and should be encoded", |
| 95 | + encoder = base64.RawURLEncoding, |
95 | 96 | }, |
96 | 97 | { |
97 | | - name="input with <> chars and URLEncoding", |
98 | | - input="this is a <tag> and should be encoded", |
99 | | - encoder=base64.URLEncoding, |
| 98 | + name = "input with <> chars and URLEncoding", |
| 99 | + input = "this is a <tag> and should be encoded", |
| 100 | + encoder = base64.URLEncoding, |
100 | 101 | }, |
101 | 102 | } |
102 | 103 | for _, tt in ipairs(tests) do |
|
0 commit comments