annotate spec/util_envload_spec.lua @ 13903:4af7d00a2966

MUC: occupant: refactor to allow storing more than just presence for a session Previously a "session" (i.e. a full JID joined to a MUC) was stored as simply a mapping of full JIDs->presence, contained within occupant objects (an occupant object groups all sessions behind a certain nick in the MUC). To enable developing GC3 and other features, it would be helpful if we can store additional metadata when a client joins a room, for example, whether it has opted out of receiving presence stanzas (a GC3 feature). This changes the internal data structure, which shouldn't be used outside this module, it adds a new :get_session() method, and modifies the :each_session() iterator to return the session as an additional result (which should be backwards compatible with code that just consumes the existing two results).
author Matthew Wild <mwild1@gmail.com>
date Mon, 11 Nov 2024 12:47:01 +0000
parents 37f49d0ad22c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11489
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 describe("util.envload", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local envload = require "util.envload";
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 describe("envload()", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 it("works", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local f, err = envload.envload("return 'hello'", "@test", {});
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 assert.is_function(f, err);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 local ok, ret = pcall(f);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 assert.truthy(ok);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 assert.equal("hello", ret);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 end);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 it("lets you pass values in and out", function ()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 local f, err = envload.envload("return thisglobal", "@test", { thisglobal = "yes, this one" });
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 assert.is_function(f, err);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 local ok, ret = pcall(f);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 assert.truthy(ok);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 assert.equal("yes, this one", ret);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 end);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 end)
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 -- TODO envloadfile()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 end)