summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2013-01-21 22:45:50 +0100
committerJasper Van der Jeugt <m@jaspervdj.be>2013-01-21 22:45:50 +0100
commit2912fcd521d0d9fbe93dae37783f5f379893ddb1 (patch)
treea55aca5cb34084dcbb808ad463f60341b18af929 /tests
parente40e7fbe4121c0518a2b7e31618bda414ef1ec67 (diff)
downloadhakyll-2912fcd521d0d9fbe93dae37783f5f379893ddb1.tar.gz
Add metadataRoute
Diffstat (limited to 'tests')
-rw-r--r--tests/Hakyll/Core/Routes/Tests.hs32
-rw-r--r--tests/Hakyll/Core/Rules/Tests.hs16
2 files changed, 28 insertions, 20 deletions
diff --git a/tests/Hakyll/Core/Routes/Tests.hs b/tests/Hakyll/Core/Routes/Tests.hs
index 8bdbe85..c14a878 100644
--- a/tests/Hakyll/Core/Routes/Tests.hs
+++ b/tests/Hakyll/Core/Routes/Tests.hs
@@ -7,7 +7,7 @@ module Hakyll.Core.Routes.Tests
--------------------------------------------------------------------------------
import Test.Framework (Test, testGroup)
-import Test.HUnit ((@=?))
+import Test.HUnit (Assertion, (@=?))
--------------------------------------------------------------------------------
@@ -19,19 +19,25 @@ import TestSuite.Util
--------------------------------------------------------------------------------
tests :: Test
tests = testGroup "Hakyll.Core.Routes.Tests" $ fromAssertions "runRoutes"
- [ Just "foo.html" @=? runRoutes (setExtension "html") "foo"
- , Just "foo.html" @=? runRoutes (setExtension ".html") "foo"
- , Just "foo.html" @=? runRoutes (setExtension "html") "foo.markdown"
- , Just "foo.html" @=? runRoutes (setExtension ".html") "foo.markdown"
+ [ testRoutes "foo.html" (setExtension "html") "foo"
+ , testRoutes "foo.html" (setExtension ".html") "foo"
+ , testRoutes "foo.html" (setExtension "html") "foo.markdown"
+ , testRoutes "foo.html" (setExtension ".html") "foo.markdown"
- , Just "neve ro ddo reven" @=?
- runRoutes (customRoute (reverse . toFilePath )) "never odd or even"
+ , testRoutes "neve ro ddo reven"
+ (customRoute (reverse . toFilePath )) "never odd or even"
- , Just "foo" @=? runRoutes (constRoute "foo") "bar"
+ , testRoutes "foo" (constRoute "foo") "bar"
- , Just "tags/bar.xml" @=?
- runRoutes (gsubRoute "rss/" (const "")) "tags/rss/bar.xml"
- , Just "tags/bar.xml" @=?
- runRoutes (gsubRoute "rss/" (const "") `composeRoutes`
- setExtension "xml") "tags/rss/bar"
+ , testRoutes "tags/bar.xml" (gsubRoute "rss/" (const "")) "tags/rss/bar.xml"
+ , testRoutes "tags/bar.xml"
+ (gsubRoute "rss/" (const "") `composeRoutes` setExtension "xml")
+ "tags/rss/bar"
]
+
+
+--------------------------------------------------------------------------------
+testRoutes :: FilePath -> Routes -> Identifier -> Assertion
+testRoutes expected r id' = do
+ route <- runRoutes r (error "Hakyll.Core.Routes.Tests: no provider") id'
+ Just expected @=? route
diff --git a/tests/Hakyll/Core/Rules/Tests.hs b/tests/Hakyll/Core/Rules/Tests.hs
index d43772d..1701cff 100644
--- a/tests/Hakyll/Core/Rules/Tests.hs
+++ b/tests/Hakyll/Core/Rules/Tests.hs
@@ -40,16 +40,18 @@ rulesTest = do
store <- newTestStore
provider <- newTestProvider store
ruleSet <- runRules (rules ioref) provider
- let identifiers = S.fromList $ map fst $ rulesCompilers ruleSet
- routes = rulesRoutes ruleSet
+ let identifiers = S.fromList $ map fst $ rulesCompilers ruleSet
+ routes = rulesRoutes ruleSet
+ checkRoute ex i =
+ runRoutes routes provider i >>= \r -> Just ex @=? r
-- Test that we have some identifiers and that the routes work out
assert $ all (`S.member` identifiers) expected
- Just "example.html" @=? runRoutes routes "example.md"
- Just "example.md" @=? runRoutes routes (sv "raw" "example.md")
- Just "example.md" @=? runRoutes routes (sv "nav" "example.md")
- Just "example.mv1" @=? runRoutes routes (sv "mv1" "example.md")
- Just "example.mv2" @=? runRoutes routes (sv "mv2" "example.md")
+ checkRoute "example.html" "example.md"
+ checkRoute "example.md" (sv "raw" "example.md")
+ checkRoute "example.md" (sv "nav" "example.md")
+ checkRoute "example.mv1" (sv "mv1" "example.md")
+ checkRoute "example.mv2" (sv "mv2" "example.md")
readIORef ioref >>= assert
where
sv g = setVersion (Just g)