summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Web/Tags/Tests.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Hakyll/Web/Tags/Tests.hs')
-rw-r--r--tests/Hakyll/Web/Tags/Tests.hs42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/Hakyll/Web/Tags/Tests.hs b/tests/Hakyll/Web/Tags/Tests.hs
new file mode 100644
index 0000000..9b225e1
--- /dev/null
+++ b/tests/Hakyll/Web/Tags/Tests.hs
@@ -0,0 +1,42 @@
+--------------------------------------------------------------------------------
+{-# LANGUAGE OverloadedStrings #-}
+module Hakyll.Web.Tags.Tests
+ ( tests
+ ) where
+
+--------------------------------------------------------------------------------
+import Test.Tasty (TestTree, testGroup)
+import Test.Tasty.HUnit (Assertion, testCase, (@?=))
+
+--------------------------------------------------------------------------------
+import Hakyll.Core.Identifier
+import Hakyll.Core.Provider
+import Hakyll.Core.Store (Store)
+import Hakyll.Web.Tags
+import TestSuite.Util
+
+tests :: TestTree
+tests = testGroup "Hakyll.Web.Tags"
+ [ testCase "testGetCategory" testGetCategory
+ ]
+
+testGetCategory :: Assertion
+testGetCategory = do
+ store <- newTestStore
+ provider <- newTestProvider store
+
+ noCategory <- testCategoryDone store provider "example.md"
+ noCategory @?= [""]
+
+ oneCategory1 <- testCategoryDone store provider "posts/2010-08-26-birthday.md"
+ oneCategory1 @?= ["posts"]
+
+ oneCategory2 <- testCategoryDone store provider "posts/2019/05/10/tomorrow.md"
+ oneCategory2 @?= ["10"]
+
+ cleanTestEnv
+
+--------------------------------------------------------------------------------
+testCategoryDone :: Store -> Provider -> Identifier -> IO [String]
+testCategoryDone store provider identifier =
+ testCompilerDone store provider identifier $ getCategory identifier