spec/util_table_spec.lua
author Matthew Wild <mwild1@gmail.com>
Sun, 17 Mar 2024 10:10:24 +0000
changeset 13464 a688947fab1e
parent 12946 54756e3a54b9
permissions -rw-r--r--
mod_bosh: Set base_type on session This fixes a traceback with mod_saslauth. Ideally we move this to util.session at some point, though.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9730
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 ()
9731
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
diff changeset
     3
	describe("create()", function ()
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
diff changeset
     4
		it("works", function ()
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
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: 9730
diff changeset
     6
			assert.is.table(u_table.create(1,1));
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
diff changeset
     7
		end);
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
diff changeset
     8
	end);
9a35ae935390 util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents: 9730
diff changeset
     9
9730
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);
12408
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    15
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    16
	describe("move()", function ()
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    17
		it("works", function ()
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    18
			local t1 = { "apple", "banana", "carrot" };
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    19
			local t2 = { "cat", "donkey", "elephant" };
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    20
			local t3 = {};
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
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: 9731
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: 9731
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: 9731
diff changeset
    24
		end);
12946
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    25
		it("supports overlapping regions", function ()
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    26
			do
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
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: 12408
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: 12408
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: 12408
diff changeset
    30
			end
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    31
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    32
			do
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
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: 12408
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: 12408
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: 12408
diff changeset
    36
			end
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    37
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    38
			do
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
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: 12408
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: 12408
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: 12408
diff changeset
    42
			end
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    43
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    44
			do
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
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: 12408
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: 12408
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: 12408
diff changeset
    48
			end
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    49
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    50
			do
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
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: 12408
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: 12408
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: 12408
diff changeset
    54
			end
54756e3a54b9 util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents: 12408
diff changeset
    55
		end);
12408
082f38e9de64 util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents: 9731
diff changeset
    56
	end);
9730
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    57
end);
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    58
a726668b3c48 util.table: Add test for pack()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    59