File

spec/util_envload_spec.lua @ 12580:a9dbf657c894 0.12

util.datamapper: Improve handling of schemas with non-obvious "type" The JSON Schema specification says that schemas are objects or booleans, and that the 'type' property is optional and can be an array. This module previously allowed bare type names as schemas and did not really handle booleans. It now handles missing 'type' properties and boolean 'true' as a schema. Objects and arrays are guessed based on the presence of 'properties' or 'items' field.
author Kim Alvefur <zash@zash.se>
date Fri, 08 Jul 2022 17:32:48 +0200
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)