...
1 package lexer
2
3 import (
4 "testing"
5
6 "github.com/vektah/gqlparser/ast"
7 "github.com/vektah/gqlparser/parser/testrunner"
8 )
9
10 func TestLexer(t *testing.T) {
11 testrunner.Test(t, "lexer_test.yml", func(t *testing.T, input string) testrunner.Spec {
12 l := New(&ast.Source{Input: input, Name: "spec"})
13
14 ret := testrunner.Spec{}
15 for {
16 tok, err := l.ReadToken()
17
18 if err != nil {
19 ret.Error = err
20 break
21 }
22
23 if tok.Kind == EOF {
24 break
25 }
26
27 ret.Tokens = append(ret.Tokens, testrunner.Token{
28 Kind: tok.Kind.Name(),
29 Value: tok.Value,
30 Line: tok.Pos.Line,
31 Column: tok.Pos.Column,
32 Start: tok.Pos.Start,
33 End: tok.Pos.End,
34 Src: tok.Pos.Src.Name,
35 })
36 }
37
38 return ret
39 })
40 }
41
View as plain text