diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/ltn12test.lua | 3 | ||||
| -rw-r--r-- | test/mimetest.lua | 93 |
2 files changed, 39 insertions, 57 deletions
diff --git a/test/ltn12test.lua b/test/ltn12test.lua new file mode 100644 index 0000000..1c1f3f2 --- /dev/null +++ b/test/ltn12test.lua | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | sink = ltn12.sink.file(io.open("lixo", "w")) | ||
| 2 | source = ltn12.source.file(io.open("luasocket", "r")) | ||
| 3 | ltn12.pump(source, sink) | ||
diff --git a/test/mimetest.lua b/test/mimetest.lua index 5a461fa..1a7e427 100644 --- a/test/mimetest.lua +++ b/test/mimetest.lua | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | dofile("noglobals.lua") | 1 | dofile("testsupport.lua") |
| 2 | 2 | ||
| 3 | local qptest = "qptest.bin" | 3 | local qptest = "qptest.bin" |
| 4 | local eqptest = "qptest.bin2" | 4 | local eqptest = "qptest.bin2" |
| @@ -31,26 +31,13 @@ local mao = [[ | |||
| 31 | assim, nem tudo o que dava exprimia grande confiança. | 31 | assim, nem tudo o que dava exprimia grande confiança. |
| 32 | ]] | 32 | ]] |
| 33 | 33 | ||
| 34 | local fail = function(s) | ||
| 35 | s = s or "failed" | ||
| 36 | assert(nil, s) | ||
| 37 | end | ||
| 38 | |||
| 39 | local readfile = function(name) | ||
| 40 | local f = io.open(name, "r") | ||
| 41 | if not f then return nil end | ||
| 42 | local s = f:read("*a") | ||
| 43 | f:close() | ||
| 44 | return s | ||
| 45 | end | ||
| 46 | |||
| 47 | local function transform(input, output, filter) | 34 | local function transform(input, output, filter) |
| 48 | local fi, err = io.open(input, "rb") | 35 | local fi, err = io.open(input, "rb") |
| 49 | if not fi then fail(err) end | 36 | if not fi then fail(err) end |
| 50 | local fo, err = io.open(output, "wb") | 37 | local fo, err = io.open(output, "wb") |
| 51 | if not fo then fail(err) end | 38 | if not fo then fail(err) end |
| 52 | while 1 do | 39 | while 1 do |
| 53 | local chunk = fi:read(math.random(0, 256)) | 40 | local chunk = fi:read(math.random(0, 1024)) |
| 54 | fo:write(filter(chunk)) | 41 | fo:write(filter(chunk)) |
| 55 | if not chunk then break end | 42 | if not chunk then break end |
| 56 | end | 43 | end |
| @@ -58,17 +45,10 @@ local function transform(input, output, filter) | |||
| 58 | fo:close() | 45 | fo:close() |
| 59 | end | 46 | end |
| 60 | 47 | ||
| 61 | local function compare(input, output) | ||
| 62 | local original = readfile(input) | ||
| 63 | local recovered = readfile(output) | ||
| 64 | if original ~= recovered then fail("recovering failed") | ||
| 65 | else print("ok") end | ||
| 66 | end | ||
| 67 | |||
| 68 | local function encode_qptest(mode) | 48 | local function encode_qptest(mode) |
| 69 | local encode = socket.mime.encode("quoted-printable", mode) | 49 | local encode = mime.encode("quoted-printable", mode) |
| 70 | local split = socket.mime.wrap("quoted-printable") | 50 | local split = mime.wrap("quoted-printable") |
| 71 | local chain = socket.mime.chain(encode, split) | 51 | local chain = ltn12.filter.chain(encode, split) |
| 72 | transform(qptest, eqptest, chain) | 52 | transform(qptest, eqptest, chain) |
| 73 | end | 53 | end |
| 74 | 54 | ||
| @@ -77,7 +57,7 @@ local function compare_qptest() | |||
| 77 | end | 57 | end |
| 78 | 58 | ||
| 79 | local function decode_qptest() | 59 | local function decode_qptest() |
| 80 | local decode = socket.mime.decode("quoted-printable") | 60 | local decode = mime.decode("quoted-printable") |
| 81 | transform(eqptest, dqptest, decode) | 61 | transform(eqptest, dqptest, decode) |
| 82 | end | 62 | end |
| 83 | 63 | ||
| @@ -151,24 +131,24 @@ local function cleanup_qptest() | |||
| 151 | end | 131 | end |
| 152 | 132 | ||
| 153 | local function encode_b64test() | 133 | local function encode_b64test() |
| 154 | local e1 = socket.mime.encode("base64") | 134 | local e1 = mime.encode("base64") |
| 155 | local e2 = socket.mime.encode("base64") | 135 | local e2 = mime.encode("base64") |
| 156 | local e3 = socket.mime.encode("base64") | 136 | local e3 = mime.encode("base64") |
| 157 | local e4 = socket.mime.encode("base64") | 137 | local e4 = mime.encode("base64") |
| 158 | local sp4 = socket.mime.wrap() | 138 | local sp4 = mime.wrap() |
| 159 | local sp3 = socket.mime.wrap(59) | 139 | local sp3 = mime.wrap(59) |
| 160 | local sp2 = socket.mime.wrap("base64", 30) | 140 | local sp2 = mime.wrap("base64", 30) |
| 161 | local sp1 = socket.mime.wrap(27) | 141 | local sp1 = mime.wrap(27) |
| 162 | local chain = socket.mime.chain(e1, sp1, e2, sp2, e3, sp3, e4, sp4) | 142 | local chain = ltn12.filter.chain(e1, sp1, e2, sp2, e3, sp3, e4, sp4) |
| 163 | transform(b64test, eb64test, chain) | 143 | transform(b64test, eb64test, chain) |
| 164 | end | 144 | end |
| 165 | 145 | ||
| 166 | local function decode_b64test() | 146 | local function decode_b64test() |
| 167 | local d1 = socket.mime.decode("base64") | 147 | local d1 = mime.decode("base64") |
| 168 | local d2 = socket.mime.decode("base64") | 148 | local d2 = mime.decode("base64") |
| 169 | local d3 = socket.mime.decode("base64") | 149 | local d3 = mime.decode("base64") |
| 170 | local d4 = socket.mime.decode("base64") | 150 | local d4 = mime.decode("base64") |
| 171 | local chain = socket.mime.chain(d1, d2, d3, d4) | 151 | local chain = ltn12.filter.chain(d1, d2, d3, d4) |
| 172 | transform(eb64test, db64test, chain) | 152 | transform(eb64test, db64test, chain) |
| 173 | end | 153 | end |
| 174 | 154 | ||
| @@ -182,11 +162,11 @@ local function compare_b64test() | |||
| 182 | end | 162 | end |
| 183 | 163 | ||
| 184 | local function identity_test() | 164 | local function identity_test() |
| 185 | local chain = socket.mime.chain( | 165 | local chain = ltn12.filter.chain( |
| 186 | socket.mime.encode("quoted-printable"), | 166 | mime.encode("quoted-printable"), |
| 187 | socket.mime.encode("base64"), | 167 | mime.encode("base64"), |
| 188 | socket.mime.decode("base64"), | 168 | mime.decode("base64"), |
| 189 | socket.mime.decode("quoted-printable") | 169 | mime.decode("quoted-printable") |
| 190 | ) | 170 | ) |
| 191 | transform(b64test, eb64test, chain) | 171 | transform(b64test, eb64test, chain) |
| 192 | compare(b64test, eb64test) | 172 | compare(b64test, eb64test) |
| @@ -195,8 +175,8 @@ end | |||
| 195 | 175 | ||
| 196 | 176 | ||
| 197 | local function padcheck(original, encoded) | 177 | local function padcheck(original, encoded) |
| 198 | local e = (socket.mime.b64(original)) | 178 | local e = (mime.b64(original)) |
| 199 | local d = (socket.mime.unb64(encoded)) | 179 | local d = (mime.unb64(encoded)) |
| 200 | if e ~= encoded then fail("encoding failed") end | 180 | if e ~= encoded then fail("encoding failed") end |
| 201 | if d ~= original then fail("decoding failed") end | 181 | if d ~= original then fail("decoding failed") end |
| 202 | end | 182 | end |
| @@ -206,8 +186,8 @@ local function chunkcheck(original, encoded) | |||
| 206 | for i = 0, len do | 186 | for i = 0, len do |
| 207 | local a = string.sub(original, 1, i) | 187 | local a = string.sub(original, 1, i) |
| 208 | local b = string.sub(original, i+1) | 188 | local b = string.sub(original, i+1) |
| 209 | local e, r = socket.mime.b64(a, b) | 189 | local e, r = mime.b64(a, b) |
| 210 | local f = (socket.mime.b64(r)) | 190 | local f = (mime.b64(r)) |
| 211 | if (e .. f ~= encoded) then fail(e .. f) end | 191 | if (e .. f ~= encoded) then fail(e .. f) end |
| 212 | end | 192 | end |
| 213 | end | 193 | end |
| @@ -231,6 +211,13 @@ end | |||
| 231 | 211 | ||
| 232 | local t = socket.time() | 212 | local t = socket.time() |
| 233 | 213 | ||
| 214 | identity_test() | ||
| 215 | encode_b64test() | ||
| 216 | decode_b64test() | ||
| 217 | compare_b64test() | ||
| 218 | cleanup_b64test() | ||
| 219 | padding_b64test() | ||
| 220 | |||
| 234 | create_qptest() | 221 | create_qptest() |
| 235 | encode_qptest() | 222 | encode_qptest() |
| 236 | decode_qptest() | 223 | decode_qptest() |
| @@ -240,12 +227,4 @@ decode_qptest() | |||
| 240 | compare_qptest() | 227 | compare_qptest() |
| 241 | cleanup_qptest() | 228 | cleanup_qptest() |
| 242 | 229 | ||
| 243 | encode_b64test() | ||
| 244 | decode_b64test() | ||
| 245 | compare_b64test() | ||
| 246 | cleanup_b64test() | ||
| 247 | padding_b64test() | ||
| 248 | |||
| 249 | identity_test() | ||
| 250 | |||
| 251 | print(string.format("done in %.2fs", socket.time() - t)) | 230 | print(string.format("done in %.2fs", socket.time() - t)) |
