logging-facade-0.0.0: test/System/Logging/FacadeSpec.hs
module System.Logging.FacadeSpec (main, spec) where
import Test.Hspec
import Data.IORef
import System.Logging.Facade.Types
import System.Logging.Facade.Sink
import System.Logging.Facade
main :: IO ()
main = hspec spec
spec :: Spec
spec = do
describe "info" $ do
it "writes a log message with log level INFO" $ do
ref <- newIORef []
let captureLogMessage :: LogSink
captureLogMessage record = modifyIORef ref (record :)
setLogSink captureLogMessage
info "some log message"
readIORef ref `shouldReturn` [LogRecord INFO Nothing "some log message"]