module FilesSpec where
import Test.Hspec
import Test.Mockery.Directory
import Files
spec :: Spec
spec = do
describe "findHaskellFiles" $ do
it "returns haskell files in the directory recursively" $ do
inTempDirectory $ do
touch "somewhere/Makefile"
touch "Main.hs"
touch "somewhere/src/Foo.hs"
touch "somewhere/Main.hs"
touch "somewhere/src/Bar.lhs"
touch "somewhere/assets/baz.png"
touch "other/Foo.hs"
actual <- findHaskellFiles ["somewhere", "other"]
actual `shouldMatchList`
["somewhere/src/Foo.hs", "somewhere/Main.hs", "somewhere/src/Bar.lhs", "other/Foo.hs"]