Add test for regression of mkYesod
This commit is contained in:
parent
4c4584fde8
commit
e3528ad85d
@ -11,12 +11,14 @@ import Yesod.Core.Dispatch (toWaiApp)
|
|||||||
|
|
||||||
import YesodCoreTest.ParameterizedSite.PolyAny (PolyAny (..))
|
import YesodCoreTest.ParameterizedSite.PolyAny (PolyAny (..))
|
||||||
import YesodCoreTest.ParameterizedSite.PolyShow (PolyShow (..))
|
import YesodCoreTest.ParameterizedSite.PolyShow (PolyShow (..))
|
||||||
|
import YesodCoreTest.ParameterizedSite.Compat (Compat (..))
|
||||||
|
|
||||||
-- These are actually tests for template haskell. So if it compiles, it works
|
-- These are actually tests for template haskell. So if it compiles, it works
|
||||||
parameterizedSiteTest :: Spec
|
parameterizedSiteTest :: Spec
|
||||||
parameterizedSiteTest = describe "Polymorphic Yesod sites" $ do
|
parameterizedSiteTest = describe "Polymorphic Yesod sites" $ do
|
||||||
it "Polymorphic unconstrained stub" $ runStub (PolyAny ())
|
it "Polymorphic unconstrained stub" $ runStub (PolyAny ())
|
||||||
it "Polymorphic stub with Show" $ runStub' "1337" (PolyShow 1337)
|
it "Polymorphic stub with Show" $ runStub' "1337" (PolyShow 1337)
|
||||||
|
it "Polymorphic unconstrained stub, old-style" $ runStub (Compat () ())
|
||||||
|
|
||||||
runStub :: YesodDispatch a => a -> IO ()
|
runStub :: YesodDispatch a => a -> IO ()
|
||||||
runStub stub =
|
runStub stub =
|
||||||
|
|||||||
27
yesod-core/test/YesodCoreTest/ParameterizedSite/Compat.hs
Normal file
27
yesod-core/test/YesodCoreTest/ParameterizedSite/Compat.hs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{-# LANGUAGE
|
||||||
|
TypeFamilies, QuasiQuotes, TemplateHaskell, MultiParamTypeClasses
|
||||||
|
, OverloadedStrings, StandaloneDeriving, FlexibleInstances
|
||||||
|
#-}
|
||||||
|
module YesodCoreTest.ParameterizedSite.Compat
|
||||||
|
( Compat (..)
|
||||||
|
) where
|
||||||
|
|
||||||
|
import Yesod.Core
|
||||||
|
|
||||||
|
-- | Parameterized without constraints, and we call mkYesod without type vars,
|
||||||
|
-- like people used to do before the last 3 commits
|
||||||
|
data Compat a b = Compat a b
|
||||||
|
|
||||||
|
mkYesod "Compat" [parseRoutes|
|
||||||
|
/ HomeR GET
|
||||||
|
|]
|
||||||
|
|
||||||
|
instance Yesod (Compat a b)
|
||||||
|
|
||||||
|
getHomeR :: Handler a b Html
|
||||||
|
getHomeR = defaultLayout
|
||||||
|
[whamlet|
|
||||||
|
<p>
|
||||||
|
Stub
|
||||||
|
|]
|
||||||
|
|
||||||
@ -157,6 +157,7 @@ test-suite tests
|
|||||||
YesodCoreTest.NoOverloadedStrings
|
YesodCoreTest.NoOverloadedStrings
|
||||||
YesodCoreTest.NoOverloadedStringsSub
|
YesodCoreTest.NoOverloadedStringsSub
|
||||||
YesodCoreTest.ParameterizedSite
|
YesodCoreTest.ParameterizedSite
|
||||||
|
YesodCoreTest.ParameterizedSite.Compat
|
||||||
YesodCoreTest.ParameterizedSite.PolyAny
|
YesodCoreTest.ParameterizedSite.PolyAny
|
||||||
YesodCoreTest.ParameterizedSite.PolyShow
|
YesodCoreTest.ParameterizedSite.PolyShow
|
||||||
YesodCoreTest.RawResponse
|
YesodCoreTest.RawResponse
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user