Software /
code /
prosody
Annotate
spec/util_human_io_spec.lua @ 13319:6d6291dfe735
net.http: Add simple connection pooling
This should speed up repeated requests to the same site by keeping their
connections around and sending more requests on them.
Sending multiple requests at the same time is not supported, instead a
request started while another to the same authority is in progress would
open a new one and the first one to complete would go back in the pool.
This could be investigated in the future.
Some http servers limit the number of requests per connection and this
is not tested and could cause one request to fail, but hopefully it will
close the connection and prevent it from being reused.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 11 Nov 2023 23:08:34 +0100 |
parent | 13198:313c49c7566a |
child | 13367:82513890a1d8 |
rev | line source |
---|---|
10978
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 describe("util.human.io", function () |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local human_io |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 setup(function () |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 human_io = require "util.human.io"; |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 end); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 describe("table", function () |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 it("alignment works", function () |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 local row = human_io.table({ |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 { |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 width = 3, |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 align = "right" |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 }, |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 { |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 width = 3, |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 }, |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 }); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 assert.equal(" 1 | . ", row({ 1, "." })); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 assert.equal(" 10 | .. ", row({ 10, ".." })); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 assert.equal("100 | ...", row({ 100, "..." })); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 assert.equal("10… | ..…", row({ 1000, "...." })); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 end); |
11896
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
26 |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
27 describe("ellipsis", function() |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
28 it("works", function() |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
29 assert.equal("…", human_io.ellipsis("abc", 1)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
30 assert.equal("a…", human_io.ellipsis("abc", 2)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
31 assert.equal("abc", human_io.ellipsis("abc", 3)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
32 |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
33 assert.equal("…", human_io.ellipsis("räksmörgås", 1)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
34 assert.equal("r…", human_io.ellipsis("räksmörgås", 2)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
35 assert.equal("rä…", human_io.ellipsis("räksmörgås", 3)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
36 assert.equal("räk…", human_io.ellipsis("räksmörgås", 4)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
37 assert.equal("räks…", human_io.ellipsis("räksmörgås", 5)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
38 assert.equal("räksm…", human_io.ellipsis("räksmörgås", 6)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
39 assert.equal("räksmö…", human_io.ellipsis("räksmörgås", 7)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
40 assert.equal("räksmör…", human_io.ellipsis("räksmörgås", 8)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
41 assert.equal("räksmörg…", human_io.ellipsis("räksmörgås", 9)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
42 assert.equal("räksmörgås", human_io.ellipsis("räksmörgås", 10)); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
43 end); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10978
diff
changeset
|
44 end); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
45 |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
46 describe("parse_duration", function () |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
47 local function test(expected, duration) |
13197
6beec4de8e63
util.human.io: Include relevant arguments in test messages
Kim Alvefur <zash@zash.se>
parents:
13196
diff
changeset
|
48 return assert.equal(expected, human_io.parse_duration(duration), ("%q -> %d"):format(duration, expected)); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
49 end |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
50 it("works", function () |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
51 test(1, "1s"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
52 test(60, "1mi"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
53 test(60, "1min"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
54 test(60, "1 min"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
55 test(60, "1 minute"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
56 test(120, "2min"); |
13198
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
57 test(7200, "2h"); |
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
58 test(7200, "2 hours"); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
59 test(86400, "1d"); |
13198
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
60 test(604800, "1w"); |
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
61 test(604800, "1week"); |
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
62 test(1814400, "3 weeks"); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
63 test(2678400, "1m"); |
13198
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
64 test(2678400, "1mo"); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
65 test(2678400, "1month"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
66 test(2678400, "1 month"); |
13198
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
67 test(31536000, "365 days"); |
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
68 test(31556952, "1 year"); |
313c49c7566a
util.human.io: Add tests for parse_duration() (some failing)
Kim Alvefur <zash@zash.se>
parents:
13197
diff
changeset
|
69 return assert.is_nil(human_io.parse_duration("two weeks"), "\"2 weeks\" -> nil"); |
13054
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
70 end); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11896
diff
changeset
|
71 end); |
10978
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
72 end); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
73 |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
74 |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
75 |