@@ -1,46 +0,0 @@
1−{-# LANGUAGE ScopedTypeVariables, FlexibleContexts #-}
2−module Tests.Walk (tests) where
3−
4−import Text.Pandoc.Definition
5−import Text.Pandoc.Walk
6−import Test.Framework
7−import Tests.Helpers
8−import Data.Char (toUpper)
9−import Text.Pandoc.Arbitrary()
10−import Data.Generics
11−
12−tests :: [Test]
13−tests = [ testGroup "Walk"
14− [ property "p_walk inlineTrans" (p_walk inlineTrans)
15− , property "p_walk blockTrans" (p_walk blockTrans)
16− , property "p_query inlineQuery" (p_query inlineQuery)
17− , property "p_query blockQuery" (p_query blockQuery)
18− ]
19− ]
20−
21−p_walk :: (Typeable a, Walkable a Pandoc)
22− => (a -> a) -> Pandoc -> Bool
23−p_walk f d = everywhere (mkT f) d == walk f d
24−
25−p_query :: (Eq a, Typeable a1, Monoid a, Walkable a1 Pandoc)
26− => (a1 -> a) -> Pandoc -> Bool
27−p_query f d = everything mappend (mempty `mkQ` f) d == query f d
28−
29−inlineTrans :: Inline -> Inline
30−inlineTrans (Str xs) = Str $ map toUpper xs
31−inlineTrans (Emph xs) = Strong xs
32−inlineTrans x = x
33−
34−blockTrans :: Block -> Block
35−blockTrans (Plain xs) = Para xs
36−blockTrans (BlockQuote xs) = Div ("",["special"],[]) xs
37−blockTrans x = x
38−
39−inlineQuery :: Inline -> String
40−inlineQuery (Str xs) = xs
41−inlineQuery _ = ""
42−
43−blockQuery :: Block -> [Int]
44−blockQuery (Header lev _ _) = [lev]
45−blockQuery _ = []
46−