hspec-golden-aeson-0.9.0.0: Use tests to monitor changes in Aeson serialization
Copyright(c) Plow Technologies 2016
LicenseBSD3
Maintainermchaver@gmail.com
StabilityBeta
Safe HaskellNone
LanguageHaskell2010

Test.Aeson.Internal.Utils

Description

 
Synopsis

Documentation

data ComparisonFile Source #

Option to indicate whether to create a separate comparison file or overwrite the golden file. A separate file allows you to use diff to compare. Overwriting allows you to use source control tools for comparison.

Constructors

FaultyFile

Create a new faulty file when tests fail

OverwriteGoldenFile

Overwrite the golden file when tests fail

data RandomMismatchOption Source #

Option indicating whether to fail tests when the random seed does not produce the same values as in the golden file. Default is to output a warning.

Constructors

RandomMismatchWarning

Only output a warning when the random seed does not produce the same values

RandomMismatchError

Fail the test when the random seed does not produce the same value

data Settings Source #

Constructors

Settings 

Fields

data GoldenDirectoryOption Source #

A custom directory name or a preselected directory name.

defaultSettings :: Settings Source #

The default settings for general use cases.

addBrackets :: String -> String Source #

put brackets around a String.

shouldBeIdentity :: (Eq a, Show a, Arbitrary a) => Proxy a -> (a -> IO a) -> Property Source #

hspec style combinator to easily write tests that check the a given operation returns the same value it was given, e.g. roundtrip tests.

checkAesonEncodingEquality :: forall a. (ToJSON a, FromJSON a) => JsonShow a -> Bool Source #

This function will compare one JSON encoding to a subsequent JSON encoding, thus eliminating the need for an Eq instance

aesonDecodeIO :: FromJSON a => ByteString -> IO a Source #

run decode in IO, if it returns Left then throw an error.

newtype JsonShow a Source #

Used to eliminate the need for an Eq instance

Constructors

JsonShow a 

Instances

Instances details
ToJSON a => Show (JsonShow a) Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

Methods

showsPrec :: Int -> JsonShow a -> ShowS #

show :: JsonShow a -> String #

showList :: [JsonShow a] -> ShowS #

Arbitrary a => Arbitrary (JsonShow a) Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

ToJSON a => ToJSON (JsonShow a) Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

FromJSON a => FromJSON (JsonShow a) Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

newtype TopDir Source #

Constructors

TopDir 

Fields

Instances

Instances details
Eq TopDir Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

Methods

(==) :: TopDir -> TopDir -> Bool #

(/=) :: TopDir -> TopDir -> Bool #

Read TopDir Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

Show TopDir Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

newtype TypeName Source #

Constructors

TypeName 

Fields

Instances

Instances details
Eq TypeName Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

Read TypeName Source # 
Instance details

Defined in Test.Aeson.Internal.Utils

Show TypeName Source # 
Instance details

Defined in Test.Aeson.Internal.Utils