spec/util_poll_spec.lua
author Matthew Wild <mwild1@gmail.com>
Fri, 07 Oct 2022 11:35:56 +0100
changeset 12749 2cbf0e9314ff
parent 12404 728d1c1dc7db
permissions -rw-r--r--
mod_smacks: Change boolean attribute from '1' to 'true' for compatibility Conversations 2.10.10 and earlier expect this to be literally 'true' and don't recognise '1'. This leads to it not attempting resumption with Prosody at all since this change was introduced in 36ba170c4fd0. Thanks to Zash for noticing, debugging and diagnosing this issue. This issue is fixed in Conversations commit 052c58f3 (unreleased at the time of writing).
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