pandoc/tests/Tests/Readers/EPUB.hs
John MacFarlane c423dbb5a3 Use -XNoImplicitPrelude and 'import Prelude' explicitly.
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.

Closes #2503.
2015-11-08 16:56:59 -08:00

38 lines
1.1 KiB
Haskell

module Tests.Readers.EPUB (tests) where
import Prelude
import Text.Pandoc.Options
import Test.Framework
import Test.HUnit (assertBool)
import Test.Framework.Providers.HUnit
import qualified Data.ByteString.Lazy as BL
import Text.Pandoc.Readers.EPUB
import Text.Pandoc.MediaBag (MediaBag, mediaDirectory)
import Text.Pandoc.Error
getMediaBag :: FilePath -> IO MediaBag
getMediaBag fp = snd . handleError . readEPUB def <$> BL.readFile fp
testMediaBag :: FilePath -> [(String, String, Int)] -> IO ()
testMediaBag fp bag = do
actBag <- (mediaDirectory <$> getMediaBag fp)
assertBool (show "MediaBag did not match:\nExpected: "
++ show bag
++ "\nActual: "
++ show actBag)
(actBag == bag)
featuresBag :: [(String, String, Int)]
featuresBag = [("img/check.gif","image/gif",1340)
,("img/check.jpg","image/jpeg",2661)
,("img/check.png","image/png",2815)
,("img/multiscripts_and_greek_alphabet.png","image/png",10060)
]
tests :: [Test]
tests =
[ testGroup "EPUB Mediabag"
[ testCase "features bag"
(testMediaBag "epub/img.epub" featuresBag)
]
]