@@ -34,7 +34,7 @@ import Effect.Console (log, logShow)
34
34
import Effect.Unsafe (unsafePerformEffect )
35
35
import Node.Process (lookupEnv )
36
36
import Parsing (ParseError (..), Parser , ParserT , Position (..), consume , fail , initialPos , parseErrorMessage , parseErrorPosition , position , region , runParser )
37
- import Parsing.Combinators (between , chainl , chainl1 , chainr , chainr1 , choice , endBy , endBy1 , lookAhead , many , many1 , many1Till , many1Till_ , manyTill , manyTill_ , notFollowedBy , optionMaybe , sepBy , sepBy1 , sepEndBy , sepEndBy1 , skipMany , skipMany1 , try , (<?>), (<??>), (<~?>))
37
+ import Parsing.Combinators (between , chainl , chainl1 , chainr , chainr1 , choice , endBy , endBy1 , lookAhead , many , many1 , many1Till , many1Till_ , manyFromTo , manyTill , manyTill_ , notFollowedBy , optionMaybe , sepBy , sepBy1 , sepEndBy , sepEndBy1 , skipMany , skipMany1 , try , (<?>), (<??>), (<~?>))
38
38
import Parsing.Expr (Assoc (..), Operator (..), buildExprParser )
39
39
import Parsing.Language (haskellDef , haskellStyle , javaStyle )
40
40
import Parsing.String (anyChar , anyCodePoint , anyTill , char , eof , match , regex , rest , satisfy , string , takeN )
@@ -1006,3 +1006,22 @@ main = do
1006
1006
rmap fst <$> splitCap " ((🌼)) (()())" (match balancedParens)
1007
1007
, expected: NonEmptyList $ Right " ((🌼))" :| Left " " : Right " (()())" : Nil
1008
1008
}
1009
+
1010
+ log " \n TESTS manyFromTo\n "
1011
+
1012
+ assertEqual' " manyFromTo 1"
1013
+ { actual: runParser " aaab" $ manyFromTo 0 3 (char ' a' )
1014
+ , expected: Right (Tuple 3 (' a' :' a' :' a' :Nil ))
1015
+ }
1016
+ assertEqual' " manyFromTo 2"
1017
+ { actual: runParser " aaaa" $ manyFromTo 0 3 (char ' a' )
1018
+ , expected: Right (Tuple 3 (' a' :' a' :' a' :Nil ))
1019
+ }
1020
+ assertEqual' " manyFromTo 3"
1021
+ { actual: runParser " b" $ manyFromTo 0 3 (char ' a' )
1022
+ , expected: Right (Tuple 0 (Nil ))
1023
+ }
1024
+ assertEqual' " manyFromTo 4"
1025
+ { actual: lmap parseErrorPosition $ runParser " ab" $ manyFromTo 3 3 (char ' a' )
1026
+ , expected: Left (Position {index:1 ,line:1 ,column:2 })
1027
+ }
0 commit comments