git.iko.soy/servant-quickcheck
on master help sign in
QueryFlags don't use =
2109326Nick B
src/Servant/QuickCheck/Internal/HasGenRequest.hs+2−4
@@ -15,9 +15,8 @@ import Servant
15import Servant.API.ContentTypes (AllMimeRender (..))
15import Servant.API.ContentTypes (AllMimeRender (..))
16import Servant.Client (BaseUrl (..), Scheme (..))
16import Servant.Client (BaseUrl (..), Scheme (..))
17import Test.QuickCheck (Arbitrary (..), Gen, elements, oneof)
17import Test.QuickCheck (Arbitrary (..), Gen, elements, oneof)
18−#if MIN_VERSION_servant(0,8,0)
18+
19import qualified Data.ByteString as BS
19import qualified Data.ByteString as BS
20−#endif
21
20
22
21
23class HasGenRequest a where
22class HasGenRequest a where
@@ -120,9 +119,8 @@ instance (KnownSymbol x, HasGenRequest b)
120 genRequest _ = do
119 genRequest _ = do
121 old' <- old
120 old' <- old
122 return $ \burl -> let r = old' burl
121 return $ \burl -> let r = old' burl
123− newExpr = param <> "="
124 qs = queryString r in r {
122 qs = queryString r in r {
125− queryString = if BS.null qs then newExpr else newExpr <> "&" <> qs }
123+ queryString = if BS.null qs then param else param <> "&" <> qs }
126 where
124 where
127 old = genRequest (Proxy :: Proxy b)
125 old = genRequest (Proxy :: Proxy b)
128 param = cs $ symbolVal (Proxy :: Proxy x)
126 param = cs $ symbolVal (Proxy :: Proxy x)
test/Servant/QuickCheck/InternalSpec.hs+1−1
@@ -133,7 +133,7 @@ queryFlagsSpec = describe "QueryFlags" $ do
133 gen = genRequest flagsAPI
133 gen = genRequest flagsAPI
134 req = (unGen gen rng 0) burl
134 req = (unGen gen rng 0) burl
135 qs = C.unpack $ queryString req
135 qs = C.unpack $ queryString req
136− qs `shouldBe` "one=&two="
136+ qs `shouldBe` "one&two"
137
137
138------------------------------------------------------------------------------
138------------------------------------------------------------------------------
139-- APIs
139-- APIs