spec/util_poll_spec.lua
author Kim Alvefur <zash@zash.se>
Thu, 28 Mar 2024 15:39:59 +0100
changeset 13473 f9171624fd03
parent 12404 728d1c1dc7db
permissions -rw-r--r--
MUC: Fix legacy hats (thanks nicoco) Why do we not have tests for this?
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12404
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     1
describe("util.poll", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     2
	local poll;
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     3
	setup(function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     4
		poll = require "util.poll";
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     5
	end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     6
	it("loads", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     7
		assert.is_table(poll);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     8
		assert.is_function(poll.new);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
     9
		assert.is_string(poll.api);
9319
4aa522b9e1c4 util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
	end);
12404
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    11
	describe("new", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    12
		local p;
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    13
		setup(function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    14
			p = poll.new();
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    15
		end)
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    16
		it("times out", function ()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    17
			local fd, err = p:wait(0);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    18
			assert.falsy(fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    19
			assert.equal("timeout", err);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    20
		end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    21
		it("works", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    22
			-- stdout should be writable, right?
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    23
			assert.truthy(p:add(1, false, true));
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    24
			local fd, r, w = p:wait(1);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    25
			assert.is_number(fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    26
			assert.is_boolean(r);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    27
			assert.is_boolean(w);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    28
			assert.equal(1, fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    29
			assert.falsy(r);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    30
			assert.truthy(w);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    31
			assert.truthy(p:del(1));
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    32
		end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9319
diff changeset
    33
	end)
9319
4aa522b9e1c4 util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    34
end);
4aa522b9e1c4 util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    35