author | Matthew Wild <mwild1@gmail.com> |
Fri, 07 Apr 2023 14:14:53 +0100 | |
changeset 13058 | f4d7fe919969 |
parent 11900 | 93e9f7ae2f9b |
child 13200 | eca44e058eed |
permissions | -rw-r--r-- |
10982
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); |
11900
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
diff
changeset
|
26 |
|
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
diff
changeset
|
27 |
describe("ellipsis", function() |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
diff
changeset
|
28 |
it("works", function() |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
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:
10982
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:
10982
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:
10982
diff
changeset
|
32 |
|
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
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:
10982
diff
changeset
|
43 |
end); |
93e9f7ae2f9b
util.human.io: Fix cutting of UTF-8 into pieces
Kim Alvefur <zash@zash.se>
parents:
10982
diff
changeset
|
44 |
end); |
13058
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
45 |
|
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
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:
11900
diff
changeset
|
47 |
local function test(expected, duration) |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
48 |
assert.equal(expected, human_io.parse_duration(duration)); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
49 |
end |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
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:
11900
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:
11900
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:
11900
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:
11900
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:
11900
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:
11900
diff
changeset
|
56 |
test(120, "2min"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
57 |
test(86400, "1d"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
58 |
test(2678400, "1m"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
59 |
test(2678400, "1month"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
60 |
test(2678400, "1 month"); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
61 |
end); |
f4d7fe919969
util.human.io: Add parse_duration() method to parse a duration string
Matthew Wild <mwild1@gmail.com>
parents:
11900
diff
changeset
|
62 |
end); |
10982
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 |
end); |
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 |
|
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 |
|
4d3247a1f6b3
util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
66 |