yesod-core: Adapt tests for hspec-1.1

This is not strictly necessary, the `UnevaluatedSpec` is merely
deprecated.  But it is a good idea anyway.
This commit is contained in:
Simon Hengel 2012-05-06 20:37:20 +02:00
parent fd2efbde35
commit 653ffd02fb
14 changed files with 18 additions and 30 deletions

View File

@ -13,9 +13,9 @@ import qualified YesodCoreTest.WaiSubsite as WaiSubsite
import qualified YesodCoreTest.Redirect as Redirect import qualified YesodCoreTest.Redirect as Redirect
import qualified YesodCoreTest.JsLoader as JsLoader import qualified YesodCoreTest.JsLoader as JsLoader
import Test.Hspec.Core (UnevaluatedSpec) import Test.Hspec
specs :: [UnevaluatedSpec] specs :: [Spec]
specs = specs =
[ cleanPathTest [ cleanPathTest
, exceptionsTest , exceptionsTest

View File

@ -4,7 +4,6 @@
module YesodCoreTest.Cache (cacheTest, Widget) where module YesodCoreTest.Cache (cacheTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit() import Test.Hspec.HUnit()
import Network.Wai import Network.Wai
@ -36,7 +35,7 @@ getRootR = do
Nothing <- cacheLookup key Nothing <- cacheLookup key
return () return ()
cacheTest :: UnevaluatedSpec cacheTest :: Spec
cacheTest = cacheTest =
describe "Test.Cache" describe "Test.Cache"
[ it "works" works [ it "works" works

View File

@ -4,7 +4,6 @@
module YesodCoreTest.CleanPath (cleanPathTest, Widget) where module YesodCoreTest.CleanPath (cleanPathTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit() import Test.Hspec.HUnit()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -63,7 +62,7 @@ getBarR, getPlainR :: Handler RepPlain
getBarR = return $ RepPlain "bar" getBarR = return $ RepPlain "bar"
getPlainR = return $ RepPlain "plain" getPlainR = return $ RepPlain "plain"
cleanPathTest :: UnevaluatedSpec cleanPathTest :: Spec
cleanPathTest = cleanPathTest =
describe "Test.CleanPath" describe "Test.CleanPath"
[ it "remove trailing slash" removeTrailingSlash [ it "remove trailing slash" removeTrailingSlash

View File

@ -5,7 +5,6 @@ module YesodCoreTest.ErrorHandling
) where ) where
import Yesod.Core import Yesod.Core
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit() import Test.Hspec.HUnit()
import Network.Wai import Network.Wai
import Network.Wai.Test import Network.Wai.Test
@ -53,7 +52,7 @@ postAfterRunRequestBodyR = do
_ <- error $ show x _ <- error $ show x
getHomeR getHomeR
errorHandlingTest :: UnevaluatedSpec errorHandlingTest :: Spec
errorHandlingTest = describe "Test.ErrorHandling" errorHandlingTest = describe "Test.ErrorHandling"
[ it "says not found" caseNotFound [ it "says not found" caseNotFound
, it "says 'There was an error' before runRequestBody" caseBefore , it "says 'There was an error' before runRequestBody" caseBefore

View File

@ -4,7 +4,6 @@
module YesodCoreTest.Exceptions (exceptionsTest, Widget) where module YesodCoreTest.Exceptions (exceptionsTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -31,7 +30,7 @@ getRedirR = do
setHeader "foo" "bar" setHeader "foo" "bar"
redirectWith status301 RootR redirectWith status301 RootR
exceptionsTest :: UnevaluatedSpec exceptionsTest :: Spec
exceptionsTest = describe "Test.Exceptions" exceptionsTest = describe "Test.Exceptions"
[ it "500" case500 [ it "500" case500
, it "redirect keeps headers" caseRedirect , it "redirect keeps headers" caseRedirect

View File

@ -9,9 +9,8 @@ import Network.Wai.Test
import Yesod.Internal.TestApi (randomString, parseWaiRequest') import Yesod.Internal.TestApi (randomString, parseWaiRequest')
import Yesod.Request (Request (..)) import Yesod.Request (Request (..))
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
randomStringSpecs :: UnevaluatedSpec randomStringSpecs :: Spec
randomStringSpecs = describe "Yesod.Internal.Request.randomString" randomStringSpecs = describe "Yesod.Internal.Request.randomString"
[ it "looks reasonably random" looksRandom [ it "looks reasonably random" looksRandom
, it "does not repeat itself" $ noRepeat 10 100 , it "does not repeat itself" $ noRepeat 10 100
@ -31,7 +30,7 @@ g :: StdGen
g = error "test/YesodCoreTest/InternalRequest.g" g = error "test/YesodCoreTest/InternalRequest.g"
tokenSpecs :: UnevaluatedSpec tokenSpecs :: Spec
tokenSpecs = describe "Yesod.Internal.Request.parseWaiRequest (reqToken)" tokenSpecs = describe "Yesod.Internal.Request.parseWaiRequest (reqToken)"
[ it "is Nothing if sessions are disabled" noDisabledToken [ it "is Nothing if sessions are disabled" noDisabledToken
, it "ignores pre-existing token if sessions are disabled" ignoreDisabledToken , it "ignores pre-existing token if sessions are disabled" ignoreDisabledToken
@ -56,7 +55,7 @@ generateToken = reqToken r /= Nothing where
r = parseWaiRequest' defaultRequest [("_TOKEN", "old")] True g r = parseWaiRequest' defaultRequest [("_TOKEN", "old")] True g
langSpecs :: UnevaluatedSpec langSpecs :: Spec
langSpecs = describe "Yesod.Internal.Request.parseWaiRequest (reqLangs)" langSpecs = describe "Yesod.Internal.Request.parseWaiRequest (reqLangs)"
[ it "respects Accept-Language" respectAcceptLangs [ it "respects Accept-Language" respectAcceptLangs
, it "respects sessions" respectSessionLang , it "respects sessions" respectSessionLang
@ -94,7 +93,7 @@ prioritizeLangs = reqLangs r == ["en-QUERY", "en-COOKIE", "en-SESSION", "en", "e
} [("_LANG", "en-SESSION")] False g } [("_LANG", "en-SESSION")] False g
internalRequestTest :: UnevaluatedSpec internalRequestTest :: Spec
internalRequestTest = describe "Test.InternalRequestTest" internalRequestTest = describe "Test.InternalRequestTest"
[ randomStringSpecs [ randomStringSpecs
, tokenSpecs , tokenSpecs

View File

@ -7,7 +7,6 @@ import YesodCoreTest.JsLoaderSites.HeadAsync (HA(..))
import YesodCoreTest.JsLoaderSites.Bottom (B(..)) import YesodCoreTest.JsLoaderSites.Bottom (B(..))
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -23,7 +22,7 @@ instance Yesod H where
getHeadR :: Handler RepHtml getHeadR :: Handler RepHtml
getHeadR = defaultLayout $ addScriptRemote "load.js" getHeadR = defaultLayout $ addScriptRemote "load.js"
specs :: UnevaluatedSpec specs :: Spec
specs = describe "Test.JsLoader" [ specs = describe "Test.JsLoader" [
it "link from head" $ runner H $ do it "link from head" $ runner H $ do
res <- request defaultRequest res <- request defaultRequest

View File

@ -4,7 +4,6 @@
module YesodCoreTest.Links (linksTest, Widget) where module YesodCoreTest.Links (linksTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -21,7 +20,7 @@ instance Yesod Y
getRootR :: Handler RepHtml getRootR :: Handler RepHtml
getRootR = defaultLayout $ toWidget [hamlet|<a href=@{RootR}>|] getRootR = defaultLayout $ toWidget [hamlet|<a href=@{RootR}>|]
linksTest :: UnevaluatedSpec linksTest :: Spec
linksTest = describe "Test.Links" linksTest = describe "Test.Links"
[ it "linkToHome" case_linkToHome [ it "linkToHome" case_linkToHome
] ]

View File

@ -5,7 +5,6 @@
module YesodCoreTest.Media (mediaTest, Widget) where module YesodCoreTest.Media (mediaTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
import Network.Wai import Network.Wai
@ -50,7 +49,7 @@ caseMediaLink = runner $ do
assertStatus 200 res assertStatus 200 res
flip assertBody res "<!DOCTYPE html>\n<html><head><title></title><link rel=\"stylesheet\" href=\"all.css\"><link rel=\"stylesheet\" media=\"screen\" href=\"screen.css\"></head><body></body></html>" flip assertBody res "<!DOCTYPE html>\n<html><head><title></title><link rel=\"stylesheet\" href=\"all.css\"><link rel=\"stylesheet\" media=\"screen\" href=\"screen.css\"></head><body></body></html>"
mediaTest :: UnevaluatedSpec mediaTest :: Spec
mediaTest = describe "Test.Media" mediaTest = describe "Test.Media"
[ it "media" caseMedia [ it "media" caseMedia
, it "media link" caseMediaLink , it "media link" caseMediaLink

View File

@ -3,7 +3,6 @@
module YesodCoreTest.NoOverloadedStrings (noOverloadedTest, Widget) where module YesodCoreTest.NoOverloadedStrings (noOverloadedTest, Widget) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -45,7 +44,7 @@ case_sanity = runner $ do
res <- request defaultRequest res <- request defaultRequest
assertBody mempty res assertBody mempty res
noOverloadedTest :: UnevaluatedSpec noOverloadedTest :: Spec
noOverloadedTest = describe "Test.NoOverloadedStrings" noOverloadedTest = describe "Test.NoOverloadedStrings"
[ it "sanity" case_sanity [ it "sanity" case_sanity
] ]

View File

@ -4,7 +4,6 @@ module YesodCoreTest.Redirect (specs, Widget) where
import YesodCoreTest.YesodTest import YesodCoreTest.YesodTest
import Yesod.Handler (redirectWith) import Yesod.Handler (redirectWith)
import qualified Network.HTTP.Types as H import qualified Network.HTTP.Types as H
import Test.Hspec.Core (UnevaluatedSpec)
data Y = Y data Y = Y
mkYesod "Y" [parseRoutes| mkYesod "Y" [parseRoutes|
@ -27,7 +26,7 @@ getR303 = redirectWith H.status303 RootR
getR307 = redirectWith H.status307 RootR getR307 = redirectWith H.status307 RootR
getRRegular = redirect RootR getRRegular = redirect RootR
specs :: UnevaluatedSpec specs :: Spec
specs = describe "Redirect" [ specs = describe "Redirect" [
it "301 redirect" $ app $ do it "301 redirect" $ app $ do
res <- request defaultRequest { pathInfo = ["r301"] } res <- request defaultRequest { pathInfo = ["r301"] }

View File

@ -4,7 +4,6 @@ module YesodCoreTest.WaiSubsite (specs, Widget) where
import YesodCoreTest.YesodTest import YesodCoreTest.YesodTest
import Yesod.Core import Yesod.Core
import qualified Network.HTTP.Types as H import qualified Network.HTTP.Types as H
import Test.Hspec.Core (UnevaluatedSpec)
myApp :: Application myApp :: Application
myApp _ = return $ responseLBS H.status200 [("Content-type", "text/plain")] "WAI" myApp _ = return $ responseLBS H.status200 [("Content-type", "text/plain")] "WAI"
@ -26,7 +25,7 @@ app = yesod Y
getRootR :: Handler () getRootR :: Handler ()
getRootR = return () getRootR = return ()
specs :: UnevaluatedSpec specs :: Spec
specs = describe "WaiSubsite" [ specs = describe "WaiSubsite" [
it "root" $ app $ do it "root" $ app $ do
res <- request defaultRequest { pathInfo = [] } res <- request defaultRequest { pathInfo = [] }

View File

@ -4,7 +4,6 @@
module YesodCoreTest.Widget (widgetTest) where module YesodCoreTest.Widget (widgetTest) where
import Test.Hspec import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit () import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request) import Yesod.Core hiding (Request)
@ -78,7 +77,7 @@ getAutoR = defaultLayout [whamlet|
where where
someHtml = [shamlet|somehtml|] someHtml = [shamlet|somehtml|]
widgetTest :: UnevaluatedSpec widgetTest :: Spec
widgetTest = describe "Test.Widget" widgetTest = describe "Test.Widget"
[ it "addJuliusBody" case_addJuliusBody [ it "addJuliusBody" case_addJuliusBody
, it "whamlet" case_whamlet , it "whamlet" case_whamlet

View File

@ -119,7 +119,7 @@ test-suite tests
cpp-options: -DTEST cpp-options: -DTEST
build-depends: base build-depends: base
,hspec >= 1.0 && < 1.1 ,hspec >= 1.1 && < 1.2
,wai-test ,wai-test
,wai ,wai
,yesod-core ,yesod-core