{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleInstances #-} module Test.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 where approot _ = "" getRootR :: Handler RepHtml getRootR = defaultLayout $ addHamlet [hamlet||] 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 "\n" res