@@ -7,6 +7,8 @@ module Web.HttpApiData.Internal.FormUrlEncodedSpec (spec) where
7import Control.Applicative
7import Control.Applicative
10+import Control.Monad ((<=<))
11+import qualified Data.ByteString.Lazy.Char8 as BSL
10import qualified Data.Map as M
12import qualified Data.Map as M
11import Data.Text (Text, unpack)
13import Data.Text (Text, unpack)
12import Test.Hspec
14import Test.Hspec
@@ -74,3 +76,9 @@ urlEncoding = describe "urlEncoding" $ do
75 it "decodeForm (encodeForm x) == Right x" $ property $ \(NoEmptyKeyForm x) -> do
77 it "decodeForm (encodeForm x) == Right x" $ property $ \(NoEmptyKeyForm x) -> do
76 decodeForm (encodeForm x) `shouldBe` Right x
78 decodeForm (encodeForm x) `shouldBe` Right x
80+ it "decodeWithFromForm == (fromForm <=< decodeForm)" $ property $ \(x :: BSL.ByteString) -> do
81+ (decodeWithFromForm x :: Either Text Form) `shouldBe` (fromForm <=< decodeForm) x
83+ it "encodeWithToForm == encodeForm . toForm" $ property $ \(x :: Form) -> do
84+ encodeWithToForm x `shouldBe` (encodeForm . toForm) x