hakyll/tests/TestSuite/Util.hs

45 lines
1.2 KiB
Haskell
Raw Normal View History

-- | Test utilities
--
module TestSuite.Util
( fromAssertions
2011-05-25 09:24:33 +00:00
, makeStoreTest
, runCompilerJobTest
) where
2011-05-25 09:24:33 +00:00
import Data.Monoid (mempty)
import Test.Framework
import Test.Framework.Providers.HUnit
import Test.HUnit hiding (Test)
2011-05-25 09:24:33 +00:00
import Hakyll.Core.Compiler.Internal
import Hakyll.Core.Identifier
import Hakyll.Core.Logger
import Hakyll.Core.Resource.Provider
import Hakyll.Core.Store
fromAssertions :: String -- ^ Name
-> [Assertion] -- ^ Cases
-> [Test] -- ^ Result tests
fromAssertions name = zipWith testCase names
where
names = map (\n -> name ++ " [" ++ show n ++ "]") [1 :: Int ..]
2011-05-25 09:24:33 +00:00
-- | Create a store for testing
--
makeStoreTest :: IO Store
2012-05-12 11:17:20 +00:00
makeStoreTest = makeStore True "_store"
2011-05-25 09:24:33 +00:00
-- | Testing for 'runCompilerJob'
--
runCompilerJobTest :: Compiler () a
2011-05-28 08:46:22 +00:00
-> Identifier ()
2011-05-25 09:24:33 +00:00
-> ResourceProvider
2011-05-28 08:46:22 +00:00
-> [Identifier ()]
2011-05-25 09:24:33 +00:00
-> IO a
runCompilerJobTest compiler id' provider uni = do
store <- makeStoreTest
logger <- makeLogger $ const $ return ()
Right x <- runCompilerJob compiler id' provider uni mempty store True logger
return x