Library for parsing epub document metadata (Haskell)

root / testsuite / test-main.hs

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
-- License: BSD3 (see LICENSE)
-- Author: Dino Morelli <dino@ui3.info>

import System.Exit
import Test.HUnit hiding ( counts )

import qualified Archive
import qualified Epub2.ParseGuide
import qualified Epub2.ParseMetadata
import qualified Epub3.ParseMetadata
import qualified ParsePackage
import qualified ParseManifest
import qualified ParseSpine


main :: IO ()
main = do
   counts <- runTestTT tests
   exit $ testsPassed counts


exit :: Bool -> IO ()
exit True  = exitWith ExitSuccess
exit False = exitWith $ ExitFailure 1


testsPassed :: Counts -> Bool
testsPassed (Counts _ _ e f) = (e == 0) && (f == 0)


tests :: Test
tests = TestList
   [ Archive.tests
   , Epub2.ParseGuide.tests
   , Epub2.ParseMetadata.tests
   , Epub3.ParseMetadata.tests
   , ParsePackage.tests
   , ParseManifest.tests
   , ParseSpine.tests
   ]