@@ -7,7 +7,7 @@ import Control.Monad (when)
7import Data.Version (Version (versionBranch))
7import Data.Version (Version (versionBranch))
8import System.FilePath ((</>))
8import System.FilePath ((</>))
9import Test.Tasty (TestTree, localOption)
9import Test.Tasty (TestTree, localOption)
10−import Test.Tasty.HUnit (Assertion, assertEqual, assertFailure, testCase)
10+import Test.Tasty.HUnit (Assertion, assertEqual, testCase)
11import Test.Tasty.QuickCheck (QuickCheckTests (..), ioProperty, testProperty)
11import Test.Tasty.QuickCheck (QuickCheckTests (..), ioProperty, testProperty)
12import Text.Pandoc.Arbitrary ()
12import Text.Pandoc.Arbitrary ()
13import Text.Pandoc.Builder (bulletList, divWith, doc, doubleQuoted, emph,
13import Text.Pandoc.Builder (bulletList, divWith, doc, doubleQuoted, emph,
@@ -17,7 +17,8 @@ import Text.Pandoc.Builder (bulletList, divWith, doc, doubleQuoted, emph,
17import Text.Pandoc.Class (runIOorExplode, setUserDataDir)
17import Text.Pandoc.Class (runIOorExplode, setUserDataDir)
18import Text.Pandoc.Definition (Block (BlockQuote, Div, Para), Inline (Emph, Str),
18import Text.Pandoc.Definition (Block (BlockQuote, Div, Para), Inline (Emph, Str),
19 Attr, Meta, Pandoc, pandocTypesVersion)
19 Attr, Meta, Pandoc, pandocTypesVersion)
20−import Text.Pandoc.Lua (runLuaFilter, runPandocLua)
20+import Text.Pandoc.Filter (Filter (LuaFilter), applyFilters)
21+import Text.Pandoc.Lua (runPandocLua)
21import Text.Pandoc.Options (def)
22import Text.Pandoc.Options (def)
22import Text.Pandoc.Shared (pandocVersion)
23import Text.Pandoc.Shared (pandocVersion)
@@ -174,13 +175,11 @@ tests = map (localOption (QuickCheckTests 20))
176assertFilterConversion :: String -> FilePath -> Pandoc -> Pandoc -> Assertion
177assertFilterConversion :: String -> FilePath -> Pandoc -> Pandoc -> Assertion
177−assertFilterConversion msg filterPath docIn docExpected = do
178+assertFilterConversion msg filterPath docIn expectedDoc = do
178− docEither <- runIOorExplode $ do
179+ actualDoc <- runIOorExplode $ do
179 setUserDataDir (Just "../data")
180 setUserDataDir (Just "../data")
180− runLuaFilter def ("lua" </> filterPath) [] docIn
181+ applyFilters def [LuaFilter ("lua" </> filterPath)] ["HTML"] docIn
181− case docEither of
182+ assertEqual msg expectedDoc actualDoc
182− Left exception -> assertFailure (show exception)
183− Right docRes -> assertEqual msg docExpected docRes
185roundtripEqual :: (Eq a, Lua.Peekable a, Lua.Pushable a) => a -> IO Bool
184roundtripEqual :: (Eq a, Lua.Peekable a, Lua.Pushable a) => a -> IO Bool
186roundtripEqual x = (x ==) <$> roundtripped
185roundtripEqual x = (x ==) <$> roundtripped