summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Core
diff options
context:
space:
mode:
authorJasper Van der Jeugt <jaspervdj@gmail.com>2011-05-25 11:24:33 +0200
committerJasper Van der Jeugt <jaspervdj@gmail.com>2011-05-25 11:24:33 +0200
commitd004dc19996c5d1a96a36c46c2580c3f0db33261 (patch)
tree9976bcbf12d2b91c069275d6345e929d61184b36 /tests/Hakyll/Core
parent63a637f27cc51006c6b432337c232c17bfe0b0c2 (diff)
downloadhakyll-d004dc19996c5d1a96a36c46c2580c3f0db33261.tar.gz
Test for UnixFilter
Diffstat (limited to 'tests/Hakyll/Core')
-rw-r--r--tests/Hakyll/Core/Store/Tests.hs9
-rw-r--r--tests/Hakyll/Core/UnixFilter/Tests.hs50
2 files changed, 55 insertions, 4 deletions
diff --git a/tests/Hakyll/Core/Store/Tests.hs b/tests/Hakyll/Core/Store/Tests.hs
index 4f35abd..53ad74e 100644
--- a/tests/Hakyll/Core/Store/Tests.hs
+++ b/tests/Hakyll/Core/Store/Tests.hs
@@ -15,6 +15,7 @@ import qualified Test.HUnit as H
import Hakyll.Core.Identifier
import Hakyll.Core.Store
+import TestSuite.Util
tests :: [Test]
tests =
@@ -28,7 +29,7 @@ simpleSetGet = monadicIO $ do
identifier <- parseIdentifier . unFileName <$> pick arbitrary
FileName name <- pick arbitrary
value <- pick arbitrary
- store <- run $ makeStore "_store"
+ store <- run $ makeStoreTest
run $ storeSet store name identifier (value :: String)
value' <- run $ storeGet store name identifier
assert $ Found value == value'
@@ -38,16 +39,16 @@ persistentSetGet = monadicIO $ do
identifier <- parseIdentifier . unFileName <$> pick arbitrary
FileName name <- pick arbitrary
value <- pick arbitrary
- store1 <- run $ makeStore "_store"
+ store1 <- run $ makeStoreTest
run $ storeSet store1 name identifier (value :: String)
-- Now Create another store from the same dir to test persistence
- store2 <- run $ makeStore "_store"
+ store2 <- run $ makeStoreTest
value' <- run $ storeGet store2 name identifier
assert $ Found value == value'
wrongType :: H.Assertion
wrongType = do
- store <- makeStore "_store"
+ store <- makeStoreTest
-- Store a string and try to fetch an int
storeSet store "foo" "bar" ("qux" :: String)
value <- storeGet store "foo" "bar" :: IO (StoreGet Int)
diff --git a/tests/Hakyll/Core/UnixFilter/Tests.hs b/tests/Hakyll/Core/UnixFilter/Tests.hs
new file mode 100644
index 0000000..0e8d88d
--- /dev/null
+++ b/tests/Hakyll/Core/UnixFilter/Tests.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Hakyll.Core.UnixFilter.Tests
+ where
+
+import Control.Arrow ((>>>))
+import qualified Data.Map as M
+
+import Test.Framework (Test)
+import Test.Framework.Providers.HUnit (testCase)
+import qualified Test.HUnit as H
+import qualified Data.Text.Lazy as TL
+import qualified Data.Text.Lazy.Encoding as TL
+
+import Hakyll.Core.Compiler
+import Hakyll.Core.Resource.Provider.Dummy
+import Hakyll.Core.UnixFilter
+import TestSuite.Util
+
+tests :: [Test]
+tests =
+ [ testCase "unixFilter rev" unixFilterRev
+ ]
+
+unixFilterRev :: H.Assertion
+unixFilterRev = do
+ provider <- dummyResourceProvider $ M.singleton "foo" $
+ TL.encodeUtf8 $ TL.pack text
+ output <- runCompilerJobTest compiler "foo" provider ["foo"]
+ H.assert $ rev text == lines output
+ where
+ compiler = getResource >>> getResourceString >>> unixFilter "rev" []
+ rev = map reverse . lines
+
+text :: String
+text = unlines
+ [ "Статья 18"
+ , ""
+ , "Каждый человек имеет право на свободу мысли, совести и религии; это"
+ , "право включает свободу менять свою религию или убеждения и свободу"
+ , "исповедовать свою религию или убеждения как единолично, так и сообща с"
+ , "другими, публичным или частным порядком в учении, богослужении и"
+ , "выполнении религиозных и ритуальных обрядов."
+ , ""
+ , "Статья 19"
+ , ""
+ , "Каждый человек имеет право на свободу убеждений и на свободное выражение"
+ , "их; это право включает свободу беспрепятственно придерживаться своих"
+ , "убеждений и свободу искать, получать и распространять информацию и идеи"
+ , "любыми средствами и независимо от государственных границ."
+ ]