diff options
| author | Albert Krewinkel <albert@zeitkraut.de> | 2022-10-10 09:33:20 +0200 |
|---|---|---|
| committer | Albert Krewinkel <albert@zeitkraut.de> | 2022-10-10 11:27:42 +0200 |
| commit | a5ffaaa4136f11378c0c7741309edb9fd53e17d8 (patch) | |
| tree | afa29d609290f50cf752754cfca4a23075dc2781 /pandoc-lua-engine/test/Tests | |
| parent | d6fb8fb20fbb822d58cdfbde34961094c902a708 (diff) | |
Lua: support custom bytestring readers.
Diffstat (limited to 'pandoc-lua-engine/test/Tests')
| -rw-r--r-- | pandoc-lua-engine/test/Tests/Lua/Reader.hs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pandoc-lua-engine/test/Tests/Lua/Reader.hs b/pandoc-lua-engine/test/Tests/Lua/Reader.hs new file mode 100644 index 000000000..16474bd91 --- /dev/null +++ b/pandoc-lua-engine/test/Tests/Lua/Reader.hs @@ -0,0 +1,34 @@ +{-# LANGUAGE LambdaCase #-} +{- | +Module : Tests.Lua.Reader +Copyright : © 2022 Albert Krewinkel +License : GPL-2.0-or-later +Maintainer : Albert Krewinkel <pandoc@tarleb.com> + +Tests for custom Lua readers. +-} +module Tests.Lua.Reader (tests) where + +import Data.Char (chr) +import Data.Default (Default (def)) +import Text.Pandoc.Class (runIOorExplode) +import Text.Pandoc.Lua (readCustom) +import Text.Pandoc.Readers (Reader (ByteStringReader, TextReader)) +import Test.Tasty (TestTree) +import Test.Tasty.HUnit ((@?=), testCase) + +import qualified Data.ByteString.Lazy as BL +import qualified Data.Text as T +import qualified Text.Pandoc.Builder as B + +tests :: [TestTree] +tests = + [ testCase "read binary to code block" $ do + input <- BL.readFile "bytestring.bin" + doc <- runIOorExplode $ + readCustom "bytestring-reader.lua" >>= \case + ByteStringReader f -> f def input + TextReader {} -> error "Expected a bytestring reader" + let bytes = mconcat $ map (B.str . T.singleton . chr) [0..255] + doc @?= B.doc (B.plain bytes) + ] |
