Annotate

spec/util_human_io_spec.lua @ 13014:06453c564141

util.startup: Add prosody.started promise to easily execute code after startup To avoid a race where server-started fires before the promise function body is run (on next tick), I moved server-started to fire on the next tick, which seems sensible anyway. Errors are logged, I'm not sure if we ought to be doing something more here. I'm sure we'll find out.
author Matthew Wild <mwild1@gmail.com>
date Sat, 01 Apr 2023 11:56:38 +0100
parent 11896:93e9f7ae2f9b
child 13054:f4d7fe919969
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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);
10978
4d3247a1f6b3 util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 end);
4d3247a1f6b3 util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46
4d3247a1f6b3 util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47
4d3247a1f6b3 util.human.io: Add brief test of table generation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
48