@@ -25,11 +25,11 @@ caseCountScalars = do
2525 where
2626 yamlString = "foo:\n baz: [bin1, bin2, bin3]\nbaz: bazval"
2727 yamlBS = B8.pack yamlString
28− fold (s, l, m) (EventScalar {}) = Right (s + 1, l, m)
29− fold (s, l, m) EventSequenceStart = Right (s, l + 1, m)
30− fold (s, l, m) EventMappingStart = Right (s, l, m + 1)
31− fold res EventNone = Left res
32− fold res _ = Right res
28+ fold (s, l, m) (EventScalar {}) = return $ More (s + 1, l, m)
29+ fold (s, l, m) EventSequenceStart = return $ More (s, l + 1, m)
30+ fold (s, l, m) EventMappingStart = return $ More (s, l, m + 1)
31+ fold res EventNone = return $ Done res
32+ fold res _ = return $ More res
3333 accum = (0, 0, 0) :: (Int, Int, Int)
3434
3535caseLargestString :: Assertion
@@ -43,10 +43,10 @@ caseLargestString = do
4343 let s' = B8.unpack bs
4444 i' = length s'
4545 in if i' > i
46− then Right (i', s')
47− else Right (i, s)
48− fold res EventNone = Left res
49− fold res _ = Right res
46+ then return $ More (i', s')
47+ else return $ More (i, s)
48+ fold res EventNone = return $ Done res
49+ fold res _ = return $ More res
5050 accum = (0, "no strings found")
5151
5252toIO :: Exception l => IO (Either l r) -> IO r
@@ -63,8 +63,8 @@ caseEncodeDecode = do
6363 where
6464 yamlString = "foo: bar\nbaz:\n - bin1\n - bin2\n"
6565 yamlBS = B8.pack yamlString
66− fold x EventNone = Left x
67− fold x e = Right $ x . (:) e
66+ fold x EventNone = return $ Done x
67+ fold x e = return $ More $ x . (:) e
6868 unfold (x:xs) = Just (x, xs)
6969 unfold [] = Nothing
7070
@@ -79,8 +79,8 @@ caseEncodeDecodeFile = do
7979 where
8080 filePath = "test/largest-string.yaml"
8181 tmpPath = "tmp.yaml"
82− fold x EventNone = Left x
83− fold x e = Right $ x . (:) e
82+ fold x EventNone = return $ Done x
83+ fold x e = return $ More $ x . (:) e
8484 unfold (x:xs) = Just (x, xs)
8585 unfold [] = Nothing
8686