digestive-functors-0.8.4.2: tests/Text/Digestive/Form/Encoding/Tests.hs
--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
module Text.Digestive.Form.Encoding.Tests
( tests
) where
--------------------------------------------------------------------------------
import Control.Applicative ((<$>), (<*>))
import Control.Monad.Identity (Identity (..))
import Data.Text (Text)
import Test.Framework (Test, testGroup)
import Test.Framework.Providers.HUnit (testCase)
import Test.HUnit ((@=?))
--------------------------------------------------------------------------------
import Text.Digestive.Form
import Text.Digestive.Form.Encoding
import Text.Digestive.Form.Internal
--------------------------------------------------------------------------------
tests :: Test
tests = testGroup "Text.Digestive.Field.Tests"
[ testCase "formEncType url-encoded" $
UrlEncoded @=? formEncType' ((,) <$> text Nothing <*> bool Nothing)
, testCase "formEncType multipart" $
MultiPart @=? formEncType' ((,) <$> text Nothing <*> file)
, testCase "formEncType multipart" $
MultiPart @=? formEncType' ((,) <$> file <*> bool Nothing)
]
where
formEncType' :: Form Text Identity a -> FormEncType
formEncType' = formTreeEncType . runIdentity . toFormTree