yesod-core-1.7.0.0: test/YesodCoreTest/RenderRouteSpec/TH.hs
{-# language TemplateHaskell #-}
{-# language TypeApplications #-}
{-# language OverloadedStrings #-}
{-# language TypeFamilies #-}
{-# language ViewPatterns #-}
-- | Compile-time companion to "YesodCoreTest.RenderRouteSpec": reuses that
-- module's generated @RenderRoute App@ instance and @fail@s the splice unless
-- both @renderRoute@ (full route) and @renderRouteNested@ (from the leaf, given
-- the parent's captured arg) reconstruct the same path. Lives apart from the
-- generating module so the instance is in scope when these top-level splices run.
module YesodCoreTest.RenderRouteSpec.TH where
import Yesod.Routes.Class
import YesodCoreTest.RenderRouteSpec
do
case renderRoute (FirstR 1 BlahR) of
(["first", "1", "blah"], []) ->
pure ()
wrong ->
fail $ "Expecte renderRoute to work, but got: " <> show wrong
pure []
do
case renderRouteNested 1 BlahR of
(["first", "1", "blah"], []) ->
pure []
wrong ->
fail $ "Expected renderRouteNested to work, but got: " <> show wrong