@@ -8,6 +8,7 @@ import Test.QuickCheck
8import Test.Framework (testGroup)
8import Test.Framework (testGroup)
9import Test.Framework.Providers.HUnit
9import Test.Framework.Providers.HUnit
10import Test.Framework.Providers.QuickCheck2
10import Test.Framework.Providers.QuickCheck2
12import Text.Hakyll.Util
13import Text.Hakyll.Util
@@ -17,6 +18,11 @@ utilGroup = testGroup "Util"
17 , testProperty "prop_trim_id" prop_trim_id
18 , testProperty "prop_trim_id" prop_trim_id
18 , testProperty "prop_stripHTML_length" prop_stripHTML_length
19 , testProperty "prop_stripHTML_length" prop_stripHTML_length
19 , testProperty "prop_stripHTML_id" prop_stripHTML_id
20 , testProperty "prop_stripHTML_id" prop_stripHTML_id
21+ , testCase "test_stripHTML_1" test_stripHTML_1
22+ , testCase "test_stripHTML_2" test_stripHTML_2
23+ , testCase "test_stripHTML_3" test_stripHTML_3
24+ , testCase "test_link_1" test_link_1
25+ , testCase "test_link_2" test_link_2
22-- Test that a string always becomes shorter when trimmed.
28-- Test that a string always becomes shorter when trimmed.
@@ -34,3 +40,15 @@ prop_stripHTML_length str = length str >= length (stripHTML str)
34-- Check that strings without tags remain untouched.
40-- Check that strings without tags remain untouched.
35prop_stripHTML_id str = (not $ any (`elem` ['>', '<']) str)
41prop_stripHTML_id str = (not $ any (`elem` ['>', '<']) str)
36 ==> str == stripHTML str
42 ==> str == stripHTML str
44+-- Strip HTML test cases.
45+test_stripHTML_1 = stripHTML "<b>text</b>" @?= "text"
46+test_stripHTML_2 = stripHTML "text" @?= "text"
48+ stripHTML "<b>Hakyll</b>, a <i>website</i> generator<img src=\"foo.png\" />"
49+ @?= "Hakyll, a website generator"
52+test_link_1 = link "foo bar" "/foo/bar.html"
53+ @?= "<a href=\"/foo/bar.html\">foo bar</a>"
54+test_link_2 = link "back home" "/" @?= "<a href=\"/\">back home</a>"