diff options
Diffstat (limited to 'benchmark/weigh-pandoc.hs')
-rw-r--r-- | benchmark/weigh-pandoc.hs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/benchmark/weigh-pandoc.hs b/benchmark/weigh-pandoc.hs index 198d09b46..d3cada8c0 100644 --- a/benchmark/weigh-pandoc.hs +++ b/benchmark/weigh-pandoc.hs @@ -1,13 +1,14 @@ import Weigh import Text.Pandoc +import Data.Text (Text) main :: IO () main = do - doc <- read <$> readFile "tests/testsuite.native" + doc <- read <$> readFile "test/testsuite.native" mainWith $ do func "Pandoc document" id doc mapM_ - (\(n,r) -> weighReader doc n (handleError . r def{ readerSmart = True })) + (\(n,r) -> weighReader doc n (either (error . show) id . runPure . r def{readerExtensions = pandocExtensions})) [("markdown", readMarkdown) ,("html", readHtml) ,("docbook", readDocBook) @@ -15,22 +16,22 @@ main = do ,("commonmark", readCommonMark) ] mapM_ - (\(n,w) -> weighWriter doc n (w def)) + (\(n,w) -> weighWriter doc n (either (error . show) id . runPure . w def)) [("markdown", writeMarkdown) - ,("html", writeHtmlString) - ,("docbook", writeDocbook) + ,("html", writeHtml5String) + ,("docbook", writeDocbook5) ,("latex", writeLaTeX) ,("commonmark", writeCommonMark) ] -weighWriter :: Pandoc -> String -> (Pandoc -> String) -> Weigh () +weighWriter :: Pandoc -> String -> (Pandoc -> Text) -> Weigh () weighWriter doc name writer = func (name ++ " writer") writer doc -weighReader :: Pandoc -> String -> (String -> Pandoc) -> Weigh () +weighReader :: Pandoc -> String -> (Text -> Pandoc) -> Weigh () weighReader doc name reader = do case lookup name writers of - Just (PureStringWriter writer) -> - let inp = writer def{ writerWrapText = WrapAuto} doc + Just (TextWriter writer) -> + let inp = either (error . show) id $ runPure $ writer def{ writerWrapText = WrapAuto} doc in func (name ++ " reader") reader inp _ -> return () -- no writer for reader |