diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2021-12-15 21:17:48 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2021-12-15 22:35:54 +0900 |
commit | fc349551e39d4b1203a3743a76ac953686d49e07 (patch) | |
tree | 19507233ddad5ef6ef5b7c1c8f178c0fb6dfc10a /driver/lexer_test.go | |
parent | Update CHANGELOG (diff) | |
download | tre-fc349551e39d4b1203a3743a76ac953686d49e07.tar.gz tre-fc349551e39d4b1203a3743a76ac953686d49e07.tar.xz |
Use golangci-lint
Diffstat (limited to '')
-rw-r--r-- | driver/lexer_test.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/driver/lexer_test.go b/driver/lexer_test.go index e0b82b1..9e5148c 100644 --- a/driver/lexer_test.go +++ b/driver/lexer_test.go @@ -72,9 +72,9 @@ func newEOFTokenDefault() *Token { return newEOFToken(ModeID(spec.LexModeIDDefault.Int()), spec.LexModeNameDefault.String()) } -func newInvalidToken(modeID ModeID, lexeme []byte) *Token { +func newInvalidTokenDefault(lexeme []byte) *Token { return &Token{ - ModeID: modeID, + ModeID: ModeID(spec.LexModeIDDefault.Int()), ModeKindID: 0, Lexeme: lexeme, Invalid: true, @@ -772,6 +772,22 @@ func TestLexer_Next(t *testing.T) { newEOFTokenDefault(), }, }, + // The driver can continue lexical analysis even after it detects an invalid token. + { + lspec: &spec.LexSpec{ + Name: "test", + Entries: []*spec.LexEntry{ + newLexEntryDefaultNOP("lower", `[a-z]+`), + }, + }, + src: `foo123bar`, + tokens: []*Token{ + newTokenDefault(1, 1, []byte(`foo`)), + newInvalidTokenDefault([]byte(`123`)), + newTokenDefault(1, 1, []byte(`bar`)), + newEOFTokenDefault(), + }, + }, } for i, tt := range test { for compLv := compiler.CompressionLevelMin; compLv <= compiler.CompressionLevelMax; compLv++ { |