diff --git a/yesod-core/test/YesodCoreTest/ParameterizedSite.hs b/yesod-core/test/YesodCoreTest/ParameterizedSite.hs index e8544fe7..d06c13d3 100644 --- a/yesod-core/test/YesodCoreTest/ParameterizedSite.hs +++ b/yesod-core/test/YesodCoreTest/ParameterizedSite.hs @@ -11,12 +11,14 @@ import Yesod.Core.Dispatch (toWaiApp) import YesodCoreTest.ParameterizedSite.PolyAny (PolyAny (..)) import YesodCoreTest.ParameterizedSite.PolyShow (PolyShow (..)) +import YesodCoreTest.ParameterizedSite.Compat (Compat (..)) -- These are actually tests for template haskell. So if it compiles, it works parameterizedSiteTest :: Spec parameterizedSiteTest = describe "Polymorphic Yesod sites" $ do it "Polymorphic unconstrained stub" $ runStub (PolyAny ()) it "Polymorphic stub with Show" $ runStub' "1337" (PolyShow 1337) + it "Polymorphic unconstrained stub, old-style" $ runStub (Compat () ()) runStub :: YesodDispatch a => a -> IO () runStub stub = diff --git a/yesod-core/test/YesodCoreTest/ParameterizedSite/Compat.hs b/yesod-core/test/YesodCoreTest/ParameterizedSite/Compat.hs new file mode 100644 index 00000000..3a96a324 --- /dev/null +++ b/yesod-core/test/YesodCoreTest/ParameterizedSite/Compat.hs @@ -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| +

+ Stub + |] + diff --git a/yesod-core/yesod-core.cabal b/yesod-core/yesod-core.cabal index 8441db8b..016be94b 100644 --- a/yesod-core/yesod-core.cabal +++ b/yesod-core/yesod-core.cabal @@ -157,6 +157,7 @@ test-suite tests YesodCoreTest.NoOverloadedStrings YesodCoreTest.NoOverloadedStringsSub YesodCoreTest.ParameterizedSite + YesodCoreTest.ParameterizedSite.Compat YesodCoreTest.ParameterizedSite.PolyAny YesodCoreTest.ParameterizedSite.PolyShow YesodCoreTest.RawResponse