cabal-version:      3.0
name:               tasty-golden-extra
version:            0.1.0.0
license:            BSD-3-Clause
license-file:       LICENSE
category:           Testing
homepage:
  https://github.com/bellroy/tasty-golden-extra

bug-reports:        https://github.com/bellroy/tasty-golden-extra/issues
author:             Bellroy
maintainer:         geeks@bellroy.com
build-type:         Simple
synopsis:           Additional golden test helpers for the tasty-golden package
description:
  A library providing additional golden test helpers for the
  @tasty-golden@ package.  These helpers are useful for testing
  the output of functions that return @String@s, @Show@, @ToJSON@ or @ToYAML@
  instances.

tested-with:
  GHC ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.5 || ==9.6.6 || ==9.8.2

extra-source-files:
  CHANGELOG.md
  README.md

source-repository head
  type:     git
  location: https://github.com/bellroy/tasty-golden-extra.git

common deps
  build-depends:
    , aeson           >=2.1        && <2.3
    , aeson-diff      ^>=1.1.0.13
    , aeson-pretty    ^>=0.8.10
    , base            >=4.14       && <4.20
    , bytestring      >=0.10       && <0.13
    , pretty-show     ^>=1.10
    , pretty-simple   ^>=4.1.3.0
    , tasty           ^>=1.5.2
    , tasty-discover  ^>=5.0.0
    , tasty-golden    ^>=2.3.5
    , text            ^>=1.2       || ^>=2.0 || ^>=2.1
    , yaml            ^>=0.11.11.2

common opts
  default-language:   Haskell2010
  default-extensions:
    DuplicateRecordFields
    OverloadedStrings

  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-record-updates
    -Wincomplete-uni-patterns -Werror=incomplete-patterns
    -Wredundant-constraints -Wpartial-fields -Wtabs
    -Wmissing-local-signatures -fhelpful-errors
    -fprint-expanded-synonyms -fwarn-unused-do-bind

library
  import:          deps, opts
  ghc-options:     -Wunused-packages
  hs-source-dirs:  src

  -- cabal-fmt: expand src/
  exposed-modules:
    Test.Tasty.Golden.Extra.GoldenVsShow
    Test.Tasty.Golden.Extra.GoldenVsString
    Test.Tasty.Golden.Extra.GoldenVsToJSON
    Test.Tasty.Golden.Extra.GoldenVsToYAML
    Test.Tasty.Golden.Extra.Internal