Mercurial > prosody-hg
annotate spec/util_table_spec.lua @ 12956:52fcdfe710ca
storagemanager: Add keyval+ (combined keyval + map) store type
This combines the two most common store types, which modules often end up
opening with both interfaces separately anyway.
As well as combining them, I've taken the opportunity to improve some of the
method names to make them clearer.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 27 Sep 2022 17:46:27 +0100 |
| parents | 54756e3a54b9 |
| children |
| 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 |
