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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9726
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local u_table = require "util.table";
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 describe("pack()", function ()
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 it("works", function ()
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 assert.same({ "lorem", "ipsum", "dolor", "sit", "amet", n = 5 }, u_table.pack("lorem", "ipsum", "dolor", "sit", "amet"));
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 end);
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
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
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 end);
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28