spec/util_table_spec.lua
author Kim Alvefur <zash@zash.se>
Wed, 27 Mar 2024 19:33:11 +0100
changeset 13471 c2a476f4712a
parent 12946 54756e3a54b9
permissions -rw-r--r--
util.startup: Fix exiting on pidfile trouble prosody.shutdown() relies on prosody.main_thread, which has not been set yet at this point. Doing a clean shutdown might actually be harmful in case it tears down things set up by the conflicting Prosody, such as the very pidfile we were looking at. Thanks again SigmaTel71 for noticing
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