Mercurial > prosody-hg
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 |
| 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) |
