{-# LANGUAGE CPP #-}
module HUnitTestExtended (
extendedTests
) where
import Test.HUnit
import HUnitTestBase
#if MIN_VERSION_base(4,9,0)
errorCall :: a
errorCall = error "error"
#endif
extendedTests :: Test
extendedTests = test [
-- Hugs doesn't currently catch arithmetic exceptions.
"div by 0" ~:
expectUnspecifiedError (TestCase ((3 `div` 0 :: Integer) `seq` return ())),
"list ref out of bounds" ~:
expectUnspecifiedError (TestCase ([1 .. 4 :: Integer] !! 10 `seq` return ())),
#if MIN_VERSION_base(4,9,0)
"error" ~:
expectError "error\nCallStack (from HasCallStack):\n error, called at tests/HUnitTestExtended.hs:11:13 in main:HUnitTestExtended" (TestCase errorCall),
#else
"error" ~:
expectError "error" (TestCase (error "error")),
#endif
"tail []" ~:
expectUnspecifiedError (TestCase (tail [] `seq` return ()))
]