{-# LANGUAGE TemplateHaskell #-} import Test.Hspec import Test.Hspec.HUnit import Test.HUnit import Data.FileEmbed import qualified Data.ByteString as S import Data.List (sort) myeq x y = do y' <- y x @?= y' main = hspec $ descriptions [ describe "embedFile" [ it "handles text files" $ $(embedFile "sample/bar") `myeq` S.readFile "sample/bar" , it "handles binary files" $ $(embedFile "sample/binary") `myeq` S.readFile "sample/binary" ] , describe "getDir" [ it "takes all non-hidden files" $ ["bar", "baz", "bin", "binary"] `myeq` (fmap (sort . map fst) $ getDir "sample") ] , describe "embedDir" [ it "handles text and binary files" $ $(embedDir "sample") `myeq` getDir "sample" ] ]