packages feed

polysemy-0.5.0.0: test/HigherOrderSpec.hs

module HigherOrderSpec where

import Polysemy
import Polysemy.Reader
import Test.Hspec


spec :: Spec
spec = parallel $ describe "Reader local" $ do
  it "should nest with itself" $ do
    let foo = run . runReader "hello" $ do
                local (++ " world") $ do
                  local (++ "!") $ do
                    ask
    foo `shouldBe` "hello world!"