summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Core/UnixFilter
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/UnixFilter
parent63a637f27cc51006c6b432337c232c17bfe0b0c2 (diff)
downloadhakyll-d004dc19996c5d1a96a36c46c2580c3f0db33261.tar.gz
Test for UnixFilter
Diffstat (limited to 'tests/Hakyll/Core/UnixFilter')
-rw-r--r--tests/Hakyll/Core/UnixFilter/Tests.hs50
1 files changed, 50 insertions, 0 deletions
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"
+ , ""
+ , "Каждый человек имеет право на свободу убеждений и на свободное выражение"
+ , "их; это право включает свободу беспрепятственно придерживаться своих"
+ , "убеждений и свободу искать, получать и распространять информацию и идеи"
+ , "любыми средствами и независимо от государственных границ."
+ ]