aboutsummaryrefslogtreecommitdiff
path: root/pandoc-lua-engine/test
diff options
context:
space:
mode:
Diffstat (limited to 'pandoc-lua-engine/test')
-rw-r--r--pandoc-lua-engine/test/lua/module/pandoc-mediabag.lua37
-rw-r--r--pandoc-lua-engine/test/lua/module/sample.svg37
2 files changed, 73 insertions, 1 deletions
diff --git a/pandoc-lua-engine/test/lua/module/pandoc-mediabag.lua b/pandoc-lua-engine/test/lua/module/pandoc-mediabag.lua
index 5ff65ee44..f001bf8db 100644
--- a/pandoc-lua-engine/test/lua/module/pandoc-mediabag.lua
+++ b/pandoc-lua-engine/test/lua/module/pandoc-mediabag.lua
@@ -49,6 +49,30 @@ return {
end),
},
+ group 'fetch' {
+ test('populates media bag', function ()
+ local filename = 'lua/module/sample.svg'
+ local mime, contents = mediabag.fetch(filename)
+ assert.are_equal(mime, 'image/svg+xml')
+ assert.are_equal(contents:sub(1,5), '<?xml')
+ mediabag.empty() -- clean up
+ end),
+ },
+
+ group 'fill' {
+ test('populates media bag', function ()
+ local filename = 'lua/module/sample.svg'
+ local doc = pandoc.Pandoc {
+ pandoc.Image('testing', filename)
+ }
+ mediabag.fill(doc)
+ local mime, contents = mediabag.lookup(filename)
+ assert.are_equal(mime, 'image/svg+xml')
+ assert.are_equal(contents:sub(1,5), '<?xml')
+ mediabag.empty() -- clean up
+ end),
+ },
+
group 'items' {
test('iterates over all items', function ()
local input_items = {
@@ -68,5 +92,16 @@ return {
assert.are_same(seen_items, input_items)
mediabag.empty() -- clean up
end)
- }
+ },
+
+ group 'lookup' {
+ test('returns MIME type and contents', function ()
+ mediabag.insert('test.html', 'text/html', '<aside>Who cares?</aside>')
+ local mime, contents = mediabag.lookup('test.html')
+ assert.are_equal(mime, 'text/html')
+ assert.are_equal(contents, '<aside>Who cares?</aside>')
+ mediabag.empty() -- clean up
+ end),
+ },
+
}
diff --git a/pandoc-lua-engine/test/lua/module/sample.svg b/pandoc-lua-engine/test/lua/module/sample.svg
new file mode 100644
index 000000000..f1b427c43
--- /dev/null
+++ b/pandoc-lua-engine/test/lua/module/sample.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="-35 -35 70 70">
+ <title>Single-Source-Publishing Logo</title>
+ <defs>
+ <g id="doc">
+ <!-- document shape -->
+ <polygon points="-10,-31.53 -10,-3.25 0,0 10,-3.25 10,-23.53 2,-31.53" />
+ <!-- the "fold" triangle -->
+ <polygon points="2,-23.53 2,-31.53 10,-23.53" fill-opacity="90%" />
+ </g>
+ </defs>
+
+ <g transform="rotate(30)">
+ <!-- colored docs -->
+ <g fill-opacity="75%">
+ <use href="#doc" fill="#ffce54" transform="rotate(000)" />
+ <use href="#doc" fill="#ed5564" transform="rotate(072)" />
+ <use href="#doc" fill="#ac92eb" transform="rotate(144)" />
+ <use href="#doc" fill="#4fc1e8" transform="rotate(216)" />
+ <use href="#doc" fill="#a0d568" transform="rotate(288)" />
+ </g>
+
+ <!-- Add blackish border -->
+ <g stroke="#555555"
+ stroke-width="0.5"
+ stroke-linejoin="round"
+ fill="none">
+ <use href="#doc" transform="rotate(000)" />
+ <use href="#doc" transform="rotate(072)" />
+ <use href="#doc" transform="rotate(144)" />
+ <use href="#doc" transform="rotate(216)" />
+ <use href="#doc" transform="rotate(288)" />
+ </g>
+ </g>
+</svg>