fakefs-0.3.0.2: Extensible fake file system for testing.

Safe HaskellNone
LanguageHaskell2010

Test.FileSystem.Fake

Documentation

type FileSystem contents = Map String contents Source #

newtype FileSystemT contents m a Source #

Constructors

FileSystemT 

Fields

Instances
(MonadReader r m, MonadWriter w m) => MonadRWS r w (FileSystem contents) (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

MonadWriter w m => MonadWriter w (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

writer :: (a, w) -> FileSystemT contents m a #

tell :: w -> FileSystemT contents m () #

listen :: FileSystemT contents m a -> FileSystemT contents m (a, w) #

pass :: FileSystemT contents m (a, w -> w) -> FileSystemT contents m a #

MonadReader r m => MonadReader r (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

ask :: FileSystemT contents m r #

local :: (r -> r) -> FileSystemT contents m a -> FileSystemT contents m a #

reader :: (r -> a) -> FileSystemT contents m a #

MonadError e m => MonadError e (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

throwError :: e -> FileSystemT contents m a #

catchError :: FileSystemT contents m a -> (e -> FileSystemT contents m a) -> FileSystemT contents m a #

MonadTrans (FileSystemT contents) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

lift :: Monad m => m a -> FileSystemT contents m a #

Monad m => MonadState (FileSystem contents) (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

get :: FileSystemT contents m (FileSystem contents) #

put :: FileSystem contents -> FileSystemT contents m () #

state :: (FileSystem contents -> (a, FileSystem contents)) -> FileSystemT contents m a #

Monad m => Monad (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

(>>=) :: FileSystemT contents m a -> (a -> FileSystemT contents m b) -> FileSystemT contents m b #

(>>) :: FileSystemT contents m a -> FileSystemT contents m b -> FileSystemT contents m b #

return :: a -> FileSystemT contents m a #

fail :: String -> FileSystemT contents m a #

Functor m => Functor (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

fmap :: (a -> b) -> FileSystemT contents m a -> FileSystemT contents m b #

(<$) :: a -> FileSystemT contents m b -> FileSystemT contents m a #

MonadFix m => MonadFix (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

mfix :: (a -> FileSystemT contents m a) -> FileSystemT contents m a #

MonadFail m => MonadFail (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

fail :: String -> FileSystemT contents m a #

Monad m => Applicative (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

pure :: a -> FileSystemT contents m a #

(<*>) :: FileSystemT contents m (a -> b) -> FileSystemT contents m a -> FileSystemT contents m b #

liftA2 :: (a -> b -> c) -> FileSystemT contents m a -> FileSystemT contents m b -> FileSystemT contents m c #

(*>) :: FileSystemT contents m a -> FileSystemT contents m b -> FileSystemT contents m b #

(<*) :: FileSystemT contents m a -> FileSystemT contents m b -> FileSystemT contents m a #

MonadIO m => MonadIO (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

liftIO :: IO a -> FileSystemT contents m a #

MonadPlus m => Alternative (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

empty :: FileSystemT contents m a #

(<|>) :: FileSystemT contents m a -> FileSystemT contents m a -> FileSystemT contents m a #

some :: FileSystemT contents m a -> FileSystemT contents m [a] #

many :: FileSystemT contents m a -> FileSystemT contents m [a] #

MonadPlus m => MonadPlus (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

mzero :: FileSystemT contents m a #

mplus :: FileSystemT contents m a -> FileSystemT contents m a -> FileSystemT contents m a #

MonadThrow m => MonadThrow (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

throwM :: Exception e => e -> FileSystemT contents m a #

MonadCatch m => MonadCatch (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

catch :: Exception e => FileSystemT contents m a -> (e -> FileSystemT contents m a) -> FileSystemT contents m a #

MonadMask m => MonadMask (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

mask :: ((forall a. FileSystemT contents m a -> FileSystemT contents m a) -> FileSystemT contents m b) -> FileSystemT contents m b #

uninterruptibleMask :: ((forall a. FileSystemT contents m a -> FileSystemT contents m a) -> FileSystemT contents m b) -> FileSystemT contents m b #

generalBracket :: FileSystemT contents m a -> (a -> ExitCase b -> FileSystemT contents m c) -> (a -> FileSystemT contents m b) -> FileSystemT contents m (b, c) #

MonadCont m => MonadCont (FileSystemT contents m) Source # 
Instance details

Defined in Test.FileSystem.Fake

Methods

callCC :: ((a -> FileSystemT contents m b) -> FileSystemT contents m a) -> FileSystemT contents m a #

type FileSystemM contents = FileSystemT contents Identity Source #

type MonadFileSystem contents = MonadState (FileSystem contents) Source #

runFileSystemT :: FileSystemT contents m a -> FileSystem contents -> m (a, FileSystem contents) Source #

evalFileSystemT :: Functor f => FileSystemT contents f a -> FileSystem contents -> f a Source #

execFileSystemT :: Functor f => FileSystemT contents f a -> FileSystem contents -> f (FileSystem contents) Source #

runFileSystemM :: FileSystemM contents a -> FileSystem contents -> (a, FileSystem contents) Source #

evalFileSystemM :: FileSystemM contents a -> FileSystem contents -> a Source #

execFileSystemM :: FileSystemM contents a -> FileSystem contents -> FileSystem contents Source #

readPath :: (MonadThrow m, MonadFileSystem contents m) => FilePath -> m contents Source #

writePath :: MonadFileSystem contents m => FilePath -> contents -> m () Source #

modifyPath :: MonadFileSystem contents m => FilePath -> (Maybe contents -> Maybe contents) -> m () Source #