Merge pull request #347 from sol/master

Make sure that all tests work with hspec-1.1.0
This commit is contained in:
Michael Snoyman 2012-05-07 10:42:24 -07:00
commit 07d26c0b2c
20 changed files with 24 additions and 36 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,7 +5,6 @@
module YesodCoreTest.Media (mediaTest, Widget) where
import Test.Hspec
import Test.Hspec.Core (UnevaluatedSpec)
import Test.Hspec.HUnit ()
import Yesod.Core hiding (Request)
import Network.Wai
@ -50,7 +49,7 @@ caseMediaLink = runner $ do
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>"
mediaTest :: UnevaluatedSpec
mediaTest :: Spec
mediaTest = describe "Test.Media"
[ it "media" caseMedia
, it "media link" caseMediaLink

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -41,7 +41,7 @@ test-suite runtests
, yesod-routes
, text >= 0.5 && < 0.12
, HUnit >= 1.2 && < 1.3
, hspec >= 0.6 && < 1.1
, hspec >= 0.6 && < 1.2
, containers
, template-haskell
, path-pieces

View File

@ -6,7 +6,7 @@ import Test.Hspec.HUnit ( )
import Yesod.Static (getFileListPieces)
specs :: [Specs]
specs :: Specs
specs = [
describe "get file list" [
it "pieces" $ do

View File

@ -4,4 +4,4 @@ import Test.Hspec
import YesodStaticTest (specs)
main :: IO ()
main = hspecX $ descriptions specs
main = hspecX specs

View File

@ -44,7 +44,7 @@ test-suite tests
type: exitcode-stdio-1.0
cpp-options: -DTEST_EXPORT
build-depends: base
, hspec >= 0.8 && < 0.10
, hspec >= 1.0 && < 1.2
, HUnit
-- copy from above
, containers >= 0.2 && < 0.5

View File

@ -90,7 +90,7 @@ import qualified Data.Text.Lazy as TL
import Data.Text.Lazy.Encoding (encodeUtf8, decodeUtf8)
-- | The state used in 'describe' to build a list of specs
data SpecsData = SpecsData Application ConnectionPool [Core.Spec Core.AnyExample]
data SpecsData = SpecsData Application ConnectionPool [Core.Spec]
-- | The specs state monad is where 'describe' runs.
type Specs = ST.StateT SpecsData IO ()

View File

@ -29,7 +29,7 @@ library
, network >= 2.2 && < 2.4
, http-types >= 0.6 && < 0.7
, HUnit >= 1.2 && < 1.3
, hspec >= 1.0 && < 1.1
, hspec >= 1.1 && < 1.2
, bytestring >= 0.9
, case-insensitive >= 0.2
, text