summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Core/Identifier
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Hakyll/Core/Identifier')
-rw-r--r--tests/Hakyll/Core/Identifier/Tests.hs29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/Hakyll/Core/Identifier/Tests.hs b/tests/Hakyll/Core/Identifier/Tests.hs
new file mode 100644
index 0000000..910bca3
--- /dev/null
+++ b/tests/Hakyll/Core/Identifier/Tests.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Hakyll.Core.Identifier.Tests
+ ( tests
+ ) where
+
+import Test.Framework
+import Test.Framework.Providers.HUnit
+import Test.HUnit hiding (Test)
+
+import Hakyll.Core.Identifier.Pattern
+
+tests :: [Test]
+tests = zipWith testCase names matchCases
+ where
+ names = map (\n -> "match [" ++ show n ++ "]") [1 :: Int ..]
+
+-- | Collection of simple cases
+--
+matchCases :: [Assertion]
+matchCases =
+ [ Just [["bar"]] @=? match "foo/**" "foo/bar"
+ , Just [["foo", "bar"]] @=? match "**" "foo/bar"
+ , Nothing @=? match "*" "foo/bar"
+ , Just [] @=? match "foo" "foo"
+ , Just [["foo"]] @=? match "*/bar" "foo/bar"
+ , Just [["foo", "bar"]] @=? match "**/qux" "foo/bar/qux"
+ , Just [["foo", "bar"], ["qux"]] @=? match "**/*" "foo/bar/qux"
+ , Just [["foo"], ["bar", "qux"]] @=? match "*/**" "foo/bar/qux"
+ ]