@@ -9,12 +9,12 @@ import qualified Data.ByteString.Char8 as S8
99import System.PosixCompat.Files (getFileStatus, modificationTime)
1010
1111import Network.HTTP.Date
12+import Network.HTTP.Types (status500)
1213{-import System.Locale (defaultTimeLocale)-}
1314{-import Data.Time.Format (formatTime)-}
1415
1516import Network.Wai
1617import Network.Wai.Test
17−import Network.Wai.UrlMap
1818
1919import Control.Monad.IO.Class (liftIO)
2020import Network.Mime
@@ -130,9 +130,14 @@ spec = do
130130 assertStatus 301 req
131131 assertHeader "Location" "/a/" req
132132
133− let urlMapApp = flip runSession $ mapUrls $
134− mount "subPath" (staticApp $ defaultFileServerSettings "test")
135− it "works in conjunction with UrlMap at the root of the file server" $ urlMapApp $ do
133+ let urlMapApp = flip runSession $ \req send ->
134+ case pathInfo req of
135+ "subPath":rest ->
136+ let req' = req { pathInfo = rest }
137+ in (staticApp $ defaultFileServerSettings "test") req' send
138+ _ -> send $ responseLBS status500 []
139+ "urlMapApp: only works at subPath"
140+ it "works with subpath at the root of the file server" $ urlMapApp $ do
136141 req <- request (setRawPathInfo defRequest "/subPath")
137142 assertStatus 301 req
138143 assertHeader "Location" "/subPath/" req