From 3ed230de2cc738f0986c4f283ad78c581239cae0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 29 Nov 2011 16:11:43 +0200 Subject: [PATCH] Add missing file --- yesod-core/test/YesodCoreTest/Cache.hs | 50 ++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 yesod-core/test/YesodCoreTest/Cache.hs diff --git a/yesod-core/test/YesodCoreTest/Cache.hs b/yesod-core/test/YesodCoreTest/Cache.hs new file mode 100644 index 00000000..c87118a7 --- /dev/null +++ b/yesod-core/test/YesodCoreTest/Cache.hs @@ -0,0 +1,50 @@ +{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE FlexibleInstances #-} +module YesodCoreTest.Cache (cacheTest, Widget) where + +import Test.Hspec +import Test.Hspec.HUnit() + +import Network.Wai +import Network.Wai.Test + +import Yesod.Core + +data C = C + +key :: CacheKey Int +key = $(mkCacheKey) + +key2 :: CacheKey Int +key2 = $(mkCacheKey) + +mkYesod "C" [parseRoutes|/ RootR GET|] + +instance Yesod C where approot _ = "" + +getRootR :: Handler () +getRootR = do + Nothing <- cacheLookup key + cacheInsert key 5 + Just 5 <- cacheLookup key + cacheInsert key 7 + Just 7 <- cacheLookup key + Nothing <- cacheLookup key2 + cacheDelete key + Nothing <- cacheLookup key + return () + +cacheTest :: [Spec] +cacheTest = + describe "Test.Cache" + [ it "works" works + ] + +runner :: Session () -> IO () +runner f = toWaiApp C >>= runSession f + +works :: IO () +works = runner $ do + res <- request defaultRequest { pathInfo = [] } + assertStatus 200 res