packages feed

hspec-expectations-json-1.0.2.0: hspec-expectations-json.cabal

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