hspec-contrib 0.2.2 → 0.3.0
raw patch · 3 files changed
+1/−63 lines, 3 filesdep −logging-facadePVP ok
version bump matches the API change (PVP)
Dependencies removed: logging-facade
API changes (from Hackage documentation)
- Test.Hspec.Contrib.LoggingFacade: captureLogs :: IO a -> IO ([LogRecord], a)
Files
- hspec-contrib.cabal +1/−5
- src/Test/Hspec/Contrib/LoggingFacade.hs +0/−25
- test/Test/Hspec/Contrib/LoggingFacadeSpec.hs +0/−33
hspec-contrib.cabal view
@@ -1,5 +1,5 @@ name: hspec-contrib-version: 0.2.2+version: 0.3.0 license: MIT license-file: LICENSE copyright: (c) 2011-2015 Simon Hengel,@@ -29,11 +29,9 @@ base == 4.* , hspec-core , HUnit- , logging-facade exposed-modules: Test.Hspec.Contrib.Retry Test.Hspec.Contrib.HUnit- Test.Hspec.Contrib.LoggingFacade other-modules: default-language: Haskell2010 @@ -48,14 +46,12 @@ Helper Test.Hspec.Contrib.RetrySpec Test.Hspec.Contrib.HUnitSpec- Test.Hspec.Contrib.LoggingFacadeSpec ghc-options: -Wall build-depends: base == 4.* , hspec-core , HUnit- , logging-facade , hspec-contrib , hspec
− src/Test/Hspec/Contrib/LoggingFacade.hs
@@ -1,25 +0,0 @@-module Test.Hspec.Contrib.LoggingFacade {-# DEPRECATED "Use \"Test.Mockery.Logging\" from package @mockery@ instead" #-} (- captureLogs-) where--import Control.Exception-import Data.IORef-import System.Logging.Facade.Types-import System.Logging.Facade.Sink---- | Capture all logs produced by an IO action.--- Logs are kept in memory.-captureLogs :: IO a -> IO ([LogRecord], a)-captureLogs action = bracket enter exit act- where- logToRef ref record = atomicModifyIORef' ref $ \logs -> (record : logs, ())- enter = do- oldSink <- getLogSink- ref <- newIORef []- setLogSink $ logToRef ref- return (oldSink, ref)- exit (oldSink, _) = setLogSink oldSink- act (_, ref) = do- val <- action- logs <- readIORef ref- return (reverse logs, val)
− test/Test/Hspec/Contrib/LoggingFacadeSpec.hs
@@ -1,33 +0,0 @@-{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}-module Test.Hspec.Contrib.LoggingFacadeSpec (main, spec) where--import Test.Hspec-import Data.IORef-import System.Logging.Facade.Types-import System.Logging.Facade.Sink-import System.Logging.Facade as Log--import Test.Hspec.Contrib.LoggingFacade--main :: IO ()-main = hspec spec--spec :: Spec-spec = describe "Hspec.Contrib.LoggingFacade" $ do- describe "captureLogs" $ do- let logToIORef :: IORef [LogRecord] -> LogSink- logToIORef ref record = modifyIORef ref (record :)-- it "returns all logs of an action" $ do- (logs, ()) <- captureLogs $ do- Log.trace "this should be captured"- Log.trace "this should be captured next"- logs `shouldBe` [ LogRecord TRACE Nothing "this should be captured"- , LogRecord TRACE Nothing "this should be captured next"- ]-- it "prevents logs from going to the log sink" $ do- ref <- newIORef []- setLogSink $ logToIORef ref- _ <- captureLogs $ Log.trace "this should be captured"- readIORef ref `shouldReturn` []