git.iko.soy/typeable/http-api-data
on master help sign in
Fix test for `decodeForm . encodeForm`
0e7f261(cdep)illabout
test/Web/HttpApiData/Internal/FormUrlEncodedSpec.hs+1−1
@@ -66,5 +66,5 @@ genericSpec = describe "Default (generic) instances" $ do
66urlEncoding :: Spec
66urlEncoding :: Spec
67urlEncoding = describe "urlEncoding" $ do
67urlEncoding = describe "urlEncoding" $ do
68
68
69− it "decodeForm (encodeForm x) == Right x" $ property $ \x -> do
69+ it "decodeForm (encodeForm x) == Right x" $ property $ \(NoEmptyKeyForm x) -> do
70 decodeForm (encodeForm x) `shouldBe` Right x
70 decodeForm (encodeForm x) `shouldBe` Right x
test/Web/HttpApiData/Internal/TestInstances.hs+10
@@ -1,16 +1,19 @@
1{-# LANGUAGE DeriveAnyClass #-}
1{-# LANGUAGE DeriveAnyClass #-}
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3+{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE ScopedTypeVariables #-}
4{-# LANGUAGE ScopedTypeVariables #-}
4{-# OPTIONS_GHC -fno-warn-orphans #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
5module Web.HttpApiData.Internal.TestInstances
6module Web.HttpApiData.Internal.TestInstances
6 ( RandomCase(..)
7 ( RandomCase(..)
7 , SimpleRec(..)
8 , SimpleRec(..)
8 , SimpleSumRec(..)
9 , SimpleSumRec(..)
10+ , NoEmptyKeyForm(..)
9 ) where
11 ) where
10
12
11import Control.Applicative
13import Control.Applicative
12import qualified Data.ByteString.Lazy.Char8 as BSL
14import qualified Data.ByteString.Lazy.Char8 as BSL
13import Data.Char
15import Data.Char
16+import qualified Data.Map as M
14import qualified Data.Text as T
17import qualified Data.Text as T
15import qualified Data.Text.Lazy as L
18import qualified Data.Text.Lazy as L
16import Data.Time
19import Data.Time
@@ -104,3 +107,10 @@ instance Arbitrary SimpleSumRec where
104 [ SSRLeft <$> arbitrary <*> arbitrary
107 [ SSRLeft <$> arbitrary <*> arbitrary
105 , SSRRight <$> arbitrary <*> arbitrary
108 , SSRRight <$> arbitrary <*> arbitrary
106 ]
109 ]
110+
111+newtype NoEmptyKeyForm =
112+ NoEmptyKeyForm { unNoEmptyKeyForm :: Form }
113+ deriving Show
114+
115+instance Arbitrary NoEmptyKeyForm where
116+ arbitrary = NoEmptyKeyForm . Form . M.delete "" <$> arbitrary