packages feed

servant-aeson-specs 0.2 → 0.3

raw patch · 4 files changed

+39/−30 lines, 4 filesdep ~servant

Dependency ranges changed: servant

Files

LICENSE view
@@ -1,30 +1,21 @@-Copyright (c) 2016, Sönke Hahn--All rights reserved.--Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:+The MIT License (MIT) -    * Redistributions of source code must retain the above copyright-      notice, this list of conditions and the following disclaimer.+Copyright (c) 2016 Sönke Hahn -    * Redistributions in binary form must reproduce the above-      copyright notice, this list of conditions and the following-      disclaimer in the documentation and/or other materials provided-      with the distribution.+Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions: -    * Neither the name of Sönke Hahn nor the names of other-      contributors may be used to endorse or promote products derived-      from this software without specific prior written permission.+The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
servant-aeson-specs.cabal view
@@ -3,14 +3,14 @@ -- see: https://github.com/sol/hpack  name:           servant-aeson-specs-version:        0.2+version:        0.3 synopsis:       generic tests for aeson serialization in servant description:    tests for aeson serialization in servant category:       Web homepage:       https://github.com/plow-technologies/servant-aeson-specs#readme bug-reports:    https://github.com/plow-technologies/servant-aeson-specs/issues maintainer:     soenkehahn@gmail.com-license:        BSD3+license:        MIT license-file:   LICENSE build-type:     Simple cabal-version:  >= 1.10@@ -29,7 +29,7 @@     , bytestring     , hspec     , QuickCheck-    , servant == 0.4.*+    , servant == 0.4.* || == 0.5.*     , directory     , filepath     , random@@ -55,7 +55,7 @@     , bytestring     , hspec     , QuickCheck-    , servant == 0.4.*+    , servant == 0.4.* || == 0.5.*     , directory     , filepath     , random
src/Servant/Aeson/Internal.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-}@@ -79,8 +80,10 @@ instance HasGenericSpecs api => HasGenericSpecs ((path :: Symbol) :> api) where   collectRoundtripSpecs Proxy = collectRoundtripSpecs (Proxy :: Proxy api) +#if !MIN_VERSION_servant(0, 5, 0) instance HasGenericSpecs api => HasGenericSpecs (MatrixParam name a :> api) where   collectRoundtripSpecs Proxy = collectRoundtripSpecs (Proxy :: Proxy api)+#endif  data TypeSpec   = TypeSpec {
test/Servant/Aeson/RoundtripSpecsSpec.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} @@ -84,6 +85,8 @@     it "returns types sorted by name" $ do       usedTypes reqBodyFailApi `shouldBe` [boolRep, faultyRoundtripRep] +    matrixParamTest+ reqBodyFailApi :: Proxy (ReqBody '[JSON] FaultyRoundtrip :> Get '[JSON] Bool) reqBodyFailApi = Proxy @@ -101,3 +104,15 @@  boolRep :: TypeRep boolRep = typeRep (Proxy :: Proxy Bool)++matrixParamTest :: Spec+#if !MIN_VERSION_servant(0, 5, 0)+matrixParamTest = do+  it "supports MatrixParam" $ do+    usedTypes matrixParamApi `shouldBe` [boolRep]++matrixParamApi :: Proxy (MatrixParam "foo" String :> Get '[JSON] Bool)+matrixParamApi = Proxy+#else+matrixParamTest = return ()+#endif