diff --git a/src_v2/parser/parser_internals.nim b/src_v2/parser/parser_internals.nim index 2028fdf..44ee84d 100644 --- a/src_v2/parser/parser_internals.nim +++ b/src_v2/parser/parser_internals.nim @@ -324,7 +324,7 @@ when isMainModule: # parse assert testAbc1Parser.flatMap(following(@[ch('a'), str("bc"), digit])).tokensToString() == "abc1" - block parsingHelpers: + block testParsingHelpers: let testParenParser = initParserResult("(123)") let testQuoteParser = initParserResult("\"123\"") @@ -338,8 +338,18 @@ when isMainModule: assert testParenParser.flatMap(anyBetween(ch('('), ch(')'))).tokensToString() == "123" assert testQuoteParser.flatMap(anyBetweenPair(testQuote)).tokensToString() == "123" - block parsingAliases: + block testParsingAliases: assert initParserResult("").flatMap(newlineOrEol).isOk() == true assert initParserResult("abc ").flatMap(str("abc") + newlineOrEol).error().expected == newlineEolExpectedErr assert initParserResult("").flatMap(whitespaceOrEol).isOk() == true assert initParserResult("abc ").flatMap(str("abc") + whitespaceOrEol + whitespaceOrEol).tokensToString() == "abc " + + block testImplementations: + let testSentenceStr = "This is a sentence\n\nFollowing another sentence." + let testSentenceParser = initParserResult(testSentenceStr) + + let testSentence1 = anyUntil(newline) + newline + newlineOrEol + + manyUntil(choice(@[letter, whitespace]), ch('.')) + ch('.') + + newlineOrEol + + assert testSentenceParser.flatMap(testSentence1).tokensToString() == testSentenceStr