@@ -5,6 +5,7 @@ import Network.Wai.Application.Static
55
66import Test.Hspec.Monadic
77import Test.Hspec.HUnit ()
8+import Test.HUnit ((@?=))
89import qualified Data.ByteString.Char8 as S8
910-- import qualified Data.ByteString.Lazy.Char8 as L8
1011import System.PosixCompat.Files (getFileStatus, modificationTime)
@@ -17,6 +18,7 @@ import Network.Wai
1718import Network.Wai.Test
1819
1920import Control.Monad.IO.Class (liftIO)
21+import WaiAppStatic.Types
2022
2123defRequest :: Request
2224defRequest = defaultRequest
@@ -30,6 +32,14 @@ specs = do
3032 let file = "a/b"
3133 let statFile = setRawPathInfo defRequest file
3234
35+ describe "mime types" $ do
36+ it "pieceExtensions" $
37+ pieceExtensions (unsafeToPiece "foo.tar.gz") @?= ["tar.gz", "gz"]
38+ it "handles multi-extensions" $
39+ defaultMimeTypeByExt (unsafeToPiece "foo.tar.gz") @?= "application/x-tgz"
40+ it "defaults correctly" $
41+ defaultMimeTypeByExt (unsafeToPiece "foo.unknown") @?= "application/octet-stream"
42+
3343 {-
3444 describe "Pieces: pathFromPieces" $ do
3545 it "converts to a file path" $