@@ -0,0 +1,42 @@
1+--------------------------------------------------------------------------------
2+{-# LANGUAGE OverloadedStrings #-}
3+module Hakyll.Web.Tags.Tests
4+ ( tests
5+ ) where
6+
7+--------------------------------------------------------------------------------
8+import Test.Tasty (TestTree, testGroup)
9+import Test.Tasty.HUnit (Assertion, testCase, (@?=))
10+
11+--------------------------------------------------------------------------------
12+import Hakyll.Core.Identifier
13+import Hakyll.Core.Provider
14+import Hakyll.Core.Store (Store)
15+import Hakyll.Web.Tags
16+import TestSuite.Util
17+
18+tests :: TestTree
19+tests = testGroup "Hakyll.Web.Tags"
20+ [ testCase "testGetCategory" testGetCategory
21+ ]
22+
23+testGetCategory :: Assertion
24+testGetCategory = do
25+ store <- newTestStore
26+ provider <- newTestProvider store
27+
28+ noCategory <- testCategoryDone store provider "example.md"
29+ noCategory @?= [""]
30+
31+ oneCategory1 <- testCategoryDone store provider "posts/2010-08-26-birthday.md"
32+ oneCategory1 @?= ["posts"]
33+
34+ oneCategory2 <- testCategoryDone store provider "posts/2019/05/10/tomorrow.md"
35+ oneCategory2 @?= ["10"]
36+
37+ cleanTestEnv
38+
39+--------------------------------------------------------------------------------
40+testCategoryDone :: Store -> Provider -> Identifier -> IO [String]
41+testCategoryDone store provider identifier =
42+ testCompilerDone store provider identifier $ getCategory identifier