String escaping using backslash
This commit is contained in:
		
							
								
								
									
										17
									
								
								test/Spec.hs
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								test/Spec.hs
									
									
									
									
									
								
							| @ -51,7 +51,22 @@ lexer = testGroup "Lexer Tests" | ||||
|  | ||||
|   , testCase "Lex escaped characters in strings" $ do | ||||
|       let input = "\"hello\\nworld\"" | ||||
|           expect = Right [LStringLiteral "hello\\nworld"] | ||||
|           expect = Right [LStringLiteral "hello\nworld"] | ||||
|       runParser tricuLexer "" input @?= expect | ||||
|  | ||||
|   , testCase "Lex multiple escaped characters in strings" $ do | ||||
|       let input = "\"tab:\\t newline:\\n quote:\\\" backslash:\\\\\"" | ||||
|           expect = Right [LStringLiteral "tab:\t newline:\n quote:\" backslash:\\"] | ||||
|       runParser tricuLexer "" input @?= expect | ||||
|  | ||||
|   , testCase "Lex escaped characters in string literals" $ do | ||||
|       let input = "x = \"line1\\nline2\\tindented\"" | ||||
|           expect = Right [LIdentifier "x", LAssign, LStringLiteral "line1\nline2\tindented"] | ||||
|       runParser tricuLexer "" input @?= expect | ||||
|  | ||||
|   , testCase "Lex empty string with escape sequence" $ do | ||||
|       let input = "\"\\\"\"" | ||||
|           expect = Right [LStringLiteral "\""] | ||||
|       runParser tricuLexer "" input @?= expect | ||||
|  | ||||
|   , testCase "Lex mixed literals" $ do | ||||
|  | ||||
		Reference in New Issue
	
	Block a user