@@ -7,12 +7,12 @@ module Hakyll.Core.Store.Tests
77
88--------------------------------------------------------------------------------
99import Data.Typeable (typeOf)
10−import Test.Framework
11−import Test.Framework.Providers.HUnit
12−import Test.Framework.Providers.QuickCheck2
10+import Test.Framework (Test, testGroup)
11+import Test.Framework.Providers.HUnit (testCase)
12+import Test.Framework.Providers.QuickCheck2 (testProperty)
1313import qualified Test.HUnit as H
14−import Test.QuickCheck
15−import Test.QuickCheck.Monadic
14+import qualified Test.QuickCheck as Q
15+import qualified Test.QuickCheck.Monadic as Q
1616
1717
1818--------------------------------------------------------------------------------
@@ -21,8 +21,8 @@ import TestSuite.Util
2121
2222
2323--------------------------------------------------------------------------------
24−tests :: [Test]
25−tests =
24+tests :: Test
25+tests = testGroup "Hakyll.Core.Store.Tests"
2626 [ testProperty "simple get . set" simpleSetGet
2727 , testProperty "persistent get . set" persistentSetGet
2828 , testCase "WrongType get . set" wrongType
@@ -30,33 +30,34 @@ tests =
3030
3131
3232--------------------------------------------------------------------------------
33−simpleSetGet :: Property
34−simpleSetGet = monadicIO $ do
35− key <- pick arbitrary
36− value <- pick arbitrary
37− store <- run $ makeStoreTest
38− run $ Store.set store key (value :: String)
39− value' <- run $ Store.get store key
40− assert $ Store.Found value == value'
33+simpleSetGet :: Q.Property
34+simpleSetGet = Q.monadicIO $ do
35+ key <- Q.pick Q.arbitrary
36+ value <- Q.pick Q.arbitrary
37+ store <- Q.run newTestStore
38+ Q.run $ Store.set store key (value :: String)
39+ value' <- Q.run $ Store.get store key
40+ Q.assert $ Store.Found value == value'
41+ Q.run cleanTestStore
4142
4243
4344--------------------------------------------------------------------------------
44−persistentSetGet :: Property
45−persistentSetGet = monadicIO $ do
46− key <- pick arbitrary
47− value <- pick arbitrary
48− store1 <- run $ makeStoreTest
49− run $ Store.set store1 key (value :: String)
45+persistentSetGet :: Q.Property
46+persistentSetGet = Q.monadicIO $ do
47+ key <- Q.pick Q.arbitrary
48+ value <- Q.pick Q.arbitrary
49+ store1 <- Q.run newTestStore
50+ Q.run $ Store.set store1 key (value :: String)
5051 -- Now Create another store from the same dir to test persistence
51− store2 <- run $ makeStoreTest
52− value' <- run $ Store.get store2 key
53− assert $ Store.Found value == value'
52+ store2 <- Q.run newTestStore
53+ value' <- Q.run $ Store.get store2 key
54+ Q.assert $ Store.Found value == value'
55+ Q.run cleanTestStore
5456
5557
5658--------------------------------------------------------------------------------
5759wrongType :: H.Assertion
58−wrongType = do
59− store <- makeStoreTest
60+wrongType = withTestStore $ \store -> do
6061 -- Store a string and try to fetch an int
6162 Store.set store ["foo", "bar"] ("qux" :: String)
6263 value <- Store.get store ["foo", "bar"] :: IO (Store.Result Int)