aboutsummaryrefslogtreecommitdiff
path: root/test/Tests/Writers/TEI.hs
blob: 31e970495ff6c8837caf0d8b224f74c3a28099b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Tests.Writers.TEI (tests) where

import Prelude
import Test.Tasty
import Tests.Helpers
import Text.Pandoc
import Text.Pandoc.Arbitrary ()
import Text.Pandoc.Builder

{-
  "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) -> TestTree
(=:) = test (purely (writeTEI def) . toPandoc)

tests :: [TestTree]
tests = [ testGroup "block elements"
          ["para"          =: para "Lorem ipsum cetera."
                           =?> "<p>Lorem ipsum cetera.</p>"
          ]
        , testGroup "inlines"
          [
            "Emphasis"      =:  emph "emphasized"
                            =?> "<p><hi rendition=\"simple:italic\">emphasized</hi></p>"
           ,"SingleQuoted"  =:  singleQuoted (text "quoted material")
                            =?> "<p><quote>quoted material</quote></p>"
           ,"DoubleQuoted"  =:  doubleQuoted (text "quoted material")
                            =?> "<p><quote>quoted material</quote></p>"
           ,"NestedQuoted"  =:  doubleQuoted (singleQuoted (text "quoted material"))
                            =?> "<p><quote><quote>quoted material</quote></quote></p>"
          ]
         ]