cabal-version: 3.0
name: keiki-codec-json-test
version: 0.2.0.0
synopsis:
Property-test toolkit for keiki-codec-json downstream consumers.
description:
Sibling package to keiki-codec-json providing two hspec-callable
test helpers consumers wire into their own test suites:
.
* @Keiki.Codec.JSON.Test.Golden.slotGoldenSpec@ — a per-slot-type
golden-byte detector that catches EP-36 §4 case #10 (silent
@Aeson.ToJSON@ instance change), the schema-evolution case the
shape hash cannot detect by design.
.
* @Keiki.Codec.JSON.Test.regFileCodecProps@ /
@regFileShapeSensitivitySpec@ — library-ised versions of the
EP-36 M3 round-trip + sensitivity disciplines, parameterised
over the consumer's own slot list.
.
Split into a separate package so consumers of @keiki-codec-json@
for production do not transitively pick up @QuickCheck@ /
@hspec@ / @quickcheck-instances@.
license: BSD-3-Clause
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Codec, Testing
build-type: Simple
tested-with: GHC >=9.12 && <9.13
extra-doc-files:
CHANGELOG.md
README.md
extra-source-files: test/golden/*.json
source-repository head
type: git
location: https://github.com/shinzui/keiki.git
subdir: keiki-codec-json-test
common warnings
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
common shared-extensions
default-language: GHC2024
default-extensions:
AllowAmbiguousTypes
DuplicateRecordFields
FunctionalDependencies
OverloadedLabels
OverloadedRecordDot
OverloadedStrings
UndecidableInstances
library
import: warnings, shared-extensions
exposed-modules:
Keiki.Codec.JSON.Test
Keiki.Codec.JSON.Test.Golden
Keiki.Codec.JSON.Test.GoldenFile
hs-source-dirs: src
build-depends:
, aeson ^>=2.2
, base ^>=4.21
, bytestring ^>=0.12
, hspec ^>=2.11
, keiki ^>=0.2
, keiki-codec-json ^>=0.2
, QuickCheck ^>=2.15
, quickcheck-instances ^>=0.3
, text ^>=2.1
test-suite keiki-codec-json-test-test
import: warnings, shared-extensions
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules: Keiki.Codec.JSON.Test.Demo
build-depends:
, aeson ^>=2.2
, base ^>=4.21
, bytestring ^>=0.12
, hspec ^>=2.11
, keiki ^>=0.2
, keiki-codec-json ^>=0.2
, keiki-codec-json-test ^>=0.2
, QuickCheck ^>=2.15
, quickcheck-instances ^>=0.3
, text ^>=2.1