yesod/yesod-core/test/YesodCoreTest/Links.hs
Michael Snoyman 3ecbf43f5d $newline
2012-07-01 20:59:37 +03:00

35 lines
865 B
Haskell

{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances #-}
module YesodCoreTest.Links (linksTest, Widget) where
import Test.Hspec
import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request)
import Text.Hamlet
import Network.Wai.Test
data Y = Y
mkYesod "Y" [parseRoutes|
/ RootR GET
|]
instance Yesod Y
getRootR :: Handler RepHtml
getRootR = defaultLayout $ toWidget [hamlet|<a href=@{RootR}>|]
linksTest :: Spec
linksTest = describe "Test.Links"
[ it "linkToHome" case_linkToHome
]
runner :: Session () -> IO ()
runner f = toWaiApp Y >>= runSession f
case_linkToHome :: IO ()
case_linkToHome = runner $ do
res <- request defaultRequest
assertBody "<!DOCTYPE html>\n<html><head><title></title></head><body><a href=\"/\"></a>\n</body></html>" res