@@ -1,9 +1,7 @@
1−{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, TemplateHaskell #-}
1+{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
22-- Utility functions for the test suite.
33
4−module Tests.Helpers ( lit
5− , file
6− , test
4+module Tests.Helpers ( test
75 , (=?>)
86 , property
97 , ToString(..)
@@ -20,34 +18,9 @@ import Test.HUnit (assertBool)
2018import Text.Pandoc.Shared (normalize, trimr)
2119import Text.Pandoc.Options
2220import Text.Pandoc.Writers.Native (writeNative)
23−import Language.Haskell.TH.Quote (QuasiQuoter(..))
24−import Language.Haskell.TH.Syntax (Q, runIO)
2521import qualified Test.QuickCheck.Property as QP
2622import Data.Algorithm.Diff
2723
28−lit :: QuasiQuoter
29−lit = QuasiQuoter {
30− quoteExp = (\a -> let b = rnl a in [|b|]) . filter (/= '\r')
31− , quotePat = error "Unimplemented"
32− , quoteType = error "Unimplemented"
33− , quoteDec = error "Unimplemented"
34− }
35− where rnl ('\n':xs) = xs
36− rnl xs = xs
37−
38−file :: QuasiQuoter
39−file = quoteFile lit
40−
41−-- adapted from TH 2.5 code
42−quoteFile :: QuasiQuoter -> QuasiQuoter
43−quoteFile (QuasiQuoter { quoteExp = qe, quotePat = qp }) =
44− QuasiQuoter { quoteExp = get qe, quotePat = get qp,
45− quoteType = error "Unimplemented", quoteDec = error "Unimplemented" }
46− where
47− get :: (String -> Q a) -> String -> Q a
48− get old_quoter file_name = do { file_cts <- runIO (readFile file_name)
49− ; old_quoter file_cts }
50−
5124test :: (ToString a, ToString b, ToString c)
5225 => (a -> b) -- ^ function to test
5326 -> String -- ^ name of test case