Merge pull request #1705 from masaeedu/addmonadstate
Add MonadState instance for SIO
This commit is contained in:
commit
9cb8d2d369
@ -7,6 +7,7 @@
|
|||||||
{-# LANGUAGE ImplicitParams #-}
|
{-# LANGUAGE ImplicitParams #-}
|
||||||
{-# LANGUAGE ConstraintKinds #-}
|
{-# LANGUAGE ConstraintKinds #-}
|
||||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||||
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
|
|
||||||
{-|
|
{-|
|
||||||
Yesod.Test is a pragmatic framework for testing web applications built
|
Yesod.Test is a pragmatic framework for testing web applications built
|
||||||
@ -245,6 +246,7 @@ import Network.Wai.Test hiding (assertHeader, assertNoHeader, request)
|
|||||||
import Control.Monad.Trans.Reader (ReaderT (..))
|
import Control.Monad.Trans.Reader (ReaderT (..))
|
||||||
import Conduit (MonadThrow)
|
import Conduit (MonadThrow)
|
||||||
import Control.Monad.IO.Class
|
import Control.Monad.IO.Class
|
||||||
|
import qualified Control.Monad.State.Class as MS
|
||||||
import System.IO
|
import System.IO
|
||||||
import Yesod.Core.Unsafe (runFakeHandler)
|
import Yesod.Core.Unsafe (runFakeHandler)
|
||||||
import Yesod.Test.TransversingCSS
|
import Yesod.Test.TransversingCSS
|
||||||
@ -1601,6 +1603,11 @@ instance YesodDispatch site => Hspec.Example (SIO (YesodExampleData site) a) whe
|
|||||||
newtype SIO s a = SIO (ReaderT (IORef s) IO a)
|
newtype SIO s a = SIO (ReaderT (IORef s) IO a)
|
||||||
deriving (Functor, Applicative, Monad, MonadIO, MonadThrow, MonadUnliftIO)
|
deriving (Functor, Applicative, Monad, MonadIO, MonadThrow, MonadUnliftIO)
|
||||||
|
|
||||||
|
instance MS.MonadState s (SIO s)
|
||||||
|
where
|
||||||
|
get = getSIO
|
||||||
|
put = putSIO
|
||||||
|
|
||||||
getSIO :: SIO s s
|
getSIO :: SIO s s
|
||||||
getSIO = SIO $ ReaderT readIORef
|
getSIO = SIO $ ReaderT readIORef
|
||||||
|
|
||||||
|
|||||||
@ -34,6 +34,7 @@ library
|
|||||||
, pretty-show >= 1.6
|
, pretty-show >= 1.6
|
||||||
, text
|
, text
|
||||||
, time
|
, time
|
||||||
|
, mtl >= 2.0.0
|
||||||
, transformers >= 0.2.2
|
, transformers >= 0.2.2
|
||||||
, wai >= 3.0
|
, wai >= 3.0
|
||||||
, wai-extra
|
, wai-extra
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user