summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Core/UnixFilter
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Hakyll/Core/UnixFilter')
-rw-r--r--tests/Hakyll/Core/UnixFilter/Tests.hs65
1 files changed, 26 insertions, 39 deletions
diff --git a/tests/Hakyll/Core/UnixFilter/Tests.hs b/tests/Hakyll/Core/UnixFilter/Tests.hs
index 0e8d88d..f5cbf9d 100644
--- a/tests/Hakyll/Core/UnixFilter/Tests.hs
+++ b/tests/Hakyll/Core/UnixFilter/Tests.hs
@@ -1,50 +1,37 @@
+--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
module Hakyll.Core.UnixFilter.Tests
- where
+ ( 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 Test.Framework (Test, testGroup)
+import Test.Framework.Providers.HUnit (testCase)
+import qualified Test.HUnit as H
-import Hakyll.Core.Compiler
-import Hakyll.Core.Resource.Provider.Dummy
-import Hakyll.Core.UnixFilter
-import TestSuite.Util
-tests :: [Test]
-tests =
+--------------------------------------------------------------------------------
+import Hakyll.Core.Compiler
+import Hakyll.Core.Item
+import Hakyll.Core.UnixFilter
+import TestSuite.Util
+
+
+--------------------------------------------------------------------------------
+tests :: Test
+tests = testGroup "Hakyll.Core.UnixFilter.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
+unixFilterRev = withTestStore $ \store -> do
+ provider <- newTestProvider store
+ output <- testCompilerDone store provider "russian.md" compiler
+ expected <- testCompilerDone store provider "russian.md" getResourceString
+ H.assert $ rev (itemBody expected) == lines (itemBody output)
where
- compiler = getResource >>> getResourceString >>> unixFilter "rev" []
- rev = map reverse . lines
-
-text :: String
-text = unlines
- [ "Статья 18"
- , ""
- , "Каждый человек имеет право на свободу мысли, совести и религии; это"
- , "право включает свободу менять свою религию или убеждения и свободу"
- , "исповедовать свою религию или убеждения как единолично, так и сообща с"
- , "другими, публичным или частным порядком в учении, богослужении и"
- , "выполнении религиозных и ритуальных обрядов."
- , ""
- , "Статья 19"
- , ""
- , "Каждый человек имеет право на свободу убеждений и на свободное выражение"
- , "их; это право включает свободу беспрепятственно придерживаться своих"
- , "убеждений и свободу искать, получать и распространять информацию и идеи"
- , "любыми средствами и независимо от государственных границ."
- ]
+ compiler = getResourceString >>= itemM (unixFilter "rev" [])
+ rev = map reverse . lines