aboutsummaryrefslogtreecommitdiff
path: root/pandoc-lua-engine/test
diff options
context:
space:
mode:
authorAlbert Krewinkel <[email protected]>2025-05-14 09:26:04 +0200
committerJohn MacFarlane <[email protected]>2025-05-14 09:17:24 -0700
commit5b896bc1a962568bddbd62b760ef41d0574af248 (patch)
tree05c129cdc4ff8e315a4f7ab8cf9553c89b03f317 /pandoc-lua-engine/test
parentbe9fbb3f6731dc6223816677aab6c64243511c8f (diff)
Lua: allow to pass files to the `pandoc.read` sandbox
The sandbox is now enabled if the fourth parameter is a list of files. The files are read and then made available in the sandbox via a mock file system.
Diffstat (limited to 'pandoc-lua-engine/test')
-rw-r--r--pandoc-lua-engine/test/lua/module/pandoc.lua23
1 files changed, 11 insertions, 12 deletions
diff --git a/pandoc-lua-engine/test/lua/module/pandoc.lua b/pandoc-lua-engine/test/lua/module/pandoc.lua
index 3db58c0f8..b196d143c 100644
--- a/pandoc-lua-engine/test/lua/module/pandoc.lua
+++ b/pandoc-lua-engine/test/lua/module/pandoc.lua
@@ -297,22 +297,16 @@ return {
test('images are added to the mediabag', function ()
local epub = io.open('lua/module/sample.epub', 'rb'):read('a')
local _ = pandoc.read(epub, 'epub')
- assert.are_equal(
- #pandoc.mediabag.list(),
- 1
- )
+ assert.are_equal(#pandoc.mediabag.list(), 1)
end),
test('images from EPUB are added when using the sandbox', function ()
local epub = io.open('lua/module/sample.epub', 'rb'):read('a')
- local _ = pandoc.read(epub, 'epub', nil, 'sandbox')
- assert.are_equal(
- #pandoc.mediabag.list(),
- 1
- )
+ local _ = pandoc.read(epub, 'epub', nil, {})
+ assert.are_equal(#pandoc.mediabag.list(), 1)
end),
test('includes work in global env', function ()
local tex = '\\include{lua/module/include.tex}'
- local doc = pandoc.read(tex, 'latex', nil, 'global')
+ local doc = pandoc.read(tex, 'latex')
assert.are_equal(
doc.blocks,
pandoc.Blocks{pandoc.Para 'included'}
@@ -320,10 +314,15 @@ return {
end),
test('sandbox disallows access to the filesystem', function ()
local tex = '\\include{lua/module/include.tex}'
- local doc = pandoc.read(tex, 'latex', nil, 'sandbox')
+ local doc = pandoc.read(tex, 'latex', nil, {})
+ assert.are_equal(doc.blocks, pandoc.Blocks{})
+ end),
+ test('files can be added to the sandbox', function ()
+ local tex = '\\include{lua/module/include.tex}'
+ local doc = pandoc.read(tex, 'latex', nil, {'lua/module/include.tex'})
assert.are_equal(
doc.blocks,
- pandoc.Blocks{}
+ pandoc.Blocks{pandoc.Para 'included'}
)
end),
},