summaryrefslogtreecommitdiff
path: root/tests/Template.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Template.hs')
-rw-r--r--tests/Template.hs32
1 files changed, 25 insertions, 7 deletions
diff --git a/tests/Template.hs b/tests/Template.hs
index 9d1d39d..9ba956a 100644
--- a/tests/Template.hs
+++ b/tests/Template.hs
@@ -1,12 +1,25 @@
-module Template where
+module Template
+ ( templateGroup
+ ) where
import qualified Data.Map as M
-import Test.QuickCheck
import Data.Binary
+import Test.Framework (testGroup)
+import Test.Framework.Providers.HUnit
+import Test.Framework.Providers.QuickCheck2
+import Test.HUnit
import Text.Hakyll.Internal.Template
+-- Template test group.
+templateGroup = testGroup "Template"
+ [ testProperty "prop_template_encode_id" prop_template_encode_id
+ , testProperty "prop_substitute_id" prop_substitute_id
+ , testCase "test_substitute_1" test_substitute_1
+ , testCase "test_substitute_2" test_substitute_2
+ ]
+
-- Test encoding/decoding of templates.
prop_template_encode_id :: Template -> Bool
prop_template_encode_id template = decode (encode template) == template
@@ -16,10 +29,15 @@ prop_substitute_id string =
regularSubstitute (fromString string) M.empty == string
-- substitute test case 1.
-prop_substitute_case1 string1 string2 =
- finalSubstitute template context == string1 ++ " costs $" ++ string2 ++ "."
+test_substitute_1 =
+ finalSubstitute template context @?= "Banana costs $4."
where
template = fromString "$product costs $$$price."
- context = M.fromList [ ("product", string1)
- , ("price", string2)
- ]
+ context = M.fromList [("product", "Banana"), ("price", "4")]
+
+-- substitute test case 2.
+test_substitute_2 =
+ regularSubstitute template context @?= "$$root is a special key."
+ where
+ template = fromString "$$root is a special $thing."
+ context = M.fromList [("root", "foo"), ("thing", "key")]