diff options
| author | Albert Krewinkel <[email protected]> | 2025-05-14 09:26:04 +0200 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2025-05-14 09:17:24 -0700 |
| commit | 5b896bc1a962568bddbd62b760ef41d0574af248 (patch) | |
| tree | 05c129cdc4ff8e315a4f7ab8cf9553c89b03f317 /pandoc-lua-engine/test/lua/module | |
| parent | be9fbb3f6731dc6223816677aab6c64243511c8f (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/lua/module')
| -rw-r--r-- | pandoc-lua-engine/test/lua/module/pandoc.lua | 23 |
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), }, |
