diff --git a/yesod-core/test/YesodCoreTest/Header.hs b/yesod-core/test/YesodCoreTest/Header.hs index 4a9f11dc..aaf74a3a 100644 --- a/yesod-core/test/YesodCoreTest/Header.hs +++ b/yesod-core/test/YesodCoreTest/Header.hs @@ -25,6 +25,7 @@ mkYesod [parseRoutes| /header1 Header1R GET /header2 Header2R GET +/header3 Header3R GET |] instance Yesod App @@ -40,6 +41,14 @@ getHeader2R = do replaceOrAddHeader "hello" "sibi" return $ RepPlain $ toContent ("header test" :: Text) +getHeader3R :: Handler RepPlain +getHeader3R = do + addHeader "hello" "world" + addHeader "michael" "snoyman" + addHeader "yesod" "framework" + replaceOrAddHeader "yesod" "book" + return $ RepPlain $ toContent ("header test" :: Text) + runner :: Session () -> IO () runner f = toWaiApp App >>= runSession f @@ -55,8 +64,17 @@ multipleHeaderTest = res <- request defaultRequest {pathInfo = decodePathSegments "/header2"} assertHeader "hello" "sibi" res +header3Test :: IO () +header3Test = do + runner $ do + res <- request defaultRequest { pathInfo = decodePathSegments "/header3"} + assertHeader "hello" "world" res + assertHeader "michael" "snoyman" res + assertHeader "yesod" "book" res + headerTest :: Spec headerTest = describe "Test.Header" $ do it "addHeader" addHeaderTest it "multiple header" multipleHeaderTest + it "persist headers" header3Test