summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Web/Urls/Tests.hs
blob: db7a10b2d6d1d92c6c75456b600ade3630f71e4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Hakyll.Web.Urls.Tests
    ( tests
    ) where

import Data.Char (toUpper)

import Test.Framework
import Test.HUnit hiding (Test)

import Hakyll.Web.Urls
import TestSuite.Util

tests :: [Test]
tests = concat
    [ fromAssertions "withUrls"
        [ "<a href=\"FOO\">bar</a>" @=?
            withUrls (map toUpper) "<a href=\"foo\">bar</a>"
        , "<img src=\"OH BAR\">" @=?
            withUrls (map toUpper) "<img src=\"oh bar\">"
        ]
    , fromAssertions "toUrl"
        [ "/foo/bar.html"    @=? toUrl "foo/bar.html"
        , "/"                @=? toUrl "/"
        , "/funny-pics.html" @=? toUrl "/funny-pics.html"
        ]
    , fromAssertions "toSiteRoot"
        [ ".."    @=? toSiteRoot "/foo/bar.html"
        , "."     @=? toSiteRoot "index.html"
        , "."     @=? toSiteRoot "/index.html"
        , "../.." @=? toSiteRoot "foo/bar/qux"
        ]
    , fromAssertions "isExternal"
        [ assert (isExternal "http://reddit.com")
        , assert (isExternal "https://mail.google.com")
        , assert (not (isExternal "../header.png"))
        , assert (not (isExternal "/foo/index.html"))
        ]
    ]