genvalidity-aeson 0.2.0.2 → 0.3.0.0
raw patch · 3 files changed
+25/−40 lines, 3 filesdep ~genvalidity
Dependency ranges changed: genvalidity
Files
- genvalidity-aeson.cabal +14/−13
- src/Data/GenValidity/Aeson.hs +10/−26
- test/Test/Validity/AesonSpec.hs +1/−1
genvalidity-aeson.cabal view
@@ -1,11 +1,13 @@--- This file has been generated from package.yaml by hpack version 0.28.2.+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.31.1. -- -- see: https://github.com/sol/hpack ----- hash: a2fade241a7351ac096d70af2464abafbf1e913c4a2eeeebc07b99add7ddeb10+-- hash: d45a5c5de46da85d9d5f805bc0b5b69757c4d185ca5656d39b3c8225a0df0bb5 name: genvalidity-aeson-version: 0.2.0.2+version: 0.3.0.0 synopsis: GenValidity support for aeson description: Please see README.md category: Testing@@ -14,39 +16,41 @@ author: Tom Sydney Kerckhove maintainer: syd.kerckhove@gmail.com, nick.van.den.broeck666@gmail.com-copyright: Copyright: (c) 2017-2018 Tom Sydney Kerckhove+copyright: Copyright: (c) 2017-2019 Tom Sydney Kerckhove license: MIT license-file: LICENSE build-type: Simple-cabal-version: >= 1.10 source-repository head type: git location: https://github.com/NorfairKing/validity library+ exposed-modules:+ Data.GenValidity.Aeson+ other-modules:+ Paths_genvalidity_aeson hs-source-dirs: src build-depends: QuickCheck , aeson , base <5- , genvalidity >=0.5+ , genvalidity >=0.8 , genvalidity-scientific >=0.2 , genvalidity-text >=0.5 , genvalidity-unordered-containers >=0.2 , genvalidity-vector >=0.2 , validity >=0.5 , validity-aeson >=0.2- exposed-modules:- Data.GenValidity.Aeson- other-modules:- Paths_genvalidity_aeson default-language: Haskell2010 test-suite genvalidity-aeson-test type: exitcode-stdio-1.0 main-is: Spec.hs+ other-modules:+ Test.Validity.AesonSpec+ Paths_genvalidity_aeson hs-source-dirs: test/ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall@@ -57,7 +61,4 @@ , genvalidity-aeson , genvalidity-hspec , hspec- other-modules:- Test.Validity.AesonSpec- Paths_genvalidity_aeson default-language: Haskell2010
src/Data/GenValidity/Aeson.hs view
@@ -17,27 +17,6 @@ import Test.QuickCheck -instance GenUnchecked Value where- genUnchecked =- oneof- [ Object <$> genUnchecked- , Array <$> genUnchecked- , String <$> genUnchecked- , Number <$> genUnchecked- , Bool <$> genUnchecked- , pure Null- ]- shrinkUnchecked (Object hm) =- (Object <$> shrinkUnchecked hm) ++- toList hm ++ concatMap shrinkUnchecked (toList hm)- shrinkUnchecked (Array a) =- (Array <$> shrinkUnchecked a) ++- toList a ++ concatMap shrinkUnchecked (toList a)- shrinkUnchecked (String s) = String <$> shrinkUnchecked s- shrinkUnchecked (Number s) = Number <$> shrinkUnchecked s- shrinkUnchecked (Bool s) = Bool <$> shrinkUnchecked s- shrinkUnchecked Null = []- instance GenValid Value where genValid = oneof@@ -48,8 +27,13 @@ , Bool <$> genValid , pure Null ]--instance GenInvalid Value where- genInvalid =- oneof- [Object <$> genInvalid, Array <$> genInvalid, String <$> genInvalid]+ shrinkValid (Object hm) =+ (Object <$> shrinkValid hm) +++ toList hm ++ concatMap shrinkValid (toList hm)+ shrinkValid (Array a) =+ (Array <$> shrinkValid a) +++ toList a ++ concatMap shrinkValid (toList a)+ shrinkValid (String s) = String <$> shrinkValid s+ shrinkValid (Number s) = Number <$> shrinkValid s+ shrinkValid (Bool s) = Bool <$> shrinkValid s+ shrinkValid Null = []
test/Test/Validity/AesonSpec.hs view
@@ -9,4 +9,4 @@ import Test.Validity.GenValidity spec :: Spec-spec = genValiditySpec @Value+spec = genValidSpec @Value