Some test case fixes for the lexer
This commit is contained in:
		
							parent
							
								
									7af98d1c6f
								
							
						
					
					
						commit
						6a72cc9f12
					
				| @ -73,7 +73,7 @@ func compareErr ( | ||||
| 	correctWidth   int, | ||||
| 	test *testing.T, | ||||
| ) { | ||||
| 	test.Log("testing errors in", filePath) | ||||
| 	test.Log("testing error in", filePath) | ||||
| 	file, err := file.Open(filePath) | ||||
| 	if err != nil { | ||||
| 		test.Log(err) | ||||
| @ -82,11 +82,17 @@ func compareErr ( | ||||
| 	} | ||||
| 	 | ||||
| 	_, err = Tokenize(file) | ||||
| 	check, _ := err.(infoerr.Error) | ||||
| 	check, isCorrectType := err.(infoerr.Error) | ||||
| 
 | ||||
| 	test.Log("error that was recieved:") | ||||
| 	test.Log(check) | ||||
| 
 | ||||
| 	if !isCorrectType { | ||||
| 		test.Log("error is not infoerr.Error, something has gone wrong.") | ||||
| 		test.Fail() | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	if check.Kind() != correctKind { | ||||
| 		test.Log("mismatched error kind") | ||||
| 		test.Log("- want:", correctKind) | ||||
| @ -215,7 +221,7 @@ func TestTokenizeNumbers (test *testing.T) { | ||||
| 
 | ||||
| func TestTokenizeText (test *testing.T) { | ||||
| 	checkTokenSlice("../tests/lexer/text.arf", test, | ||||
| 		quickToken(34, TokenKindString, "hello world!\a\b\f\n\r\t\v'\\"), | ||||
| 		quickToken(32, TokenKindString, "hello world!\a\b\f\n\r\t\v'\\"), | ||||
| 		quickToken(1, TokenKindNewline, nil), | ||||
| 		quickToken(4, TokenKindString, "\a"), | ||||
| 		quickToken(4, TokenKindString, "\b"), | ||||
| @ -250,21 +256,25 @@ func TestTokenizeIndent (test *testing.T) { | ||||
| 	) | ||||
| } | ||||
| 
 | ||||
| func TestTokenizeErr (test *testing.T) { | ||||
| func TestTokenizeErrUnexpectedSymbol (test *testing.T) { | ||||
| 	compareErr ( | ||||
| 		"../tests/lexer/error/unexpectedSymbol.arf", | ||||
| 		infoerr.ErrorKindError, | ||||
| 		"unexpected symbol character ;", | ||||
| 		1, 5, 1, | ||||
| 		test) | ||||
| } | ||||
| 
 | ||||
| func TestTokenizeErrExcessDataRune (test *testing.T) {	 | ||||
| 	compareErr ( | ||||
| 		"../tests/lexer/error/excessDataRune.arf", | ||||
| 		infoerr.ErrorKindError, | ||||
| 		"excess data in rune literal", | ||||
| 		1, 1, 7, | ||||
| 		test) | ||||
| } | ||||
| 
 | ||||
| func TestTokenizeErrUnknownEscape (test *testing.T) { | ||||
| 	compareErr ( | ||||
| 		"../tests/lexer/error/unknownEscape.arf", | ||||
| 		infoerr.ErrorKindError, | ||||
|  | ||||
| @ -12,7 +12,6 @@ func (lexer *LexingOperation) tokenizeString () (err error) { | ||||
| 	got   := "" | ||||
| 	tokenWidth := 2 | ||||
| 
 | ||||
| 	beginning := lexer.file.Location(1) | ||||
| 	for { | ||||
| 		if lexer.char == '\\' { | ||||
| 			err = lexer.nextRune() | ||||
| @ -40,7 +39,6 @@ func (lexer *LexingOperation) tokenizeString () (err error) { | ||||
| 	err = lexer.nextRune() | ||||
| 	if err != nil { return } | ||||
| 
 | ||||
| 	beginning.SetWidth(len(got)) | ||||
| 	token.kind  = TokenKindString | ||||
| 	token.value = got | ||||
| 
 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user