From f3ed12ed81ecf9c13e0d3c05d7e990834835a56b Mon Sep 17 00:00:00 2001 From: Sibi Prabakaran Date: Thu, 13 Jul 2017 12:43:16 +0530 Subject: [PATCH] Add additional test to make sure that header value is not lost --- yesod-core/test/YesodCoreTest/Header.hs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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