annotate spec/util_envload_spec.lua @ 11736:ddb87df3de30

mod_admin_shell: Keep unrestricted environment for session lifetime Makes it so that global values set in the environment are kept longer than within one line, and thus can be used until the session ends. They still don't pollute the global environment, which is an error anyway. Thanks phryk for noticing.
author Kim Alvefur <zash@zash.se>
date Wed, 11 Aug 2021 14:55:59 +0200
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)