Software /
code /
prosody
Annotate
spec/util_table_spec.lua @ 13114:025c38ee885d
util.dependencies: Print tables itself to reduce number of imports
Rationale: See diffstat
When this module is imported, it ends up calling stty via term_width()
in util.human.io.table(). When this happens outside of a terminal, the
following message is sent to stdout:
stty: 'standard input': Inappropriate ioctl for device
Not importing this module avoids that.
Furthermore three is value in this module having minimal dependencies as
they might not be available when it does the checks.
Ref a1fed82c44b9
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 26 May 2023 21:18:27 +0200 |
parent | 12942:54756e3a54b9 |
rev | line source |
---|---|
9726 | 1 local u_table = require "util.table"; |
2 describe("util.table", function () | |
9727
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
3 describe("create()", function () |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
4 it("works", function () |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
5 -- Can't test the allocated sizes of the table, so what you gonna do? |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
6 assert.is.table(u_table.create(1,1)); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
7 end); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
8 end); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
9 |
9726 | 10 describe("pack()", function () |
11 it("works", function () | |
12 assert.same({ "lorem", "ipsum", "dolor", "sit", "amet", n = 5 }, u_table.pack("lorem", "ipsum", "dolor", "sit", "amet")); | |
13 end); | |
14 end); | |
12404
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
15 |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
16 describe("move()", function () |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
17 it("works", function () |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
18 local t1 = { "apple", "banana", "carrot" }; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
19 local t2 = { "cat", "donkey", "elephant" }; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
20 local t3 = {}; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
21 u_table.move(t1, 1, 3, 1, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
22 u_table.move(t2, 1, 3, 3, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
23 assert.same({ "apple", "banana", "cat", "donkey", "elephant" }, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
24 end); |
12942
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
25 it("supports overlapping regions", function () |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
26 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
27 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
28 u_table.move(t1, 1, 3, 3); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
29 assert.same({ "apple", "banana", "apple", "banana", "carrot", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
30 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
31 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
32 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
33 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
34 u_table.move(t1, 1, 3, 2); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
35 assert.same({ "apple", "apple", "banana", "carrot", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
36 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
37 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
38 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
39 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
40 u_table.move(t1, 3, 5, 2); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
41 assert.same({ "apple", "carrot", "date", "endive", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
42 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
43 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
44 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
45 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
46 u_table.move(t1, 3, 5, 6); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
47 assert.same({ "apple", "banana", "carrot", "date", "endive", "carrot", "date", "endive" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
48 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
49 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
50 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
51 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
52 u_table.move(t1, 3, 1, 3); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
53 assert.same({ "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
54 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
55 end); |
12404
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
56 end); |
9726 | 57 end); |
58 | |
59 |