th-test-utils-1.2.1: Utility functions for testing Template Haskell code
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Haskell.TH.TestUtils.QMode

Documentation

data QMode (mode :: MockedMode) where Source #

Constructors

MockQ :: QMode 'FullyMocked

All Q actions are mocked and IO actions are disallowed.

MockQAllowIO :: QMode 'FullyMockedWithIO

Same as MockQ, except IO actions are passed through. Useful if your TH code, for example, reads files with runIO.

AllowQ :: QMode 'NotMocked

No mocking is done. Useful for running Q as normal, but you need to get error messages.

Instances

Instances details
Lift (QMode mode :: Type) Source # 
Instance details

Defined in Language.Haskell.TH.TestUtils.QMode

Methods

lift :: Quote m => QMode mode -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => QMode mode -> Code m (QMode mode) #

Show (QMode mode) Source # 
Instance details

Defined in Language.Haskell.TH.TestUtils.QMode

Methods

showsPrec :: Int -> QMode mode -> ShowS #

show :: QMode mode -> String #

showList :: [QMode mode] -> ShowS #

class IsMockedMode (mode :: MockedMode) where Source #

Associated Types

type TestQResult mode a Source #

Methods

runResult :: Q a -> TestQResult mode a Source #

fmapResult :: (a -> b) -> TestQResult mode a -> TestQResult mode b Source #