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
|
--------------------------------------------------------------------------------
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 "
-- do not compress whitespace in constants
, "abc \" \t\n\r \" xyz" @=?
compressCss "abc \" \t\n\r \" xyz"
, "abc ' \t\n\r ' xyz" @=?
compressCss "abc ' \t\n\r ' xyz"
-- strip comments
, "" @=? compressCss "/* abc { } ;; \n\t\r */"
-- compress separators
, "}" @=? compressCss "; }"
, "{};" @=? compressCss " { } ; "
-- compress whitespace even after this curly brace
, "}" @=? 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 "' \" '"
-- don't compress whitespace around separators in constants in the middle of a string
, "abc '{ '" @=? compressCss "abc '{ '"
, "abc \"{ \"" @=? compressCss "abc \"{ \""
-- compress multiple semicolons
, ";" @=? compressCss ";;;;;;;"
]
]
|