diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2021-07-17 17:29:31 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2021-07-17 17:29:31 +0900 |
commit | 2c22c1e193ce8b3abd6f1436457ff92a40646e45 (patch) | |
tree | 2979b4d644e038ae2ec84a201c2557d3db5e1570 /spec/parser_test.go | |
parent | Improve syntax error messages (diff) | |
download | cotia-2c22c1e193ce8b3abd6f1436457ff92a40646e45.tar.gz cotia-2c22c1e193ce8b3abd6f1436457ff92a40646e45.tar.xz |
Detect multiple syntax errors in a single parse
Diffstat (limited to 'spec/parser_test.go')
-rw-r--r-- | spec/parser_test.go | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/spec/parser_test.go b/spec/parser_test.go index 8500a02..89cc4d1 100644 --- a/spec/parser_test.go +++ b/spec/parser_test.go @@ -144,11 +144,6 @@ c: ; synErr: synErrInvalidToken, }, { - caption: "a grammar must have at least one production", - src: ``, - synErr: synErrNoProduction, - }, - { caption: "a production must have its name as the first element", src: `: "a";`, synErr: synErrNoProductionName, @@ -350,10 +345,11 @@ foo: "foo"; t.Run(tt.caption, func(t *testing.T) { ast, err := Parse(strings.NewReader(tt.src)) if tt.synErr != nil { - synErr, ok := err.(*verr.SpecError) + synErrs, ok := err.(verr.SpecErrors) if !ok { t.Fatalf("unexpected error; want: %v, got: %v", tt.synErr, err) } + synErr := synErrs[0] if tt.synErr != synErr.Cause { t.Fatalf("unexpected error; want: %v, got: %v", tt.synErr, synErr.Cause) } |