Added all tokens to unit test
This commit is contained in:
parent
3f16d34aa1
commit
488220f3a7
@ -4,20 +4,52 @@ import "testing"
|
|||||||
import "github.com/sashakoshka/arf/file"
|
import "github.com/sashakoshka/arf/file"
|
||||||
|
|
||||||
func TestTokenizeAll (test *testing.T) {
|
func TestTokenizeAll (test *testing.T) {
|
||||||
file, err := file.Open("tests/parser/all")
|
file, err := file.Open("tests/lexer/all")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
test.Log(err)
|
test.Log(err)
|
||||||
test.Fail()
|
test.Fail()
|
||||||
}
|
}
|
||||||
|
|
||||||
tokens, err := Tokenize(file)
|
tokens, err := Tokenize(file)
|
||||||
if err != nil {
|
if err == nil {
|
||||||
test.Log(err)
|
test.Log("Tokenize() have returned an error")
|
||||||
test.Fail()
|
test.Fail()
|
||||||
}
|
}
|
||||||
|
|
||||||
correct := []Token {
|
correct := []Token {
|
||||||
Token { kind: TokenKindSeparator, },
|
Token { kind: TokenKindSeparator },
|
||||||
|
Token { kind: TokenKindPermission /* TODO: value */ },
|
||||||
|
Token { kind: TokenKindReturnDirection },
|
||||||
|
Token { kind: TokenKindInt, value: -349820394 },
|
||||||
|
Token { kind: TokenKindUInt, value: 932748397 },
|
||||||
|
Token { kind: TokenKindFloat, value: 239485.37520 },
|
||||||
|
Token { kind: TokenKindString, value: "hello world\n" },
|
||||||
|
Token { kind: TokenKindRune, value: 'E' },
|
||||||
|
Token { kind: TokenKindName, value: "helloWorld" },
|
||||||
|
Token { kind: TokenKindColon },
|
||||||
|
Token { kind: TokenKindDot },
|
||||||
|
Token { kind: TokenKindLBracket },
|
||||||
|
Token { kind: TokenKindRBracket },
|
||||||
|
Token { kind: TokenKindLBrace },
|
||||||
|
Token { kind: TokenKindRBrace },
|
||||||
|
Token { kind: TokenKindPlus },
|
||||||
|
Token { kind: TokenKindMinus },
|
||||||
|
Token { kind: TokenKindIncrement },
|
||||||
|
Token { kind: TokenKindDecrement },
|
||||||
|
Token { kind: TokenKindAsterisk },
|
||||||
|
Token { kind: TokenKindSlash },
|
||||||
|
Token { kind: TokenKindAt },
|
||||||
|
Token { kind: TokenKindExclamation },
|
||||||
|
Token { kind: TokenKindPercent },
|
||||||
|
Token { kind: TokenKindTilde },
|
||||||
|
Token { kind: TokenKindLessThan },
|
||||||
|
Token { kind: TokenKindLShift },
|
||||||
|
Token { kind: TokenKindGreaterThan },
|
||||||
|
Token { kind: TokenKindRShift },
|
||||||
|
Token { kind: TokenKindBinaryOr },
|
||||||
|
Token { kind: TokenKindLogicalOr },
|
||||||
|
Token { kind: TokenKindBinaryAnd },
|
||||||
|
Token { kind: TokenKindLogicalAnd },
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(tokens) != len(correct) {
|
if len(tokens) != len(correct) {
|
||||||
|
|||||||
@ -14,12 +14,12 @@ const (
|
|||||||
TokenKindReturnDirection
|
TokenKindReturnDirection
|
||||||
|
|
||||||
TokenKindInt
|
TokenKindInt
|
||||||
|
TokenKindUInt
|
||||||
TokenKindFloat
|
TokenKindFloat
|
||||||
TokenKindString
|
TokenKindString
|
||||||
TokenKindRune
|
TokenKindRune
|
||||||
|
|
||||||
TokenKindName
|
TokenKindName
|
||||||
TokenKindSymbol
|
|
||||||
|
|
||||||
TokenKindColon
|
TokenKindColon
|
||||||
TokenKindDot
|
TokenKindDot
|
||||||