packages feed

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 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` []