@@ -33,6 +33,7 @@ spec = do
33 onlyJsonObjectSpec
33 onlyJsonObjectSpec
34 notLongerThanSpec
34 notLongerThanSpec
35 queryParamsSpec
35 queryParamsSpec
37serversEqualSpec :: Spec
38serversEqualSpec :: Spec
38serversEqualSpec = describe "serversEqual" $ do
39serversEqualSpec = describe "serversEqual" $ do
@@ -123,6 +124,17 @@ queryParamsSpec = describe "QueryParams" $ do
123 qs = C.unpack $ queryString req
124 qs = C.unpack $ queryString req
124 qs `shouldBe` "one=_&two=_"
125 qs `shouldBe` "one=_&two=_"
127+queryFlagsSpec :: Spec
128+queryFlagsSpec = describe "QueryFlags" $ do
130+ it "reduce to an HTTP query string correctly" $ do
132+ burl = BaseUrl Http "localhost" 80 ""
133+ gen = genRequest flagsAPI
134+ req = (unGen gen rng 0) burl
135+ qs = C.unpack $ queryString req
136+ qs `shouldBe` "one=&two="
126------------------------------------------------------------------------------
138------------------------------------------------------------------------------
128------------------------------------------------------------------------------
140------------------------------------------------------------------------------
@@ -139,6 +151,12 @@ type ParamsAPI = QueryParam "one" () :> QueryParam "two" () :> Get '[JSON] ()
139paramsAPI :: Proxy ParamsAPI
151paramsAPI :: Proxy ParamsAPI
140paramsAPI = Proxy
152paramsAPI = Proxy
154+type FlagsAPI = QueryFlag "one" :> QueryFlag "two" :> Get '[JSON] ()
156+flagsAPI :: Proxy FlagsAPI
142server :: IO (Server API)
160server :: IO (Server API)
143server = do
161server = do
144 mvar <- newMVar ""
162 mvar <- newMVar ""