summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Hakyll/Core/Compiler/Tests.hs36
-rw-r--r--tests/Hakyll/Core/Dependencies/Tests.hs19
-rw-r--r--tests/Hakyll/Core/Util/Arrow/Tests.hs14
-rw-r--r--tests/Hakyll/Web/Urls/Relativize/Tests.hs46
-rw-r--r--tests/Hakyll/Web/Urls/Tests.hs23
-rw-r--r--tests/TestSuite.hs4
-rw-r--r--tests/TestSuite/Util.hs6
7 files changed, 59 insertions, 89 deletions
diff --git a/tests/Hakyll/Core/Compiler/Tests.hs b/tests/Hakyll/Core/Compiler/Tests.hs
deleted file mode 100644
index 7ea3e6f..0000000
--- a/tests/Hakyll/Core/Compiler/Tests.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-module Hakyll.Core.Compiler.Tests
- ( tests
- ) where
-
-import qualified Data.Map as M
-
-import Test.Framework (Test)
-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.Util.Arrow
-import TestSuite.Util
-
-tests :: [Test]
-tests =
- [ testCase "byExtension" byExtensionTest
- ]
-
-byExtensionTest :: H.Assertion
-byExtensionTest = do
- provider <- dummyResourceProvider $ M.empty
- txt <- runCompilerJobTest compiler "foo.txt" provider uni
- css <- runCompilerJobTest compiler "bar.css" provider uni
- html <- runCompilerJobTest compiler "qux.html" provider uni
- H.assertEqual "byExtension" "txt" txt
- H.assertEqual "byExtension" "css" css
- H.assertEqual "byExtension" "unknown" html
- where
- uni = ["foo.txt", "bar.css", "qux.html"]
- compiler = byExtension (constA ("unknown" :: String))
- [ (".txt", constA "txt")
- , (".css", constA "css")
- ]
diff --git a/tests/Hakyll/Core/Dependencies/Tests.hs b/tests/Hakyll/Core/Dependencies/Tests.hs
index 22d606f..d6e3094 100644
--- a/tests/Hakyll/Core/Dependencies/Tests.hs
+++ b/tests/Hakyll/Core/Dependencies/Tests.hs
@@ -6,26 +6,23 @@ module Hakyll.Core.Dependencies.Tests
--------------------------------------------------------------------------------
-import Data.List (delete)
-import qualified Data.Map as M
-import qualified Data.Set as S
-import Test.Framework (Test, testGroup)
-import Test.Framework.Providers.HUnit (testCase)
-import Test.HUnit (Assertion, (@=?))
+import Data.List (delete)
+import qualified Data.Map as M
+import qualified Data.Set as S
+import Test.Framework (Test, testGroup)
+import Test.HUnit (Assertion, (@=?))
--------------------------------------------------------------------------------
import Hakyll.Core.Dependencies
import Hakyll.Core.Identifier
+import TestSuite.Util
--------------------------------------------------------------------------------
tests :: Test
-tests = testGroup "Hakyll.Core.Dependencies.Tests"
- [ testCase "case01" case01
- , testCase "case02" case02
- , testCase "case03" case03
- ]
+tests = testGroup "Hakyll.Core.Dependencies.Tests" $
+ fromAssertions "analyze" [case01, case02, case03]
--------------------------------------------------------------------------------
diff --git a/tests/Hakyll/Core/Util/Arrow/Tests.hs b/tests/Hakyll/Core/Util/Arrow/Tests.hs
deleted file mode 100644
index c0c7eaa..0000000
--- a/tests/Hakyll/Core/Util/Arrow/Tests.hs
+++ /dev/null
@@ -1,14 +0,0 @@
-module Hakyll.Core.Util.Arrow.Tests
- ( tests
- ) where
-
-import Test.Framework (Test)
-import Test.HUnit ((@=?))
-
-import Hakyll.Core.Util.Arrow
-import TestSuite.Util
-
-tests :: [Test]
-tests = fromAssertions "sequenceA"
- [ [8, 20, 1] @=? sequenceA [(+ 4), (* 5), signum] (4 :: Int)
- ]
diff --git a/tests/Hakyll/Web/Urls/Relativize/Tests.hs b/tests/Hakyll/Web/Urls/Relativize/Tests.hs
index 465d266..e14a2a4 100644
--- a/tests/Hakyll/Web/Urls/Relativize/Tests.hs
+++ b/tests/Hakyll/Web/Urls/Relativize/Tests.hs
@@ -1,25 +1,35 @@
+--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
module Hakyll.Web.Urls.Relativize.Tests
( tests
) where
-import Test.Framework
-import Test.HUnit hiding (Test)
-import Hakyll.Web.Urls.Relativize
-import TestSuite.Util
+--------------------------------------------------------------------------------
+import Test.Framework (Test, testGroup)
+import Test.HUnit ((@=?))
-tests :: [Test]
-tests = fromAssertions "relativizeUrls"
- [ "<a href=\"../foo\">bar</a>" @=?
- relativizeUrls ".." "<a href=\"/foo\">bar</a>"
- , "<img src=\"../../images/lolcat.png\"></img>" @=?
- relativizeUrls "../.." "<img src=\"/images/lolcat.png\" />"
- , "<a href=\"http://haskell.org\">Haskell</a>" @=?
- relativizeUrls "../.." "<a href=\"http://haskell.org\">Haskell</a>"
- , "<a href=\"http://haskell.org\">Haskell</a>" @=?
- relativizeUrls "../.." "<a href=\"http://haskell.org\">Haskell</a>"
- , "<script src=\"//ajax.googleapis.com/jquery.min.js\"></script>" @=?
- relativizeUrls "../.."
- "<script src=\"//ajax.googleapis.com/jquery.min.js\"></script>"
- ]
+
+--------------------------------------------------------------------------------
+import Hakyll.Web.Urls.Relativize
+import TestSuite.Util
+
+
+--------------------------------------------------------------------------------
+tests :: Test
+tests = testGroup "Hakyll.Web.Urls.Relativize.Tests" $
+ fromAssertions "relativizeUrls"
+ [ "<a href=\"../foo\">bar</a>" @=?
+ relativizeUrlsWith ".." "<a href=\"/foo\">bar</a>"
+ , "<img src=\"../../images/lolcat.png\"></img>" @=?
+ relativizeUrlsWith "../.." "<img src=\"/images/lolcat.png\" />"
+ , "<a href=\"http://haskell.org\">Haskell</a>" @=?
+ relativizeUrlsWith "../.."
+ "<a href=\"http://haskell.org\">Haskell</a>"
+ , "<a href=\"http://haskell.org\">Haskell</a>" @=?
+ relativizeUrlsWith "../.."
+ "<a href=\"http://haskell.org\">Haskell</a>"
+ , "<script src=\"//ajax.googleapis.com/jquery.min.js\"></script>" @=?
+ relativizeUrlsWith "../.."
+ "<script src=\"//ajax.googleapis.com/jquery.min.js\"></script>"
+ ]
diff --git a/tests/Hakyll/Web/Urls/Tests.hs b/tests/Hakyll/Web/Urls/Tests.hs
index 72b6687..56a1838 100644
--- a/tests/Hakyll/Web/Urls/Tests.hs
+++ b/tests/Hakyll/Web/Urls/Tests.hs
@@ -1,17 +1,23 @@
+--------------------------------------------------------------------------------
module Hakyll.Web.Urls.Tests
( tests
) where
-import Data.Char (toUpper)
-import Test.Framework
-import Test.HUnit hiding (Test)
+--------------------------------------------------------------------------------
+import Data.Char (toUpper)
+import Test.Framework (Test, testGroup)
+import Test.HUnit (assert, (@=?))
-import Hakyll.Web.Urls
-import TestSuite.Util
-tests :: [Test]
-tests = concat
+--------------------------------------------------------------------------------
+import Hakyll.Web.Urls
+import TestSuite.Util
+
+
+--------------------------------------------------------------------------------
+tests :: Test
+tests = testGroup "Hakyll.Web.Urls.Tests" $ concat
[ fromAssertions "withUrls"
[ "<a href=\"FOO\">bar</a>" @=?
withUrls (map toUpper) "<a href=\"foo\">bar</a>"
@@ -26,17 +32,20 @@ tests = concat
, "<style>body > p { line-height: 1.3 }</style>" @=?
withUrls id "<style>body > p { line-height: 1.3 }</style>"
]
+
, fromAssertions "toUrl"
[ "/foo/bar.html" @=? toUrl "foo/bar.html"
, "/" @=? toUrl "/"
, "/funny-pics.html" @=? toUrl "/funny-pics.html"
]
+
, fromAssertions "toSiteRoot"
[ ".." @=? toSiteRoot "/foo/bar.html"
, "." @=? toSiteRoot "index.html"
, "." @=? toSiteRoot "/index.html"
, "../.." @=? toSiteRoot "foo/bar/qux"
]
+
, fromAssertions "isExternal"
[ assert (isExternal "http://reddit.com")
, assert (isExternal "https://mail.google.com")
diff --git a/tests/TestSuite.hs b/tests/TestSuite.hs
index 55fe8ce..b783d7a 100644
--- a/tests/TestSuite.hs
+++ b/tests/TestSuite.hs
@@ -15,6 +15,8 @@ import qualified Hakyll.Core.Provider.Tests
import qualified Hakyll.Core.Store.Tests
import qualified Hakyll.Core.UnixFilter.Tests
import qualified Hakyll.Web.Template.Tests
+import qualified Hakyll.Web.Urls.Tests
+import qualified Hakyll.Web.Urls.Relativize.Tests
--------------------------------------------------------------------------------
@@ -26,4 +28,6 @@ main = defaultMain
, Hakyll.Core.Store.Tests.tests
, Hakyll.Core.UnixFilter.Tests.tests
, Hakyll.Web.Template.Tests.tests
+ , Hakyll.Web.Urls.Tests.tests
+ , Hakyll.Web.Urls.Relativize.Tests.tests
]
diff --git a/tests/TestSuite/Util.hs b/tests/TestSuite/Util.hs
index 9403ce5..5d62ffc 100644
--- a/tests/TestSuite/Util.hs
+++ b/tests/TestSuite/Util.hs
@@ -17,6 +17,7 @@ import System.Directory (removeDirectoryRecursive)
import Test.Framework
import Test.Framework.Providers.HUnit
import Test.HUnit hiding (Test)
+import Text.Printf (printf)
--------------------------------------------------------------------------------
@@ -32,9 +33,8 @@ import qualified Hakyll.Core.Store as Store
fromAssertions :: String -- ^ Name
-> [Assertion] -- ^ Cases
-> [Test] -- ^ Result tests
-fromAssertions name = zipWith testCase names
- where
- names = map (\n -> name ++ " [" ++ show n ++ "]") [1 :: Int ..]
+fromAssertions name =
+ zipWith testCase [printf "%s [%3d]" name n | n <- [1 :: Int ..]]
--------------------------------------------------------------------------------