Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Introductory documentation: https://github.com/sol/hspec-expectations#readme
Synopsis
- type Expectation = Assertion
- expectationFailure :: HasCallStack => String -> Expectation
- shouldBe :: ( HasCallStack , Show a, Eq a) => a -> a -> Expectation
- shouldSatisfy :: ( HasCallStack , Show a) => a -> (a -> Bool ) -> Expectation
- shouldStartWith :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation
- shouldEndWith :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation
- shouldContain :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation
- shouldMatchList :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation
- shouldReturn :: ( HasCallStack , Show a, Eq a) => IO a -> a -> Expectation
- shouldNotBe :: ( HasCallStack , Show a, Eq a) => a -> a -> Expectation
- shouldNotSatisfy :: ( HasCallStack , Show a) => a -> (a -> Bool ) -> Expectation
- shouldNotContain :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation
- shouldNotReturn :: ( HasCallStack , Show a, Eq a) => IO a -> a -> Expectation
- shouldThrow :: ( HasCallStack , Exception e) => IO a -> Selector e -> Expectation
- type Selector a = a -> Bool
- anyException :: Selector SomeException
- anyErrorCall :: Selector ErrorCall
- anyIOException :: Selector IOException
- anyArithException :: Selector ArithException
- errorCall :: String -> Selector ErrorCall
- type HasCallStack = ?callStack :: CallStack
Setting expectations
type Expectation = Assertion Source #
expectationFailure :: HasCallStack => String -> Expectation Source #
shouldBe :: ( HasCallStack , Show a, Eq a) => a -> a -> Expectation infix 1 Source #
actual `shouldBe` expected
sets the expectation that
actual
is equal
to
expected
.
shouldSatisfy :: ( HasCallStack , Show a) => a -> (a -> Bool ) -> Expectation infix 1 Source #
v `shouldSatisfy` p
sets the expectation that
p v
is
True
.
shouldStartWith :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation infix 1 Source #
list `shouldStartWith` prefix
sets the expectation that
list
starts with
prefix
,
shouldEndWith :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation infix 1 Source #
list `shouldEndWith` suffix
sets the expectation that
list
ends with
suffix
,
shouldContain :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation infix 1 Source #
list `shouldContain` sublist
sets the expectation that
sublist
is contained,
wholly and intact, anywhere in
list
.
shouldMatchList :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation infix 1 Source #
xs `shouldMatchList` ys
sets the expectation that
xs
has the same
elements that
ys
has, possibly in another order
shouldReturn :: ( HasCallStack , Show a, Eq a) => IO a -> a -> Expectation infix 1 Source #
action `shouldReturn` expected
sets the expectation that
action
returns
expected
.
shouldNotBe :: ( HasCallStack , Show a, Eq a) => a -> a -> Expectation infix 1 Source #
actual `shouldNotBe` notExpected
sets the expectation that
actual
is not
equal to
notExpected
shouldNotSatisfy :: ( HasCallStack , Show a) => a -> (a -> Bool ) -> Expectation infix 1 Source #
v `shouldNotSatisfy` p
sets the expectation that
p v
is
False
.
shouldNotContain :: ( HasCallStack , Show a, Eq a) => [a] -> [a] -> Expectation infix 1 Source #
list `shouldNotContain` sublist
sets the expectation that
sublist
is not
contained anywhere in
list
.
shouldNotReturn :: ( HasCallStack , Show a, Eq a) => IO a -> a -> Expectation infix 1 Source #
action `shouldNotReturn` notExpected
sets the expectation that
action
does not return
notExpected
.
Expecting exceptions
shouldThrow :: ( HasCallStack , Exception e) => IO a -> Selector e -> Expectation infix 1 Source #
action `shouldThrow` selector
sets the expectation that
action
throws
an exception. The precise nature of the expected exception is described
with a
Selector
.
Selecting exceptions
type Selector a = a -> Bool Source #
A
Selector
is a predicate; it can simultaneously constrain the type and
value of an exception.
Predefined type-based selectors
There are predefined selectors for some standard exceptions. Each selector
is just
const True
with an appropriate type.
Combinators for defining value-based selectors
Some exceptions (most prominently
ErrorCall
) have no
Eq
instance.
Selecting a specific value would require pattern matching.
For such exceptions, combinators that construct selectors are provided. Each combinator corresponds to a constructor; it takes the same arguments, and has the same name (but starting with a lower-case letter).
Re-exports
type HasCallStack = ?callStack :: CallStack Source #
Request a CallStack.
NOTE: The implicit parameter
?callStack :: CallStack
is an
implementation detail and
should not
be considered part of the
CallStack
API, we may decide to change the implementation in the
future.
Since: base-4.9.0.0