summaryrefslogtreecommitdiff
path: root/tests/Hakyll/Web/CompressCss/Tests.hs
blob: c8db116b3d9d21f502e99ae6a45fc6c58c1bffe5 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
--------------------------------------------------------------------------------
module Hakyll.Web.CompressCss.Tests
    ( tests
    ) where


--------------------------------------------------------------------------------
import           Data.Char       (toUpper)
import           Test.Framework  (Test, testGroup)
import           Test.HUnit      (assert, (@=?))


--------------------------------------------------------------------------------
import           Hakyll.Web.CompressCss
import           TestSuite.Util


--------------------------------------------------------------------------------
tests :: Test
tests = testGroup "Hakyll.Web.CompressCss.Tests" $ concat
    [ fromAssertions "compressCss"
        [ 
          -- compress whitespace
          " something something " @=?
            compressCss " something  \n\t\r  something "

          -- strip comments
        , "" @=?
            compressCss "/* abc { } ;; \n\t\r */"

          -- compress separators
        , "}" @=?
            compressCss ";   }"
        , "{};" @=?
            compressCss "  {  }  ;  "
          -- but do not compress separators inside of constants
        , "\"  { } ;  \"" @=?
            compressCss "\"  { } ;  \""
          -- don't compress separators at the start or end of constants
        , "\" }\"" @=?
            compressCss "\" }\""
        , "\"{ \"" @=?
            compressCss "\"{ \""
          -- don't get irritated by the wrong constant terminator
        , "\"   '   \"" @=?
            compressCss "\"   '   \""
        , "'   \"   '" @=?
            compressCss "'   \"   '"
        , ";" @=?
            compressCss ";;;;;;;"

          -- some real-life css
        , "a:after{content: \" (\" attr(href) \")\"}" @=?
            compressCss "a:after {  content: \" (\" attr(href) \")\"; }"
        ]
    ]