Yesod.Internal.TestApi exports internals for tests

This commit is contained in:
Björn Buckwalter 2011-09-17 00:06:31 +08:00
parent f925fa28ec
commit 4ed740724e
4 changed files with 17 additions and 5 deletions

View File

@ -5,10 +5,9 @@ module Yesod.Internal.Request
, Request (..) , Request (..)
, RequestBodyContents , RequestBodyContents
, FileInfo (..) , FileInfo (..)
#ifdef TEST -- The below are exported for testing.
, randomString , randomString
, parseWaiRequest' , parseWaiRequest'
#endif
) where ) where
import Control.Applicative ((<$>)) import Control.Applicative ((<$>))
@ -41,8 +40,7 @@ parseWaiRequest :: W.Request
-> [(Text, Text)] -- ^ session -> [(Text, Text)] -- ^ session
-> Maybe a -> Maybe a
-> IO Request -> IO Request
parseWaiRequest env session' key' = parseWaiRequest' env session' key' parseWaiRequest env session' key' = parseWaiRequest' env session' key' <$> newStdGen
<$> newStdGen
parseWaiRequest' :: RandomGen g parseWaiRequest' :: RandomGen g
=> W.Request => W.Request

View File

@ -0,0 +1,10 @@
--
-- | WARNING: This module exposes internal interfaces solely for the
-- purpose of facilitating unit testing with cabal install. Library
-- users should not import this module.
--
module Yesod.Internal.TestApi
( Request (..), randomString, parseWaiRequest'
) where
import Yesod.Internal.Request (Request (..), randomString, parseWaiRequest')

View File

@ -6,6 +6,7 @@ import Test.Widget
import Test.Media import Test.Media
import Test.Links import Test.Links
import Test.NoOverloadedStrings import Test.NoOverloadedStrings
import Test.InternalRequest
main :: IO () main :: IO ()
main = hspecX $ descriptions $ main = hspecX $ descriptions $
@ -15,4 +16,5 @@ main = hspecX $ descriptions $
, mediaTest , mediaTest
, linksTest , linksTest
, noOverloadedTest , noOverloadedTest
, internalRequestTest
] ]

View File

@ -65,6 +65,7 @@ library
Yesod.Request Yesod.Request
Yesod.Widget Yesod.Widget
Yesod.Message Yesod.Message
Yesod.Internal.TestApi
other-modules: Yesod.Internal other-modules: Yesod.Internal
Yesod.Internal.Core Yesod.Internal.Core
Yesod.Internal.Session Yesod.Internal.Session
@ -101,6 +102,7 @@ test-suite runtests
,shakespeare-js ,shakespeare-js
,text ,text
,http-types ,http-types
, random
,HUnit ,HUnit
,QuickCheck >= 2 && < 3 ,QuickCheck >= 2 && < 3
ghc-options: -Wall ghc-options: -Wall