on master help sign in
Add NonEmpty unit tests
commit077fcc49709a1af81ed4e5fb136e890658ead859 authorOleg Grenrus <oleg.grenrus@iki.fi> dateTue 9 Feb 2016, 13:47 (11 years ago) parent66bbc19
2 files changed+7−2
aeson.cabal+2−2 tests/UnitTests.hs+5
aeson.cabal+2−2
@@ -108,7 +108,7 @@ library
108108
109109 if !impl(ghc >= 8.0)
110110 -- `Data.Semigroup` is available in base only since GHC 8.0
111− build-depends: semigroups >= 0.16.1
111+ build-depends: semigroups >= 0.16.1 && < 0.17
112112
113113 if flag(old-locale)
114114 build-depends: time < 1.5, old-locale
@@ -163,7 +163,7 @@ test-suite tests
163163 quickcheck-instances >=0.3.12
164164
165165 if !impl(ghc >= 8.0)
166− build-depends: semigroups >= 0.16.1
166+ build-depends: semigroups >= 0.16.1 && < 0.17
167167
168168 if flag(old-locale)
169169 build-depends: time < 1.5, old-locale
tests/UnitTests.hs+5
@@ -12,6 +12,7 @@ import Data.Aeson.TH (deriveJSON)
1212import Data.Aeson.Types (ToJSON(..), Value, camelTo, camelTo2, defaultOptions, omitNothingFields)
1313import Data.Char (toUpper)
1414import Data.Maybe (fromMaybe)
15+import Data.List.NonEmpty (NonEmpty(..))
1516import Data.Time (UTCTime)
1617import Data.Time.Format (parseTime)
1718import Data.Sequence (Seq)
@@ -224,6 +225,8 @@ jsonEncoding = [
224225 , assertEqual "Just" "1" $ encode (Just 1 :: Maybe Int)
225226 , assertEqual "Just Nothing" "null" $ encode (Just Nothing :: Maybe (Maybe Int))
226227 , assertEqual "Tuple" "[1,2]" $ encode ((1, 2) :: (Int, Int))
228+ , assertEqual "NonEmpty" "[1,2,3]" $ encode (1 :| [2, 3] :: NonEmpty Int)
229+ , assertEqual "()" "[]" $ encode ()
227230 ]
228231
229232jsonDecoding :: [Assertion]
@@ -231,6 +234,8 @@ jsonDecoding = [
231234 assertEqual "Nothing" (Nothing :: Maybe Int) (decode "null")
232235 , assertEqual "Just" (Just 1 :: Maybe Int) (decode "1")
233236 , assertEqual "Just Nothing" (Just Nothing :: Maybe (Maybe Int)) (decode "null")
237+ , assertEqual "NonEmpty" (Just (1 :| [2, 3]) :: Maybe (NonEmpty Int)) (decode "[1,2,3]")
238+ , assertEqual "()" (Just ()) (decode "[]")
234239 ]
235240
236241------------------------------------------------------------------------------