diff options
Diffstat (limited to 'driver/lexer_test.go')
-rw-r--r-- | driver/lexer_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/driver/lexer_test.go b/driver/lexer_test.go index 33edbc0..4dfed99 100644 --- a/driver/lexer_test.go +++ b/driver/lexer_test.go @@ -665,6 +665,34 @@ func TestLexer_Next(t *testing.T) { return nil }, }, + { + lspec: &spec.LexSpec{ + Entries: []*spec.LexEntry{ + newLexEntryDefaultNOP("dot", spec.EscapePattern(`.`)), + newLexEntryDefaultNOP("star", spec.EscapePattern(`*`)), + newLexEntryDefaultNOP("plus", spec.EscapePattern(`+`)), + newLexEntryDefaultNOP("question", spec.EscapePattern(`?`)), + newLexEntryDefaultNOP("vbar", spec.EscapePattern(`|`)), + newLexEntryDefaultNOP("lparen", spec.EscapePattern(`(`)), + newLexEntryDefaultNOP("rparen", spec.EscapePattern(`)`)), + newLexEntryDefaultNOP("lbrace", spec.EscapePattern(`[`)), + newLexEntryDefaultNOP("backslash", spec.EscapePattern(`\`)), + }, + }, + src: `.*+?|()[\`, + tokens: []*Token{ + newTokenDefault(1, "dot", newByteSequence([]byte(`.`))), + newTokenDefault(2, "star", newByteSequence([]byte(`*`))), + newTokenDefault(3, "plus", newByteSequence([]byte(`+`))), + newTokenDefault(4, "question", newByteSequence([]byte(`?`))), + newTokenDefault(5, "vbar", newByteSequence([]byte(`|`))), + newTokenDefault(6, "lparen", newByteSequence([]byte(`(`))), + newTokenDefault(7, "rparen", newByteSequence([]byte(`)`))), + newTokenDefault(8, "lbrace", newByteSequence([]byte(`[`))), + newTokenDefault(9, "backslash", newByteSequence([]byte(`\`))), + newEOFTokenDefault(), + }, + }, } for i, tt := range test { for compLv := compiler.CompressionLevelMin; compLv <= compiler.CompressionLevelMax; compLv++ { |