on master help sign in
Fix some test cases
commitff04f76de24bca0fccd9b87e910728faf2df86f7 authorMichael Snoyman <michael@snoyman.com> dateMon 13 Jun 2011, 09:44 (15 years ago) parent71931a8
2 files changed+10−7
Network/Wai/Application/Static.hs+5−2 tests/runtests.hs+5−5
Network/Wai/Application/Static.hs+5−2
@@ -315,7 +315,7 @@ checkPieces fileLookup indices pieces req maxAge
315315
316316 cacheControl = case ccInt of
317317 Nothing -> []
318− Just i -> [("Cache-Control", S8.append "max-age" $ S8.pack $ show i)]
318+ Just i -> [("Cache-Control", S8.append "max-age=" $ S8.pack $ show i)]
319319 where
320320 ccInt =
321321 case maxAge of
@@ -344,7 +344,10 @@ data File = File
344344 }
345345
346346parseDate :: ByteString -> Maybe EpochTime
347−parseDate = error "parseDate"
347+parseDate =
348+ fmap (fromIntegral . fromEnum . utcTimeToPOSIXSeconds) . parseTime defaultTimeLocale format . S8.unpack
349+ where
350+ format = "%a, %d %b %Y %X %Z"
348351
349352data StaticSettings = StaticSettings
350353 { ssFolder :: Pieces -> IO FileLookup
tests/runtests.hs+5−5
@@ -57,7 +57,7 @@ main = hspecX $ do
5757
5858
5959 let cacheLookup = MaxAgeForever -- (\fp h -> fp == "tests/runtests.hs" && h == "cached")
60− let statApp = flip runSession $ staticApp defaultWebAppSettings -- cacheLookup) {ssFolder = "tests"}
60+ let statApp = flip runSession $ staticApp defaultFileServerSettings {ssFolder = fileSystemLookup "tests"}
6161 describe "staticApp" $ do
6262 it "403 for unsafe paths" $ statApp $
6363 flip mapM_ ["..", "."] $ \path ->
@@ -87,9 +87,9 @@ main = hspecX $ do
8787 assertStatus 301 req
8888 assertHeader "Location" "../../a/b/c" req
8989
90− let absoluteApp = flip runSession $ staticApp $ defaultWebAppSettings -- cacheLookup) {
91− -- ssFolder = "tests", ssMkRedirect = \_ u -> S8.append "http://www.example.com" u
92− -- }
90+ let absoluteApp = flip runSession $ staticApp $ defaultWebAppSettings {
91+ ssFolder = fileSystemLookup "tests", ssMkRedirect = \_ u -> S8.append "http://www.example.com" u
92+ }
9393 it "301 redirect when multiple slashes" $ absoluteApp $
9494 flip mapM_ ["/a//b/c", "a//b/c"] $ \path -> do
9595 req <- request (setRawPathInfo defRequest path)
@@ -124,7 +124,7 @@ main = hspecX $ do
124124 assertStatus 304 req
125125 assertNoHeader "Cache-Control" req
126126
127− let pubApp = flip runSession $ staticApp defaultWebAppSettings -- $ ETag (\_ -> return $ Just "hash")) {ssFolder = "tests"}
127+ let pubApp = flip runSession $ staticApp defaultWebAppSettings {ssFolder = fileSystemLookup "tests"}
128128 describe "staticApp when requesting a public asset - etags" $ do
129129 it "200 when no etag parameters" $ pubApp $ do
130130 req <- request (setRawPathInfo defRequest "runtests.hs")