From 35949a898145782b45a87fef052a4a76747f3d12 Mon Sep 17 00:00:00 2001 From: timsuchanek Date: Tue, 22 Jun 2021 16:50:17 +0200 Subject: [PATCH] Fix #51 --- src/query/format.rs | 14 ++++++++------ tests/queries/mutation_nameless_vars.graphql | 4 ++++ tests/query_roundtrips.rs | 1 + 3 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 tests/queries/mutation_nameless_vars.graphql diff --git a/src/query/format.rs b/src/query/format.rs index bff4158..be78e7d 100644 --- a/src/query/format.rs +++ b/src/query/format.rs @@ -186,13 +186,15 @@ impl<'a, T: Text<'a>> Displayable for Mutation<'a, T> if let Some(ref name) = self.name { f.write(" "); f.write(name.as_ref()); - if !self.variable_definitions.is_empty() { - f.write("("); - for var in &self.variable_definitions { - var.display(f); - } - f.write(")"); + } + if !self.variable_definitions.is_empty() { + f.write("("); + self.variable_definitions[0].display(f); + for var in &self.variable_definitions[1..] { + f.write(", "); + var.display(f); } + f.write(")"); } format_directives(&self.directives, f); f.write(" "); diff --git a/tests/queries/mutation_nameless_vars.graphql b/tests/queries/mutation_nameless_vars.graphql new file mode 100644 index 0000000..bb77ebc --- /dev/null +++ b/tests/queries/mutation_nameless_vars.graphql @@ -0,0 +1,4 @@ +mutation($first: Int, $second: Int) { + field1(first: $first) + field2(second: $second) +} diff --git a/tests/query_roundtrips.rs b/tests/query_roundtrips.rs index 9e67da4..2eaeb1c 100644 --- a/tests/query_roundtrips.rs +++ b/tests/query_roundtrips.rs @@ -44,6 +44,7 @@ fn roundtrip2(filename: &str) { #[test] fn query_arguments() { roundtrip("query_arguments"); } #[test] fn query_directive() { roundtrip("query_directive"); } #[test] fn mutation_directive() { roundtrip("mutation_directive"); } +#[test] fn mutation_nameless_vars() { roundtrip("mutation_nameless_vars"); } #[test] fn subscription_directive() { roundtrip("subscription_directive"); } #[test] fn string_literal() { roundtrip("string_literal"); } #[test] fn triple_quoted_literal() { roundtrip("triple_quoted_literal"); }