hspec-core-2.4.0: src/Test/Hspec/Core/Timer.hs
module Test.Hspec.Core.Timer where
import Data.IORef
import Data.Time.Clock.POSIX
newTimer :: POSIXTime -> IO (IO Bool)
newTimer delay = do
ref <- getPOSIXTime >>= newIORef
return $ do
t0 <- readIORef ref
t1 <- getPOSIXTime
if delay < t1 - t0
then writeIORef ref t1 >> return True
else return False