@@ -0,0 +1,29 @@
1+{-# LANGUAGE TypeOperators #-}
2+{-# LANGUAGE QuasiQuotes #-}
3+{-# OPTIONS_GHC -fno-warn-orphans #-}
4+module Servant.JQuerySpec where
5+
6+import Data.Either (isRight)
7+import Data.Proxy
8+import Language.ECMAScript3.Parser (parseFromString)
9+import Test.Hspec
10+
11+import Servant.API
12+import Servant.JQuery
13+
14+type TestAPI = [sitemap|
15+POST /simple String -> Bool
16+GET /has.extension Bool
17+|]
18+
19+spec :: Spec
20+spec = describe "Servant.JQuery"
21+ generateJSSpec
22+
23+generateJSSpec :: Spec
24+generateJSSpec = describe "generateJS" $
25+ it "should always generate valid javascript" $ do
26+ let (postSimple :<|> getHasExtension) = jquery (Proxy :: Proxy TestAPI)
27+ parseFromString (generateJS postSimple) `shouldSatisfy` isRight
28+ parseFromString (generateJS getHasExtension) `shouldSatisfy` isRight
29+