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
|
var value string
|
||||||
value, err := strconv.Unquote(basicLit.Value)
|
value, err = strconv.Unquote(basicLit.Value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-1
@@ -8,7 +8,10 @@ import (
|
|||||||
"github.com/vektah/gqlparser/v2/ast"
|
"github.com/vektah/gqlparser/v2/ast"
|
||||||
)
|
)
|
||||||
|
|
||||||
var parseDataDir = "testdata/parsing"
|
var (
|
||||||
|
parseDataDir = "testdata/parsing"
|
||||||
|
parseErrorsDir = "testdata/parsing-errors"
|
||||||
|
)
|
||||||
|
|
||||||
func sortQueries(queryDoc *ast.QueryDocument) {
|
func sortQueries(queryDoc *ast.QueryDocument) {
|
||||||
sort.Slice(queryDoc.Operations, func(i, j int) bool {
|
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