1
Fork 0

add tests for + - followed by comment edge cases

This commit is contained in:
Jake Wheat 2016-02-13 20:38:49 +02:00
parent fc2119be02
commit 47198c78c1
2 changed files with 9 additions and 2 deletions

View file

@ -370,7 +370,6 @@ which allows the last character of a multi character symbol to be + or
> -- special case for parsing a single + or - symbol
> singlePlusMinus = try $ do
> c <- oneOf "+-"
> -- todo: make sure it deals with e.g. --- +-- +/* -/*?
> notFollowedBy $ oneOf allOpSymbols
> return [c]

View file

@ -284,7 +284,9 @@ the + or -.
> [LexerTest postgres s t | (s,t) <- postgresLexerTable]
> ,Group "adhoc lexer tests" $
> [LexerTest postgres s t
> | (s,t) <- edgeCaseCommentOps ++ edgeCasePlusMinusOps ]
> | (s,t) <- edgeCaseCommentOps
> ++ edgeCasePlusMinusOps
> ++ edgeCasePlusMinusComments]
> ]
> where
> edgeCaseCommentOps = concat
@ -298,6 +300,12 @@ the + or -.
> , (x ++ "-", [Symbol x, Symbol "-"]) ]
> | x <- somePostgresOpsWhichWontAddTrailingPlusMinus 2
> ]
> edgeCasePlusMinusComments =
> [("---", [LineComment "---"])
> ,("+--", [Symbol "+", LineComment "--"])
> ,("-/**/", [Symbol "-", BlockComment "/**/"])
> ,("+/**/", [Symbol "+", BlockComment "/**/"])
> ]
> combos :: [a] -> Int -> [[a]]