Blame test/Data/Conduit/FilesystemSpec.hs

Packit 4b2029
module Data.Conduit.FilesystemSpec (spec) where
Packit 4b2029
Packit 4b2029
import Test.Hspec
Packit 4b2029
import Data.Conduit
Packit 4b2029
import qualified Data.Conduit.List as CL
Packit 4b2029
import Data.Conduit.Filesystem
Packit 4b2029
import Data.List (sort, isSuffixOf)
Packit 4b2029
import Control.Monad.Trans.Resource (runResourceT)
Packit 4b2029
Packit 4b2029
spec :: Spec
Packit 4b2029
spec = describe "Data.Conduit.Filesystem" $ do
Packit 4b2029
    it "sourceDirectory" $ do
Packit 4b2029
        res <- runResourceT
Packit 4b2029
             $ sourceDirectory "test/filesystem"
Packit 4b2029
             $$ CL.filter (not . (".swp" `isSuffixOf`))
Packit 4b2029
             =$ CL.consume
Packit 4b2029
        sort res `shouldBe`
Packit 4b2029
            [ "test/filesystem/bar.txt"
Packit 4b2029
            , "test/filesystem/baz.txt"
Packit 4b2029
            , "test/filesystem/bin"
Packit 4b2029
            , "test/filesystem/foo.txt"
Packit 4b2029
            ]
Packit 4b2029
    it "sourceDirectoryDeep" $ do
Packit 4b2029
        res1 <- runResourceT
Packit 4b2029
              $ sourceDirectoryDeep False "test/filesystem"
Packit 4b2029
              $$ CL.filter (not . (".swp" `isSuffixOf`))
Packit 4b2029
              =$ CL.consume
Packit 4b2029
        res2 <- runResourceT
Packit 4b2029
              $ sourceDirectoryDeep True "test/filesystem"
Packit 4b2029
              $$ CL.filter (not . (".swp" `isSuffixOf`))
Packit 4b2029
              =$ CL.consume
Packit 4b2029
        sort res1 `shouldBe`
Packit 4b2029
            [ "test/filesystem/bar.txt"
Packit 4b2029
            , "test/filesystem/baz.txt"
Packit 4b2029
            , "test/filesystem/bin/bin.txt"
Packit 4b2029
            , "test/filesystem/foo.txt"
Packit 4b2029
            ]
Packit 4b2029
        sort res1 `shouldBe` sort res2