File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -1414,7 +1414,7 @@ parseVersionText = go . readP_to_S parseVersion . unpack
1414
1414
1415
1415
instance FromJSON1 NonEmpty where
1416
1416
liftParseJSON p _ = withArray " NonEmpty a" $
1417
- (>>= ne) . Tr. sequence . zipWith (parseIndexedJSON p) [0 .. ] . V. toList
1417
+ (>>= ne) . accSequence . zipWith (parseIndexedJSON p) [0 .. ] . V. toList
1418
1418
where
1419
1419
ne [] = fail " Expected a NonEmpty but got an empty list"
1420
1420
ne (x: xs) = pure (x :| xs)
Original file line number Diff line number Diff line change @@ -21,8 +21,9 @@ import qualified Data.Sequence as Seq
21
21
22
22
tests :: Test
23
23
tests = testGroup " Error accumulation" [
24
- testCase " seq" seq
25
- , testCase " vector" vector
24
+ testCase " Seq" seq
25
+ , testCase " Vector" vector
26
+ , testCase " NonEmpty" nonEmpty
26
27
]
27
28
28
29
decoder :: FromJSON a
@@ -41,3 +42,9 @@ vector = do
41
42
let res = decoder " [true, null]" :: Either (NonEmpty (JSONPath , String )) (Vector Int )
42
43
let message i s = ([Index i], " expected Int, encountered " <> s)
43
44
res @=? Left (NL. fromList [message 0 " Boolean" , message 1 " Null" ])
45
+
46
+ nonEmpty :: Assertion
47
+ nonEmpty = do
48
+ let res = decoder " [true, null]" :: Either (NonEmpty (JSONPath , String )) (NL. NonEmpty Int )
49
+ let message i s = ([Index i], " expected Int, encountered " <> s)
50
+ res @=? Left (NL. fromList [message 0 " Boolean" , message 1 " Null" ])
You can’t perform that action at this time.
0 commit comments