diff options
Diffstat (limited to 'tests/Hakyll/Core/Routes/Tests.hs')
-rw-r--r-- | tests/Hakyll/Core/Routes/Tests.hs | 32 |
1 files changed, 19 insertions, 13 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 |