cabal-version: 1.18
name: hspec-expectations-json
version: 1.0.2.0
license: MIT
license-file: LICENSE
copyright: 2020 Freckle Education
maintainer: engineering@freckle.com
author: Freckle Engineering
homepage: https://github.com/freckle/hspec-expectations-json#readme
bug-reports: https://github.com/freckle/hspec-expectations-json/issues
synopsis: Hspec expectations for JSON Values
description:
Hspec expectations for JSON Values
.
Comparing JSON `Value`s in Haskell tests comes with some challenges:
.
- In API responses, additive changes are typically safe and an important way
to evolve responses without breaking clients. Therefore, assertions against
such responses often want to ignore any unexpected keys in `Object`s (at any
depth), as any clients would.
.
- Order often doesn't matter in API responses either, so it should be possible
to assert equality regardless of `Array` ordering (again, at any depth).
.
- When an assertion fails, showing the difference clearly needs to take the
above into account (i.e. it can't show keys you've ignored, or ordering
differences you didn't care about), and it has to display things clearly,
e.g. as a diff.
.
This library handles all these things.
category: Test
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: https://github.com/freckle/hspec-expectations-json
library
exposed-modules:
Test.Hspec.Expectations.Json
Test.Hspec.Expectations.Json.Color
Test.Hspec.Expectations.Json.Internal
Test.Hspec.Expectations.Json.Lifted
hs-source-dirs: library
other-modules: Paths_hspec_expectations_json
default-language: Haskell2010
default-extensions:
BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies
FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving
LambdaCase MultiParamTypeClasses NoImplicitPrelude
NoMonomorphismRestriction OverloadedStrings RankNTypes
RecordWildCards ScopedTypeVariables StandaloneDeriving
TypeApplications TypeFamilies
build-depends:
Diff,
HUnit,
aeson,
aeson-pretty,
base >=4.11 && <5,
scientific,
text,
unordered-containers,
vector
test-suite spec
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: tests
other-modules:
Test.Hspec.Expectations.Json.InternalSpec
Test.Hspec.Expectations.JsonSpec
Paths_hspec_expectations_json
default-language: Haskell2010
default-extensions:
BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies
FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving
LambdaCase MultiParamTypeClasses NoImplicitPrelude
NoMonomorphismRestriction OverloadedStrings RankNTypes
RecordWildCards ScopedTypeVariables StandaloneDeriving
TypeApplications TypeFamilies
build-depends:
QuickCheck,
aeson,
aeson-qq,
base >=4.11 && <5,
hspec,
hspec-expectations-json