Mercurial > prosody-hg
annotate spec/util_table_spec.lua @ 12763:d26eefe98d09
util.dbuffer: Add efficient shortcuts for discard() in certain cases
If the buffer is already empty, nothing to do. If we're throwing away the
whole buffer, we can just empty it and avoid read_chunk() (which in turn
may collapse()). These shortcuts are much more efficient.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 11 Oct 2022 11:37:55 +0100 |
| parents | 082f38e9de64 |
| children | 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); |
|
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
25 end); |
| 9726 | 26 end); |
| 27 | |
| 28 |
