summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2022-10-03 19:42:39 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2022-10-03 19:46:57 +0200
commit8986c03f20edfb8c6b25fc8c9f1a513f47bd3717 (patch)
tree4fb7af5bee1ac86107510eebd092f4ae0e622028
parentf31524886504a38b621774edaf29b9d4ba3bc53a (diff)
Add test for custom bytestring writers
-rw-r--r--pandoc-lua-engine/pandoc-lua-engine.cabal2
-rw-r--r--pandoc-lua-engine/test/Tests/Lua/Writer.hs10
-rw-r--r--pandoc-lua-engine/test/bytestring.binbin0 -> 256 bytes
-rw-r--r--pandoc-lua-engine/test/bytestring.lua7
4 files changed, 18 insertions, 1 deletions
diff --git a/pandoc-lua-engine/pandoc-lua-engine.cabal b/pandoc-lua-engine/pandoc-lua-engine.cabal
index 3d3f6d0d7..30a4ad9bf 100644
--- a/pandoc-lua-engine/pandoc-lua-engine.cabal
+++ b/pandoc-lua-engine/pandoc-lua-engine.cabal
@@ -19,6 +19,8 @@ synopsis: Lua engine to power custom pandoc conversions
description: This package provides a pandoc scripting engine based on
Lua.
extra-source-files: README.md
+ , test/bytestring.bin
+ , test/bytestring.lua
, test/lua/*.lua
, test/lua/module/*.lua
, test/lua/module/partial.test
diff --git a/pandoc-lua-engine/test/Tests/Lua/Writer.hs b/pandoc-lua-engine/test/Tests/Lua/Writer.hs
index 80d743dd5..18d4e700d 100644
--- a/pandoc-lua-engine/test/Tests/Lua/Writer.hs
+++ b/pandoc-lua-engine/test/Tests/Lua/Writer.hs
@@ -16,7 +16,7 @@ import Data.Default (Default (def))
import Text.Pandoc.Class (runIOorExplode, readFileStrict)
import Text.Pandoc.Lua (writeCustom)
import Text.Pandoc.Readers (readNative)
-import Text.Pandoc.Writers (Writer (TextWriter))
+import Text.Pandoc.Writers (Writer (ByteStringWriter, TextWriter))
import Test.Tasty (TestTree)
import Test.Tasty.Golden (goldenVsString)
@@ -44,4 +44,12 @@ tests =
TextWriter f -> f def doc
_ -> error "Expected a text writer"
pure $ BL.fromStrict (UTF8.fromText txt))
+
+ , goldenVsString "tables testsuite"
+ "bytestring.bin"
+ (runIOorExplode $ do
+ txt <- writeCustom "bytestring.lua" >>= \case
+ ByteStringWriter f -> f def mempty
+ _ -> error "Expected a bytestring writer"
+ pure txt)
]
diff --git a/pandoc-lua-engine/test/bytestring.bin b/pandoc-lua-engine/test/bytestring.bin
new file mode 100644
index 000000000..c86626638
--- /dev/null
+++ b/pandoc-lua-engine/test/bytestring.bin
Binary files differ
diff --git a/pandoc-lua-engine/test/bytestring.lua b/pandoc-lua-engine/test/bytestring.lua
new file mode 100644
index 000000000..f872e28d4
--- /dev/null
+++ b/pandoc-lua-engine/test/bytestring.lua
@@ -0,0 +1,7 @@
+function ByteStringWriter (doc, opts)
+ local buffer = {}
+ for i=0, 255 do
+ table.insert(buffer, string.char(i))
+ end
+ return table.concat(buffer, '')
+end