mmark-ext-0.2.1.3: tests/Text/MMark/Extension/TestUtils.hs
module Text.MMark.Extension.TestUtils
( withExt,
)
where
import Data.Text (Text)
import qualified Data.Text.Lazy as TL
import qualified Lucid as L
import Test.Hspec
import qualified Text.MMark as MMark
-- | Feed input into MMark parser, apply an extension, render the parsed
-- document and demand that it matches the given example.
withExt ::
-- | MMark extension to use
MMark.Extension ->
-- | Input for the parser
Text ->
-- | Expected output of the render
Text ->
Expectation
withExt ext input expected = do
let Right doc = MMark.parse "" input
actual =
TL.toStrict
. L.renderText
. MMark.render
. MMark.useExtension ext
$ doc
actual `shouldBe` expected