@@ -7,12 +7,12 @@ module Hakyll.Core.Store.Tests
8--------------------------------------------------------------------------------
8--------------------------------------------------------------------------------
9import Data.Typeable (typeOf)
9import Data.Typeable (typeOf)
10−import Test.Framework
10+import Test.Framework (Test, testGroup)
11−import Test.Framework.Providers.HUnit
11+import Test.Framework.Providers.HUnit (testCase)
12−import Test.Framework.Providers.QuickCheck2
12+import Test.Framework.Providers.QuickCheck2 (testProperty)
13import qualified Test.HUnit as H
13import qualified Test.HUnit as H
14−import Test.QuickCheck
14+import qualified Test.QuickCheck as Q
15−import Test.QuickCheck.Monadic
15+import qualified Test.QuickCheck.Monadic as Q
18--------------------------------------------------------------------------------
18--------------------------------------------------------------------------------
@@ -21,8 +21,8 @@ import TestSuite.Util
23--------------------------------------------------------------------------------
23--------------------------------------------------------------------------------
24−tests :: [Test]
24+tests :: Test
25−tests =
25+tests = testGroup "Hakyll.Core.Store.Tests"
26 [ testProperty "simple get . set" simpleSetGet
26 [ testProperty "simple get . set" simpleSetGet
27 , testProperty "persistent get . set" persistentSetGet
27 , testProperty "persistent get . set" persistentSetGet
28 , testCase "WrongType get . set" wrongType
28 , testCase "WrongType get . set" wrongType
@@ -30,33 +30,34 @@ tests =
32--------------------------------------------------------------------------------
32--------------------------------------------------------------------------------
33−simpleSetGet :: Property
33+simpleSetGet :: Q.Property
34−simpleSetGet = monadicIO $ do
34+simpleSetGet = Q.monadicIO $ do
35− key <- pick arbitrary
35+ key <- Q.pick Q.arbitrary
36− value <- pick arbitrary
36+ value <- Q.pick Q.arbitrary
37− store <- run $ makeStoreTest
37+ store <- Q.run newTestStore
38− run $ Store.set store key (value :: String)
38+ Q.run $ Store.set store key (value :: String)
39− value' <- run $ Store.get store key
39+ value' <- Q.run $ Store.get store key
40− assert $ Store.Found value == value'
40+ Q.assert $ Store.Found value == value'
43--------------------------------------------------------------------------------
44--------------------------------------------------------------------------------
44−persistentSetGet :: Property
45+persistentSetGet :: Q.Property
45−persistentSetGet = monadicIO $ do
46+persistentSetGet = Q.monadicIO $ do
46− key <- pick arbitrary
47+ key <- Q.pick Q.arbitrary
47− value <- pick arbitrary
48+ value <- Q.pick Q.arbitrary
48− store1 <- run $ makeStoreTest
49+ store1 <- Q.run newTestStore
49− run $ Store.set store1 key (value :: String)
50+ Q.run $ Store.set store1 key (value :: String)
50 -- Now Create another store from the same dir to test persistence
51 -- Now Create another store from the same dir to test persistence
51− store2 <- run $ makeStoreTest
52+ store2 <- Q.run newTestStore
52− value' <- run $ Store.get store2 key
53+ value' <- Q.run $ Store.get store2 key
53− assert $ Store.Found value == value'
54+ Q.assert $ Store.Found value == value'
56--------------------------------------------------------------------------------
58--------------------------------------------------------------------------------
57wrongType :: H.Assertion
59wrongType :: H.Assertion
58−wrongType = do
60+wrongType = withTestStore $ \store -> do
59− store <- makeStoreTest
60 -- Store a string and try to fetch an int
61 -- Store a string and try to fetch an int
61 Store.set store ["foo", "bar"] ("qux" :: String)
62 Store.set store ["foo", "bar"] ("qux" :: String)
62 value <- Store.get store ["foo", "bar"] :: IO (Store.Result Int)
63 value <- Store.get store ["foo", "bar"] :: IO (Store.Result Int)