@@ -7,6 +7,7 @@ module Streamly.Test.Data.Parser.Common (main) where
77
88import Control.Applicative ((<|>) )
99import Control.Exception (displayException , try , evaluate , SomeException )
10+ import Data.List (isSuffixOf )
1011import Streamly.Internal.Data.MutByteArray (Unbox )
1112import Streamly.Test.Common (listEquals , checkListEqual , chooseInt )
1213import Streamly.Internal.Data.Parser (ParseError (.. ))
@@ -20,8 +21,7 @@ import Prelude hiding (sequence)
2021import qualified Control.Monad.Fail as Fail
2122import qualified Data.List as List
2223import qualified Prelude
23- import qualified Streamly.Data.Stream as S
24- import qualified Streamly.Internal.Data.Stream as S (parseBreak )
24+ import qualified Streamly.Internal.Data.Stream as S
2525import qualified Streamly.Internal.Data.Array as A
2626import qualified Streamly.Internal.Data.Array.Generic as GA
2727import qualified Streamly.Internal.Data.Fold as FL
@@ -116,7 +116,7 @@ parserFail consumer =
116116 property $
117117 case runIdentity $ consumer (Fail. fail err) [0 :: Int ] of
118118 (Right _, _) -> False
119- (Left (ParseError e), rest) -> err == e && rest == [0 :: Int ]
119+ (Left (ParseError _ e), rest) -> err == e && rest == [0 :: Int ]
120120 where
121121 err = " Testing MonadFail.fail."
122122
@@ -857,7 +857,7 @@ takeEndByEsc producer consumer =
857857 in
858858 case runIdentity $ consumer prsr (producer ls) of
859859 Right parsed_list -> checkListEqual parsed_list $ escapeSep Nothing ls
860- Left err -> property (displayException err == msg )
860+ Left err -> property (msg `isSuffixOf` displayException err )
861861
862862takeFramedByEsc_ :: ParserTestCase_Temp Int Identity [Int ] Property
863863takeFramedByEsc_ producer consumer =
@@ -1009,7 +1009,7 @@ takeFramedByEsc_Fail1 producer consumer =
10091009 in
10101010 case runIdentity $ consumer prsr (producer ls) of
10111011 Right _ -> property False
1012- Left err -> property (displayException err == msg )
1012+ Left err -> property (msg `isSuffixOf` displayException err )
10131013
10141014takeFramedByEsc_Fail2 :: ParserTestCase_Temp Int Identity [Int ] Property
10151015takeFramedByEsc_Fail2 producer consumer =
@@ -1028,7 +1028,7 @@ takeFramedByEsc_Fail2 producer consumer =
10281028 in
10291029 case runIdentity $ consumer prsr (producer ls) of
10301030 Right _ -> property False
1031- Left err -> property (displayException err == msg )
1031+ Left err -> property (msg `isSuffixOf` displayException err )
10321032
10331033takeFramedByEsc_Fail3 :: ParserTestCase_Temp Int Identity [Int ] Property
10341034takeFramedByEsc_Fail3 producer consumer =
@@ -1047,7 +1047,7 @@ takeFramedByEsc_Fail3 producer consumer =
10471047 in
10481048 case runIdentity $ consumer prsr (producer ls) of
10491049 Right _ -> property False
1050- Left err -> property $ (displayException err == msg )
1050+ Left err -> property (msg `isSuffixOf` displayException err )
10511051
10521052takeStartBy_ :: ParserTestCase_Temp Int Identity [Int ] Property
10531053takeStartBy_ producer consumer =
@@ -1065,7 +1065,7 @@ takeStartBy_ producer consumer =
10651065 then tls
10661066 else Prelude. takeWhile (not . predicate) ls1
10671067 else property $ Prelude. null parsed_list
1068- Left err -> property (displayException err == msg )
1068+ Left err -> property (msg `isSuffixOf` displayException err )
10691069 where
10701070 predicate = odd
10711071 parser = P. takeBeginBy_ predicate FL. toList
@@ -1085,21 +1085,21 @@ runParserTC :: (Unbox a, Monad m) => TestMode -> ParserTestCase a m b c -> c
10851085runParserTC tm runner =
10861086 case tm of
10871087 TMParserStream ->
1088- runner $ \ p -> mapMTup S. toList . S. parseBreak p . S. fromList
1088+ runner $ \ p -> mapMTup S. toList . S. parseBreakPos p . S. fromList
10891089 TMParserKStreamK ->
10901090 runner $ \ p ->
1091- mapMTup K. toList . K. parseBreak (PK. parserK p) . K. fromList
1091+ mapMTup K. toList . K. parseBreakPos (PK. parserK p) . K. fromList
10921092 TMParserKStreamKChunks ->
10931093 runner $ \ p ->
10941094 mapMTup
10951095 (fmap (concatMap A. toList) . K. toList)
1096- . A. parseBreak (A. parserK p)
1096+ . A. parseBreakPos (A. parserK p)
10971097 . producerChunks A. fromList
10981098 TMParserKStreamKChunksGeneric ->
10991099 runner $ \ p ->
11001100 mapMTup
11011101 (fmap (concatMap GA. toList) . K. toList)
1102- . GA. parseBreak (GA. parserK p)
1102+ . GA. parseBreakPos (GA. parserK p)
11031103 . producerChunks GA. fromList
11041104
11051105 where
@@ -1117,14 +1117,14 @@ runParserTC tm runner =
11171117runParserTC_temp :: (Unbox a , Monad m ) => TestMode -> ParserTestCase_Temp a m b c -> c
11181118runParserTC_temp tm runner =
11191119 case tm of
1120- TMParserStream -> runner S. fromList S. parse
1121- TMParserKStreamK -> runner K. fromList (K. parse . PK. parserK)
1120+ TMParserStream -> runner S. fromList S. parsePos
1121+ TMParserKStreamK -> runner K. fromList (K. parsePos . PK. parserK)
11221122 TMParserKStreamKChunks ->
1123- runner (producerChunks A. fromList) (A. parse . A. parserK)
1123+ runner (producerChunks A. fromList) (A. parsePos . A. parserK)
11241124 TMParserKStreamKChunksGeneric ->
11251125 runner
11261126 (producerChunks GA. fromList)
1127- (GA. parse . GA. parserK)
1127+ (GA. parsePos . GA. parserK)
11281128
11291129 where
11301130 cSize = 50
0 commit comments