diff options
Diffstat (limited to 'tests/Tests/Writers/HTML.hs')
-rw-r--r-- | tests/Tests/Writers/HTML.hs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/Tests/Writers/HTML.hs b/tests/Tests/Writers/HTML.hs new file mode 100644 index 000000000..8561aa421 --- /dev/null +++ b/tests/Tests/Writers/HTML.hs @@ -0,0 +1,46 @@ +{-# LANGUAGE OverloadedStrings, QuasiQuotes #-} +module Tests.Writers.HTML (tests) where + +import Test.Framework +import Text.Pandoc.Builder +import Text.Pandoc +import Tests.Helpers +import Tests.Arbitrary() +import Text.Pandoc.Highlighting (languages) -- null if no hl support + +html :: (ToString a, ToPandoc a) => a -> String +html = writeHtmlString defaultWriterOptions{ writerWrapText = False } . toPandoc + +{- + "my test" =: X =?> Y + +is shorthand for + + test html "my test" $ X =?> Y + +which is in turn shorthand for + + test html "my test" (X,Y) +-} + +infix 4 =: +(=:) :: (ToString a, ToPandoc a) + => String -> (a, String) -> Test +(=:) = test html + +tests :: [Test] +tests = [ testGroup "inline code" + [ "basic" =: code "@&" =?> "<code>@&</code>" + , "haskell" =: codeWith ("",["haskell"],[]) ">>=" + =?> if null languages + then "<code class=\"haskell\">>>=</code>" + else "<code class=\"sourceCode haskell\"><span class=\"fu\">>>=</span></code>" + , "nolanguage" =: codeWith ("",["nolanguage"],[]) ">>=" + =?> "<code class=\"nolanguage\">>>=</code>" + ] + , testGroup "images" + [ "alt with formatting" =: + image "/url" "title" ("my " <> emph "image") + =?> "<img src=\"/url\" title=\"title\" alt=\"my image\" />" + ] + ] |