hspec-dirstream-0.1.0.2: Helper functions to simplify adding integration tests.

Safe HaskellNone
LanguageHaskell2010

Test.Hspec.Dirstream

Contents

Synopsis

Documentation

testFiles Source #

Arguments

:: (Eq a, Show a) 
=> FilePath

Base directory

-> (FilePath -> Bool)

Filter on file extensions

-> (String -> Either a String)

Function to process a file

-> SpecWith () 

Helper function to generate a spec. The spec runs on the given directory, filtering by the given function. It then compares their output to the text of the file with .out as the new extension.

As an example, consider the directory structure

test/data
├── file.hs
└── file.out

If we have a function called formatFile and we run

testFiles "test/data" (hasExtension "hs") formatFile

This would read test/data/file.hs, format the file if it can, and compare the output to the contents of test/data/file.out.

extension :: FilePath -> Maybe Text #

Get a FilePath’s last extension, or Nothing if it has no extensions.

Orphan instances

MonadIO (SpecM a) Source # 

Methods

liftIO :: IO a -> SpecM a a #

MonadThrow (SpecM a) Source # 

Methods

throwM :: Exception e => e -> SpecM a a #

MonadCatch (SpecM a) Source # 

Methods

catch :: Exception e => SpecM a a -> (e -> SpecM a a) -> SpecM a a #

MonadMask (SpecM a) Source # 

Methods

mask :: ((forall b. SpecM a b -> SpecM a b) -> SpecM a b) -> SpecM a b #

uninterruptibleMask :: ((forall b. SpecM a b -> SpecM a b) -> SpecM a b) -> SpecM a b #