mmark-ext-0.1.0.0: tests/Text/MMark/Extension/TableOfContentsSpec.hs
{-# LANGUAGE OverloadedStrings #-}
module Text.MMark.Extension.TableOfContentsSpec (spec) where
import Test.Hspec
import Text.MMark.Extension.TableOfContents
import qualified Data.Text.IO as TIO
import qualified Data.Text.Lazy as TL
import qualified Lucid as L
import qualified Text.MMark as MMark
spec :: Spec
spec =
describe "toc" $
it "works" $ do
input <- TIO.readFile "data/toc.md"
expected <- TIO.readFile "data/toc.html"
let Right doc = MMark.parse "" input
headings = MMark.runScanner doc (tocScanner (> 1))
actual = TL.toStrict
. L.renderText
. MMark.render
. MMark.useExtension (toc "toc" headings)
$ doc
actual `shouldBe` expected