{-# LANGUAGE OverloadedStrings #-} module Main where import Test.Hspec import Text.Blaze.Html.Renderer.Text (renderHtml) import Yesod.Markdown import qualified Data.Text as T import qualified Data.Text.Lazy as TL main :: IO () main = hspec spec spec :: Spec spec = describe "Yesod.Markdown" $ do it "converts Markdown to sanitized HTML" $ do let markdown = Markdown $ T.unlines [ "# Title" , "" , "- one" , "- two" , "- three" , "" , "" ] let Right html = markdownToHtml markdown renderHtml html `shouldBe` TL.concat [ "

Title

" , "" , "\n alert('xxs');\n" ] it "converts Markdown to unsanitized HTML" $ do let markdown = Markdown $ T.unlines [ "# Title" , "" , "- one" , "- two" , "- three" , "" , "" ] let Right html = markdownToHtmlTrusted markdown renderHtml html `shouldBe` TL.concat [ "

Title

" , "" , "" ]