aboutsummaryrefslogtreecommitdiff
path: root/pandoc-lua-engine/test/lua/module/pandoc-image.lua
diff options
context:
space:
mode:
Diffstat (limited to 'pandoc-lua-engine/test/lua/module/pandoc-image.lua')
-rw-r--r--pandoc-lua-engine/test/lua/module/pandoc-image.lua68
1 files changed, 68 insertions, 0 deletions
diff --git a/pandoc-lua-engine/test/lua/module/pandoc-image.lua b/pandoc-lua-engine/test/lua/module/pandoc-image.lua
new file mode 100644
index 000000000..72f261449
--- /dev/null
+++ b/pandoc-lua-engine/test/lua/module/pandoc-image.lua
@@ -0,0 +1,68 @@
+--
+-- Tests for the system module
+--
+local image = require 'pandoc.image'
+local tasty = require 'tasty'
+
+local group = tasty.test_group
+local test = tasty.test_case
+local assert = tasty.assert
+
+local svg_image = [==[<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ height="70" width="70"
+ viewBox="-35 -35 70 70">
+ <title>test</title>
+ <!-- document shape -->
+ <polygon points="-10,-31.53 -10,-3.25 0,0 10,-3.25 10,-23.53 2,-31.53" />
+</svg>
+]==]
+
+return {
+ -- Check existence of static fields
+ group 'static fields' {
+ },
+
+ group 'size' {
+ test('returns a table', function ()
+ local imgsize = {
+ width = 70,
+ height = 70,
+ dpi_horz = 96,
+ dpi_vert = 96,
+ }
+ assert.are_same(image.size(svg_image), imgsize)
+ end),
+ test('fails on faulty eps', function ()
+ assert.error_matches(
+ function () image.size('%!PS EPSF') end,
+ 'could not determine EPS size'
+ )
+ end),
+ test('fails if input is not an image', function ()
+ assert.error_matches(
+ function () image.size('not an image') end,
+ 'could not determine image type'
+ )
+ end),
+ test('respects the dpi setting', function ()
+ local imgsize = {
+ width = 70,
+ height = 70,
+ dpi_horz = 300,
+ dpi_vert = 300,
+ }
+ assert.are_same(image.size(svg_image, {dpi=300}), imgsize)
+ end),
+ },
+
+ group 'format' {
+ test('SVG', function ()
+ assert.are_equal(image.format(svg_image), 'svg')
+ end),
+ test('returns nil if input is not an image', function ()
+ assert.is_nil(image.format('not an image'))
+ end),
+ },
+}