fix error message when a go string-query fails to parse
This commit is contained in:
+1
-1
@@ -138,7 +138,7 @@ func getQueriesFromGo(text string, basedir, filename string) ([]*ast.QueryDocume
|
||||
}
|
||||
|
||||
var value string
|
||||
value, err := strconv.Unquote(basicLit.Value)
|
||||
value, err = strconv.Unquote(basicLit.Value)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
+22
-1
@@ -8,7 +8,10 @@ import (
|
||||
"github.com/vektah/gqlparser/v2/ast"
|
||||
)
|
||||
|
||||
var parseDataDir = "testdata/parsing"
|
||||
var (
|
||||
parseDataDir = "testdata/parsing"
|
||||
parseErrorsDir = "testdata/parsing-errors"
|
||||
)
|
||||
|
||||
func sortQueries(queryDoc *ast.QueryDocument) {
|
||||
sort.Slice(queryDoc.Operations, func(i, j int) bool {
|
||||
@@ -61,3 +64,21 @@ func TestParse(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// TestParseErrors tests that query-extraction from different language source files
|
||||
// produces appropriate errors if your query is invalid.
|
||||
func TestParseErrors(t *testing.T) {
|
||||
extensions := []string{"graphql", "go"}
|
||||
|
||||
for _, ext := range extensions {
|
||||
t.Run(ext, func(t *testing.T) {
|
||||
g, err := getQueries(
|
||||
parseErrorsDir,
|
||||
[]string{filepath.Join(parseErrorsDir, "*."+ext)})
|
||||
if err == nil {
|
||||
t.Errorf("expected error from getQueries(*.%v)", ext)
|
||||
t.Logf("%#v", g)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package parsing_errors
|
||||
|
||||
var _ = `# @genqlient
|
||||
query myBadQuery(varMissingDollar: String) {
|
||||
field(arg: $varMissingDollar)
|
||||
}
|
||||
`
|
||||
@@ -0,0 +1,3 @@
|
||||
query myBadQuery(varMissingDollar: String) {
|
||||
field(arg: $varMissingDollar)
|
||||
}
|
||||
Reference in New Issue
Block a user