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