@@ -5,15 +5,36 @@ module ResponseHeaderSpec (main, spec) where
55import Data.ByteString
66import qualified Network.HTTP.Types as H
77import Network.Wai.Handler.Warp.ResponseHeader
8+import Network.Wai.Handler.Warp.Response
9+import Network.Wai.Handler.Warp.Header
810import Test.Hspec
911
1012main :: IO ()
1113main = hspec spec
1214
1315spec :: Spec
14−spec = describe "composeHeader" $ do
15− it "composes a HTTP header" $
16− composeHeader H.http11 H.ok200 headers `shouldReturn` composedHeader
16+spec = do
17+ describe "composeHeader" $ do
18+ it "composes a HTTP header" $
19+ composeHeader H.http11 H.ok200 headers `shouldReturn` composedHeader
20+ describe "addServer" $ do
21+ it "adds Server if not exist" $ do
22+ let hdrs = []
23+ rspidxhdr = indexResponseHeader hdrs
24+ addServer "MyServer" rspidxhdr hdrs `shouldBe` [("Server","MyServer")]
25+ it "does not add Server if exists" $ do
26+ let hdrs = [("Server","MyServer")]
27+ rspidxhdr = indexResponseHeader hdrs
28+ addServer "MyServer2" rspidxhdr hdrs `shouldBe` hdrs
29+ it "does not add Server if empty" $ do
30+ let hdrs = []
31+ rspidxhdr = indexResponseHeader hdrs
32+ addServer "" rspidxhdr hdrs `shouldBe` hdrs
33+ it "deletes Server " $ do
34+ let hdrs = [("Server","MyServer")]
35+ rspidxhdr = indexResponseHeader hdrs
36+ addServer "" rspidxhdr hdrs `shouldBe` []
37+
1738
1839headers :: H.ResponseHeaders
1940headers = [