on master help sign in
Add tests for omitNothingFields option
commitb9f51cc19efae452aca56d71faded40edc0d71e7 authorlyxia <li-yao.xia@ens.fr> dateTue 10 May 2016, 19:14 (10 years ago) parent9d105f8
3 files changed+14
tests/Encoders.hs+7 tests/Options.hs+5 tests/Properties.hs+2
tests/Encoders.hs+7
@@ -160,6 +160,13 @@ gSomeTypeParseJSONObjectWithSingleField :: Value -> Parser (SomeType Int)
160160gSomeTypeParseJSONObjectWithSingleField = genericParseJSON optsObjectWithSingleField
161161
162162
163+gSomeTypeToJSONOmitNothingFields :: SomeType Int -> Value
164+gSomeTypeToJSONOmitNothingFields = genericToJSON optsOmitNothingFields
165+
166+gSomeTypeToEncodingOmitNothingFields :: SomeType Int -> Encoding
167+gSomeTypeToEncodingOmitNothingFields = genericToEncoding optsOmitNothingFields
168+
169+
163170--------------------------------------------------------------------------------
164171-- Approx encoders/decoders
165172--------------------------------------------------------------------------------
tests/Options.hs+5
@@ -29,3 +29,8 @@ optsObjectWithSingleField = optsDefault
2929 { allNullaryToStringTag = False
3030 , sumEncoding = ObjectWithSingleField
3131 }
32+
33+optsOmitNothingFields :: Options
34+optsOmitNothingFields = optsDefault
35+ { omitNothingFields = True
36+ }
tests/Properties.hs+2
@@ -215,6 +215,8 @@ tests = testGroup "properties" [
215215 , testProperty "SomeTypeObjectWithSingleField" $
216216 gSomeTypeToJSONObjectWithSingleField `sameAs`
217217 gSomeTypeToEncodingObjectWithSingleField
218+ , testProperty "SomeTypeOmitNothingFields" $
219+ gSomeTypeToJSONOmitNothingFields `sameAs` gSomeTypeToEncodingOmitNothingFields
218220 ]
219221 ]
220222 , testGroup "template-haskell" [