From ca49415938f5155254ee9ff4cfe4232a4eb753b7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 20 Mar 2012 17:30:18 +0200 Subject: [PATCH] Added missing test file --- yesod-core/test/YesodCoreTest/WaiSubsite.hs | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 yesod-core/test/YesodCoreTest/WaiSubsite.hs diff --git a/yesod-core/test/YesodCoreTest/WaiSubsite.hs b/yesod-core/test/YesodCoreTest/WaiSubsite.hs new file mode 100644 index 00000000..baf66979 --- /dev/null +++ b/yesod-core/test/YesodCoreTest/WaiSubsite.hs @@ -0,0 +1,40 @@ +{-# LANGUAGE QuasiQuotes, TemplateHaskell, TypeFamilies, MultiParamTypeClasses, OverloadedStrings #-} +module YesodCoreTest.WaiSubsite (specs, Widget) where + +import YesodCoreTest.YesodTest +import Yesod.Core +import qualified Network.HTTP.Types as H +import Network.Wai + +myApp :: Application +myApp _ = return $ responseLBS H.status200 [("Content-type", "text/plain")] "WAI" + +getApp :: a -> WaiSubsite +getApp _ = WaiSubsite myApp + +data Y = Y +mkYesod "Y" [parseRoutes| +/ RootR GET +/sub WaiSubsiteR WaiSubsite getApp +|] + +instance Yesod Y + +app :: Session () -> IO () +app = yesod Y + +getRootR :: Handler () +getRootR = return () + +specs :: [Spec] +specs = describe "WaiSubsite" [ + it "root" $ app $ do + res <- request defaultRequest { pathInfo = [] } + assertStatus 200 res + assertBodyContains "" res + + , it "subsite" $ app $ do + res <- request defaultRequest { pathInfo = ["sub", "foo"] } + assertStatus 200 res + assertBodyContains "WAI" res + ]