File

spec/util_envload_spec.lua @ 13575:750ff9f579e2

mod_c2s, mod_s2s: Support for queuing callbacks to run in session thread This allows certain session-specific code that needs to run in the async context, but is itself triggered outside of that context (e.g. timers), to be queued. An example of this is the session destruction code of mod_smacks, when the hibernation timeout is reached.
author Matthew Wild <mwild1@gmail.com>
date Thu, 21 Nov 2024 17:02:07 +0000
parent 11489:37f49d0ad22c
line wrap: on
line source

describe("util.envload", function()
	local envload = require "util.envload";
	describe("envload()", function()
		it("works", function()
			local f, err = envload.envload("return 'hello'", "@test", {});
			assert.is_function(f, err);
			local ok, ret = pcall(f);
			assert.truthy(ok);
			assert.equal("hello", ret);
		end);
		it("lets you pass values in and out", function ()
			local f, err = envload.envload("return thisglobal", "@test", { thisglobal = "yes, this one" });
			assert.is_function(f, err);
			local ok, ret = pcall(f);
			assert.truthy(ok);
			assert.equal("yes, this one", ret);

		end);

	end)
	-- TODO envloadfile()
end)